/* Karaoke DJ guided event planner – intentionally isolated from the rental UI. */
.kco-dj-planner-app {
    --dj-ink: #121728;
    --dj-muted: #667085;
    --dj-line: #e7eaf1;
    --dj-soft: #f6f8fc;
    --dj-dark: #0d1120;
    --dj-radius: 28px;
    width: 100%;
    max-width: none !important;
    margin: 0 !important;
    color: var(--dj-ink);
    font-family: inherit;
    background: #fff;
}
.kco-dj-planner-app *, .kco-dj-planner-app *::before, .kco-dj-planner-app *::after { box-sizing: border-box; }
.kco-dj-planner-app button, .kco-dj-planner-app input, .kco-dj-planner-app select, .kco-dj-planner-app textarea { font: inherit; }
.kco-dj-planner-app button { cursor: pointer; }
.kco-dj-planner-app [hidden] { display: none !important; }
.kco-dj-shell { width: 100%; overflow: clip; background: #fff; }

/* Hero: service promise first, equipment second. */
.kco-dj-hero {
    position: relative;
    isolation: isolate;
    display: block;
    padding: clamp(72px, 8vw, 124px) max(24px, calc((100vw - 1240px) / 2)) clamp(64px, 7vw, 100px);
    color: #fff;
    background:
        radial-gradient(circle at 82% 25%, rgba(108,44,255,.38), transparent 30%),
        radial-gradient(circle at 15% 115%, rgba(41,130,255,.28), transparent 35%),
        linear-gradient(120deg, #0b1020 0%, #151b37 53%, #211752 100%);
}
.kco-dj-hero::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    opacity: .33;
    background-image: linear-gradient(rgba(255,255,255,.055) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.055) 1px, transparent 1px);
    background-size: 54px 54px;
    mask-image: linear-gradient(to bottom, black, transparent 85%);
}
.kco-dj-hero-title { width: 100%; }
.kco-dj-hero-copy { min-width: 0; max-width: none; }
.kco-dj-eyebrow, .kco-dj-result-kicker, .kco-dj-result-label, .kco-dj-advanced-head > div > span, .kco-dj-live-summary > span, .kco-dj-modal-head > span {
    display: inline-block;
    font-size: 12px;
    line-height: 1.2;
    font-weight: 850;
    letter-spacing: .14em;
    text-transform: uppercase;
}
.kco-dj-eyebrow { color: #b8c5ff; margin-bottom: 15px; }
.kco-dj-hero h1 {
    width: 100%;
    max-width: none;
    margin: 0;
    color: #fff;
    font-size: clamp(44px, 5vw, 72px);
    line-height: 1.01;
    letter-spacing: -.052em;
    font-weight: 850;
}
.kco-dj-hero h1 > span { display: block; white-space: nowrap; }
.kco-dj-hero-lower {
    display: grid;
    grid-template-columns: minmax(0, 1.2fr) minmax(330px, .8fr);
    gap: clamp(36px, 6vw, 88px);
    align-items: center;
    margin-top: clamp(34px, 4vw, 54px);
}
.kco-dj-hero-copy > p {
    max-width: 760px;
    margin: 0 0 28px;
    color: rgba(255,255,255,.78);
    font-size: clamp(17px, 1.55vw, 21px);
    line-height: 1.65;
}
.kco-dj-primary, .kco-dj-secondary {
    appearance: none;
    border: 0;
    border-radius: 15px;
    min-height: 52px;
    padding: 14px 20px;
    font-weight: 800;
    transition: transform .18s ease, box-shadow .18s ease, background .18s ease, border-color .18s ease;
}
.kco-dj-primary {
    color: #fff;
    background: linear-gradient(135deg, var(--kco-accent), var(--kco-accent-2));
    box-shadow: 0 14px 34px rgba(68,52,240,.25);
}
.kco-dj-primary:hover { transform: translateY(-2px); box-shadow: 0 18px 42px rgba(68,52,240,.32); }
.kco-dj-primary span { margin-left: 9px; }
.kco-dj-hero-cta { min-height: 58px; padding-inline: 25px; }
.kco-dj-service-line {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 9px;
    margin-top: 24px;
    color: rgba(255,255,255,.62);
    font-size: 13px;
    font-weight: 650;
}
.kco-dj-service-line i { color: rgba(255,255,255,.25); font-style: normal; }
.kco-dj-hero-note {
    display: flex;
    gap: 14px;
    align-items: flex-start;
    justify-self: end;
    width: fit-content;
    max-width: 470px;
    margin: 0;
    padding: 20px 22px;
    border: 1px solid rgba(255,255,255,.14);
    border-radius: 20px;
    background: rgba(255,255,255,.07);
    box-shadow: inset 0 1px rgba(255,255,255,.08);
    backdrop-filter: blur(10px);
}
.kco-dj-hero-note > span { display: grid; place-items: center; flex: 0 0 28px; width: 28px; height: 28px; border-radius: 50%; background: rgba(134,116,255,.25); color: #dcd7ff; font-weight: 900; }
.kco-dj-hero-note strong, .kco-dj-hero-note small { display: block; }
.kco-dj-hero-note strong { color: #fff; font-size: 15px; margin-bottom: 6px; }
.kco-dj-hero-note small { color: rgba(255,255,255,.67); line-height: 1.5; }

.kco-dj-empty-public { max-width: 1120px; margin: 50px auto; padding: 28px; border: 1px solid #e7eaf1; border-radius: 20px; background: #fafbff; }
.kco-dj-empty-public strong { font-size: 20px; }
.kco-dj-empty-public p { margin: 8px 0 0; color: var(--dj-muted); }

/* Planner – deliberately one flowing questionnaire, not a catalogue grid. */
.kco-dj-planner-panel {
    width: min(1160px, calc(100% - 40px));
    margin: clamp(52px, 6vw, 88px) auto 0;
    border: 1px solid var(--dj-line);
    border-radius: 30px;
    background: #fff;
    box-shadow: 0 24px 70px rgba(23,33,64,.08);
    overflow: hidden;
    scroll-margin-top: 30px;
}
.kco-dj-planner-intro { padding: clamp(28px, 4vw, 48px) clamp(24px, 5vw, 58px) 32px; background: linear-gradient(180deg, #fbfbff, #fff); }
.kco-dj-planner-intro > span { color: var(--kco-accent); font-size: 11px; font-weight: 850; letter-spacing: .14em; }
.kco-dj-planner-intro h2 { margin: 8px 0 8px; font-size: clamp(27px, 3.2vw, 40px); line-height: 1.1; letter-spacing: -.035em; }
.kco-dj-planner-intro p { max-width: 690px; margin: 0; color: var(--dj-muted); font-size: 15px; line-height: 1.65; }
.kco-dj-question { padding: clamp(28px, 3.6vw, 43px) clamp(24px, 5vw, 58px); border-top: 1px solid var(--dj-line); }

.kco-dj-capacity-warning {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    max-width: 860px;
    margin: 0 0 20px 49px;
    padding: 11px 14px;
    border: 1px solid #f3c7c4;
    border-left: 4px solid #d92d20;
    border-radius: 12px;
    background: #fff5f4;
    color: #3d4353;
    font-size: 12px;
    line-height: 1.5;
}
.kco-dj-capacity-warning strong {
    flex: 0 0 auto;
    color: #d92d20;
    font-size: 11px;
    font-weight: 900;
    letter-spacing: .06em;
}
.kco-dj-capacity-warning span { display: block; }
.kco-dj-question-copy { display: flex; gap: 15px; align-items: flex-start; margin-bottom: 20px; }
.kco-dj-question-copy > span {
    display: grid; place-items: center; flex: 0 0 34px; width: 34px; height: 34px;
    border-radius: 50%; color: var(--kco-accent); background: #f0efff; font-size: 11px; font-weight: 900;
}
.kco-dj-question-copy strong, .kco-dj-question-copy small { display: block; }
.kco-dj-question-copy strong { font-size: clamp(18px, 2vw, 23px); letter-spacing: -.02em; }
.kco-dj-question-copy small { margin-top: 5px; color: var(--dj-muted); line-height: 1.5; }
.kco-dj-choice-strip { display: flex; gap: 9px; flex-wrap: wrap; }
.kco-dj-choice-strip button {
    appearance: none;
    flex: 1 1 175px;
    min-width: 145px;
    min-height: 64px;
    padding: 13px 16px;
    text-align: left;
    border: 1px solid #dde1eb;
    border-radius: 14px;
    color: #2a3040;
    background: #fff;
    transition: border-color .16s ease, background .16s ease, box-shadow .16s ease, transform .16s ease;
}
.kco-dj-choice-strip button strong, .kco-dj-choice-strip button small { display: block; }
.kco-dj-choice-strip button strong { font-size: 14px; }
.kco-dj-choice-strip button small { margin-top: 4px; color: #7a8191; line-height: 1.35; }
.kco-dj-choice-strip button:hover { border-color: #b9b5ef; transform: translateY(-1px); }
.kco-dj-choice-strip button.is-active {
    border-color: color-mix(in srgb, var(--kco-accent) 72%, #fff);
    background: color-mix(in srgb, var(--kco-accent) 7%, #fff);
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--kco-accent) 8%, transparent);
}
.kco-dj-choice-strip button.is-active strong { color: var(--kco-accent); }
.kco-dj-choice-strip.is-compact button { min-height: 52px; flex-basis: 130px; text-align: center; }
.kco-dj-question-split { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(30px, 5vw, 70px); }
.kco-dj-question-split .kco-dj-question-copy { min-height: 59px; }

.kco-dj-time-row { display: flex; align-items: end; gap: 13px; max-width: 760px; }
.kco-dj-time-row label { flex: 1 1 185px; }
.kco-dj-time-row label > span { display: block; margin-bottom: 7px; color: #747b8c; font-size: 11px; font-weight: 800; text-transform: uppercase; letter-spacing: .08em; }
.kco-dj-time-row select {
    width: 100%; height: 53px; border: 1px solid #dce0e9; border-radius: 13px; padding: 0 14px; background: #fff; color: #202536; font-weight: 750;
}
.kco-dj-time-arrow { align-self: center; padding-top: 20px; color: #8e94a4; font-size: 22px; }
.kco-dj-duration-pill { flex: 0 0 145px; min-height: 53px; display: flex; flex-direction: column; justify-content: center; padding: 7px 14px; border-radius: 13px; background: #f4f5fb; }
.kco-dj-duration-pill small, .kco-dj-duration-pill strong { display: block; }
.kco-dj-duration-pill small { color: #8a91a2; font-size: 10px; text-transform: uppercase; font-weight: 800; }
.kco-dj-duration-pill strong { margin-top: 2px; font-size: 15px; }
.kco-dj-duration-pill.is-warning { background: #fff3e5; color: #a34d00; }

.kco-dj-service-choices { display: grid; gap: 9px; }
.kco-dj-service-choices button {
    position: relative; display: grid; grid-template-columns: 24px 1fr; gap: 14px; align-items: center;
    width: 100%; min-height: 75px; padding: 14px 18px; text-align: left; border: 1px solid #dfe3eb; border-radius: 15px; background: #fff; color: #242a3a;
}
.kco-dj-service-choices button:hover { border-color: #b8b4eb; }
.kco-dj-service-choices button.is-active { border-color: var(--kco-accent); background: color-mix(in srgb, var(--kco-accent) 5%, #fff); box-shadow: 0 0 0 3px color-mix(in srgb, var(--kco-accent) 7%, transparent); }
.kco-dj-service-choices button em { position: absolute; top: -9px; right: 15px; padding: 4px 8px; border-radius: 20px; color: #fff; background: var(--kco-accent); font-size: 9px; font-style: normal; font-weight: 900; letter-spacing: .08em; }
.kco-dj-radio { width: 20px; height: 20px; border: 2px solid #b9bfcc; border-radius: 50%; box-shadow: inset 0 0 0 4px #fff; }
.kco-dj-service-choices button.is-active .kco-dj-radio { border-color: var(--kco-accent); background: var(--kco-accent); }
.kco-dj-service-choices strong, .kco-dj-service-choices small { display: block; }
.kco-dj-service-choices strong { font-size: 15px; }
.kco-dj-service-choices small { margin-top: 4px; color: #737a8a; line-height: 1.45; }

/* Recommendation: one answer, not three competing packages. */
.kco-dj-result {
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) minmax(390px, .95fr);
    width: min(1240px, calc(100% - 40px));
    margin: clamp(62px, 7vw, 104px) auto;
    border-radius: 32px;
    overflow: hidden;
    background: #f5f7fb;
    border: 1px solid #e8ebf2;
    box-shadow: 0 24px 70px rgba(25,35,62,.08);
}
.kco-dj-result-visual { position: relative; min-height: 600px; display: flex; flex-direction: column; padding: 28px; background: linear-gradient(155deg, #edf1f9, #fbfcff); overflow: hidden; }
.kco-dj-result-visual::before { content: ""; position: absolute; width: 460px; height: 460px; left: -170px; top: 100px; border-radius: 50%; background: rgba(77,73,238,.08); filter: blur(3px); }
.kco-dj-result-label { position: relative; z-index: 3; color: #7c8495; }
.kco-dj-package-visuals { position: relative; flex: 1; min-height: 500px; display: grid; place-items: center; }
.kco-dj-package-visual, .kco-dj-dynamic-visual { position: absolute; inset: 8px 0 0; display: flex; align-items: center; justify-content: center; flex-direction: column; }
.kco-dj-package-cover { width: min(92%, 620px); height: min(420px, 75%); object-fit: contain; filter: drop-shadow(0 24px 22px rgba(27,36,63,.16)); }
.kco-dj-package-visual > .kco-package-visual, .kco-dj-package-visual > .kco-package-card-visual, .kco-dj-package-visual > [class*="kco-package"] { width: 96%; max-width: 620px; }
.kco-dj-package-logos { min-height: 34px; display: flex; flex-wrap: wrap; gap: 7px; align-items: center; justify-content: center; margin-top: 12px; }
.kco-dj-package-logos span { display: grid; place-items: center; min-width: 48px; height: 31px; padding: 3px 8px; border: 1px solid rgba(20,28,48,.08); border-radius: 8px; background: rgba(255,255,255,.88); }
.kco-dj-package-logos img { max-width: 72px; max-height: 23px; object-fit: contain; }
.kco-dj-dynamic-stage { min-height: 410px; width: 100%; display: flex; flex-wrap: wrap; align-items: end; justify-content: center; align-content: end; gap: 0; padding: 28px 10px 18px; }
.kco-dj-dynamic-item { display: grid; place-items: end center; width: var(--dj-item-size, 100px); max-width: 26%; margin-inline: -5px; }
.kco-dj-dynamic-item img { display: block; max-width: 100%; max-height: calc(var(--dj-item-size, 100px) * 1.4); object-fit: contain; filter: drop-shadow(0 14px 10px rgba(21,29,53,.16)); }
.kco-dj-dynamic-item.is-small { --dj-item-size: 72px !important; }
.kco-dj-dynamic-item.is-tall, .kco-dj-dynamic-item.is-backdrop, .kco-dj-dynamic-item.is-backdrop-l { align-self: stretch; place-items: end center; }

.kco-dj-result-copy { padding: clamp(38px, 5vw, 66px); background: #fff; }
.kco-dj-result-kicker { color: var(--kco-accent); margin-bottom: 11px; }
.kco-dj-result-copy h2 { margin: 0; font-size: clamp(31px, 4vw, 50px); line-height: 1.05; letter-spacing: -.045em; }
.kco-dj-result-subtitle { margin: 12px 0 20px; color: #626a7b; font-size: 16px; line-height: 1.6; }
.kco-dj-result-promise { display: flex; gap: 11px; padding: 15px; border-radius: 14px; background: #f6f6ff; }
.kco-dj-result-promise > span { display: grid; place-items: center; flex: 0 0 24px; height: 24px; border-radius: 50%; background: var(--kco-accent); color: #fff; font-size: 12px; font-weight: 900; }
.kco-dj-result-promise p { margin: 0; }
.kco-dj-result-promise strong, .kco-dj-result-promise small { display: block; }
.kco-dj-result-promise strong { font-size: 13px; }
.kco-dj-result-promise small { margin-top: 3px; color: #737a8b; line-height: 1.45; }
.kco-dj-event-summary { display: flex; flex-wrap: wrap; gap: 6px; margin: 18px 0; }
.kco-dj-event-summary span, .kco-dj-modal-summary-tags span { padding: 6px 9px; border: 1px solid #e2e5ed; border-radius: 999px; color: #596174; background: #fff; font-size: 11px; font-weight: 700; }
.kco-dj-equipment-list { padding: 16px 0 18px; border-top: 1px solid #eef0f5; border-bottom: 1px solid #eef0f5; }
.kco-dj-equipment-list > small { display: block; margin-bottom: 9px; color: #959baa; font-size: 9px; font-weight: 850; letter-spacing: .12em; }
.kco-dj-equipment-list > div { display: flex; flex-wrap: wrap; gap: 7px 14px; }
.kco-dj-equipment-list > div span { color: #41485a; font-size: 12px; }
.kco-dj-equipment-list > div b { color: var(--kco-accent); }
.kco-dj-price-box { margin-top: 20px; padding: 19px; border: 1px solid #e1e4ed; border-radius: 17px; background: #fcfcff; }
.kco-dj-price-box > div:first-child { display: flex; align-items: baseline; justify-content: space-between; gap: 15px; }
.kco-dj-price-box > div:first-child > span { color: #6d7484; font-size: 13px; font-weight: 750; }
.kco-dj-price-box > div:first-child strong { color: var(--dj-ink); font-size: clamp(25px, 3vw, 34px); line-height: 1; }
.kco-dj-price-box > p { margin: 11px 0 0; color: #858c9d; font-size: 10px; line-height: 1.5; }
.kco-dj-extension-rate { margin: 13px 18px 0; padding: 12px 14px; border: 1px solid #e4e2ff; border-radius: 13px; background: #f8f7ff; display: flex; align-items: center; justify-content: space-between; gap: 14px; }
.kco-dj-extension-rate > div { min-width: 0; }
.kco-dj-extension-rate > div small { display: block; margin-bottom: 2px; color: var(--kco-accent); font-size: 8px; font-weight: 900; letter-spacing: .12em; }
.kco-dj-extension-rate > div strong { display: block; color: #343a4b; font-size: 12px; }
.kco-dj-extension-value { flex: 0 0 auto; color: var(--dj-ink); font-size: 15px; white-space: nowrap; }
.kco-dj-extension-value .kco-dj-net { color: #8a90a0; font-size: 10px; }
.kco-dj-extension-value em { color: #777e8f; font-size: 10px; font-style: normal; font-weight: 700; }
.kco-dj-breakdown-toggle { appearance: none; border: 0; padding: 10px 0 0; color: var(--kco-accent); background: transparent; font-size: 11px; font-weight: 800; }
.kco-dj-breakdown-toggle span { display: inline-block; transition: transform .18s ease; }
.kco-dj-breakdown-toggle.is-open span { transform: rotate(180deg); }
.kco-dj-breakdown { margin-top: 10px; padding-top: 10px; border-top: 1px dashed #dfe2eb; }
.kco-dj-breakdown > div { display: flex; justify-content: space-between; gap: 15px; padding: 5px 0; color: #646c7d; font-size: 11px; }
.kco-dj-breakdown > div strong { color: #303647; white-space: nowrap; }
.kco-dj-breakdown p { color: #747b8c; font-size: 11px; line-height: 1.5; }
.kco-dj-result-actions { display: flex; flex-wrap: wrap; gap: 9px; margin-top: 16px; }
.kco-dj-result-actions .kco-dj-primary { flex: 1 1 230px; }
.kco-dj-secondary { flex: 0 1 auto; color: #373d4e; border: 1px solid #dce0e9; background: #fff; }
.kco-dj-secondary:hover { border-color: #aaa6df; background: #fafaff; }

/* Optional toolbox. */
.kco-dj-advanced {
    width: min(1160px, calc(100% - 40px));
    margin: -34px auto 78px;
    padding: clamp(28px, 4vw, 44px);
    border: 1px solid var(--dj-line);
    border-radius: 28px;
    background: #fbfcff;
    scroll-margin-top: 24px;
}
.kco-dj-advanced-head { display: flex; justify-content: space-between; align-items: end; gap: 25px; margin-bottom: 25px; }
.kco-dj-advanced-head > div > span, .kco-dj-live-summary > span { color: var(--kco-accent); }
.kco-dj-advanced-head h2 { margin: 6px 0 5px; font-size: clamp(24px, 3vw, 34px); letter-spacing: -.03em; }
.kco-dj-advanced-head p { max-width: 650px; margin: 0; color: #6c7485; line-height: 1.55; }
.kco-dj-reset { appearance: none; flex: 0 0 auto; padding: 10px 13px; border: 1px solid #d9dde7; border-radius: 11px; background: #fff; color: #42495a; font-size: 11px; font-weight: 800; }
.kco-dj-advanced-layout { display: grid; grid-template-columns: minmax(0, 1fr) 290px; gap: 22px; align-items: start; }
.kco-dj-toolbox { min-width: 0; }
.kco-dj-toolbox-toolbar { margin-bottom: 13px; }
.kco-dj-toolbox-toolbar > label { display: flex; align-items: center; gap: 9px; height: 46px; padding: 0 13px; border: 1px solid #dce0e9; border-radius: 12px; background: #fff; }
.kco-dj-toolbox-toolbar input { width: 100%; border: 0; outline: 0; background: transparent; }
.kco-dj-tool-filters { display: flex; gap: 6px; overflow-x: auto; margin-top: 9px; padding-bottom: 3px; scrollbar-width: thin; }
.kco-dj-tool-filters button { appearance: none; flex: 0 0 auto; padding: 7px 10px; border: 1px solid #dee2ea; border-radius: 999px; background: #fff; color: #697182; font-size: 10px; font-weight: 800; }
.kco-dj-tool-filters button.is-active { color: #fff; border-color: var(--kco-accent); background: var(--kco-accent); }
.kco-dj-tool-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; max-height: 520px; overflow-y: auto; padding-right: 4px; }
.kco-dj-tool { display: grid; grid-template-columns: 60px minmax(0,1fr) auto; gap: 10px; align-items: center; min-height: 78px; padding: 8px 10px; border: 1px solid #e2e5ec; border-radius: 13px; background: #fff; }
.kco-dj-tool.is-selected { border-color: #c1bdf2; background: #fbfaff; }
.kco-dj-tool-thumb { display: grid; place-items: center; width: 58px; height: 58px; border-radius: 10px; background: #f1f3f8; overflow: hidden; }
.kco-dj-tool-thumb img { width: 100%; height: 100%; object-fit: contain; padding: 4px; }
.kco-dj-tool-copy { min-width: 0; }
.kco-dj-tool-copy small, .kco-dj-tool-copy strong, .kco-dj-tool-copy em { display: block; }
.kco-dj-tool-copy small { color: #969cab; font-size: 8px; font-weight: 800; text-transform: uppercase; }
.kco-dj-tool-copy strong { margin-top: 2px; overflow: hidden; color: #313748; font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
.kco-dj-tool-copy em { margin-top: 3px; color: var(--kco-accent); font-size: 10px; font-style: normal; font-weight: 800; }
.kco-dj-tool-qty { display: flex; align-items: center; gap: 5px; }
.kco-dj-tool-qty button { appearance: none; display: grid; place-items: center; width: 27px; height: 27px; padding: 0; border: 1px solid #dce0e9; border-radius: 8px; background: #fff; color: #343a4c; font-weight: 900; }
.kco-dj-tool-qty button:hover { color: #fff; border-color: var(--kco-accent); background: var(--kco-accent); }
.kco-dj-tool-qty b { min-width: 17px; text-align: center; font-size: 11px; }
.kco-dj-live-summary { position: sticky; top: 24px; padding: 19px; border: 1px solid #e1e4ed; border-radius: 17px; background: #fff; }
.kco-dj-live-summary > div { margin: 11px 0 14px; }
.kco-dj-live-summary > div > div { display: flex; justify-content: space-between; gap: 8px; padding: 6px 0; border-bottom: 1px solid #f0f1f5; color: #596174; font-size: 10px; }
.kco-dj-live-summary > div > div strong { white-space: nowrap; }
.kco-dj-live-summary > strong { display: flex; align-items: baseline; justify-content: space-between; gap: 8px; color: #242a3b; font-size: 19px; }
.kco-dj-live-summary > strong small { color: #8c93a3; font-size: 9px; font-weight: 600; }
.kco-dj-live-summary p { color: #7a8292; font-size: 11px; }

.kco-dj-reassurance { width: min(900px, calc(100% - 40px)); margin: 84px auto 96px; text-align: center; }
.kco-dj-reassurance h2 { margin: 0; font-size: clamp(29px, 4vw, 46px); line-height: 1.08; letter-spacing: -.045em; }
.kco-dj-reassurance p { max-width: 760px; margin: 17px auto 0; color: #6b7384; font-size: 15px; line-height: 1.7; }

/* Quote modal */
html.kco-dj-modal-open { overflow: hidden; }
.kco-dj-modal { position: fixed; inset: 0; z-index: 999999; display: grid; place-items: center; padding: 20px; opacity: 0; transition: opacity .18s ease; }
.kco-dj-modal.is-open { opacity: 1; }
.kco-dj-modal-backdrop { position: absolute; inset: 0; background: rgba(8,11,24,.72); backdrop-filter: blur(5px); }
.kco-dj-modal-card { position: relative; z-index: 1; width: min(720px, 100%); max-height: calc(100vh - 40px); overflow: auto; padding: clamp(25px, 4vw, 40px); border-radius: 24px; background: #fff; box-shadow: 0 30px 100px rgba(0,0,0,.35); transform: translateY(10px) scale(.985); transition: transform .18s ease; }
.kco-dj-modal.is-open .kco-dj-modal-card { transform: none; }
.kco-dj-modal-close { appearance: none; position: absolute; right: 16px; top: 14px; display: grid; place-items: center; width: 37px; height: 37px; padding: 0; border: 1px solid #e0e3eb; border-radius: 50%; background: #fff; color: #596174; font-size: 25px; line-height: 1; }
.kco-dj-modal-head > span { color: var(--kco-accent); }
.kco-dj-modal-head h2 { margin: 7px 40px 6px 0; font-size: clamp(27px, 4vw, 38px); letter-spacing: -.035em; }
.kco-dj-modal-head p { margin: 0; color: #6d7485; line-height: 1.55; }
.kco-dj-modal-summary { margin: 20px 0; padding: 14px 16px; border: 1px solid #e2e5ed; border-radius: 14px; background: #f8f9fd; }
.kco-dj-modal-summary-main { display: flex; justify-content: space-between; gap: 15px; align-items: center; }
.kco-dj-modal-summary-main span { font-weight: 800; }
.kco-dj-modal-summary-main strong { color: var(--kco-accent); font-size: 20px; white-space: nowrap; }
.kco-dj-modal-summary-tags { display: flex; flex-wrap: wrap; gap: 5px; margin-top: 10px; }
.kco-dj-quote-form label { display: block; margin-bottom: 12px; }
.kco-dj-quote-form label > span { display: block; margin-bottom: 6px; color: #4f5668; font-size: 11px; font-weight: 800; }
.kco-dj-quote-form label > span small { color: #959baa; font-weight: 500; }
.kco-dj-quote-form input, .kco-dj-quote-form textarea { width: 100%; border: 1px solid #dce0e8; border-radius: 11px; padding: 11px 12px; color: #252b3b; background: #fff; outline: none; }
.kco-dj-quote-form input:focus, .kco-dj-quote-form textarea:focus { border-color: var(--kco-accent); box-shadow: 0 0 0 3px color-mix(in srgb, var(--kco-accent) 8%, transparent); }
.kco-dj-form-two { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.kco-dj-submit { width: 100%; margin-top: 2px; }
.kco-dj-form-status { min-height: 18px; margin-top: 10px; color: #6b7280; font-size: 12px; font-weight: 700; text-align: center; }
.kco-dj-form-status.is-success { color: #087f4a; }
.kco-dj-form-status.is-error { color: #b42318; }
.kco-dj-quote-form .kco-hp { position: absolute !important; left: -99999px !important; width: 1px !important; height: 1px !important; opacity: 0 !important; }
.kco-dj-cf7 .wpcf7 { margin-top: 8px; }

@media (max-width: 980px) {
    .kco-dj-hero { grid-template-columns: 1fr; gap: 28px; }
    .kco-dj-hero-note { max-width: 600px; }
    .kco-dj-result { grid-template-columns: 1fr; }
    .kco-dj-result-visual { min-height: 490px; }
    .kco-dj-package-visuals { min-height: 400px; }
    .kco-dj-package-cover { height: 350px; }
    .kco-dj-advanced-layout { grid-template-columns: 1fr; }
    .kco-dj-live-summary { position: static; }
}

@media (max-width: 720px) {
    .kco-dj-hero { padding-inline: 22px; padding-top: 68px; padding-bottom: 58px; }
    .kco-dj-hero h1 { font-size: clamp(39px, 12vw, 56px); }
    .kco-dj-service-line { gap: 6px; font-size: 11px; }
    .kco-dj-planner-panel, .kco-dj-result, .kco-dj-advanced { width: calc(100% - 24px); }
    .kco-dj-planner-panel { border-radius: 22px; }
    .kco-dj-planner-intro, .kco-dj-question { padding-inline: 20px; }
    .kco-dj-question-split { grid-template-columns: 1fr; gap: 28px; }
    .kco-dj-question-split .kco-dj-question-copy { min-height: 0; }
    .kco-dj-choice-strip { display: grid; grid-template-columns: 1fr 1fr; }
    .kco-dj-choice-strip button { min-width: 0; text-align: center; }
    .kco-dj-choice-strip:not(.is-compact) button { grid-column: span 2; text-align: left; }
    .kco-dj-time-row { display: grid; grid-template-columns: 1fr 32px 1fr; align-items: end; }
    .kco-dj-time-row label { min-width: 0; }
    .kco-dj-duration-pill { grid-column: 1 / -1; flex-basis: auto; text-align: center; }
    .kco-dj-time-arrow { padding: 0 0 14px; text-align: center; }
    .kco-dj-result { border-radius: 22px; margin-block: 55px; }
    .kco-dj-result-visual { min-height: 390px; padding: 20px; }
    .kco-dj-package-visuals { min-height: 320px; }
    .kco-dj-package-cover { height: 285px; }
    .kco-dj-dynamic-stage { min-height: 290px; padding-top: 20px; }
    .kco-dj-result-copy { padding: 27px 21px; }
    .kco-dj-result-copy h2 { font-size: 35px; }
    .kco-dj-price-box > div:first-child { align-items: flex-start; flex-direction: column; gap: 5px; }
    .kco-dj-result-actions { flex-direction: column; }
    .kco-dj-result-actions .kco-dj-primary, .kco-dj-secondary { flex-basis: auto; width: 100%; }
    .kco-dj-advanced { margin-top: -28px; padding: 22px 16px; border-radius: 20px; }
    .kco-dj-advanced-head { align-items: flex-start; flex-direction: column; }
    .kco-dj-tool-list { grid-template-columns: 1fr; max-height: none; }
    .kco-dj-tool { grid-template-columns: 54px minmax(0,1fr) auto; }
    .kco-dj-tool-thumb { width: 52px; height: 52px; }
    .kco-dj-reassurance { margin-block: 65px 70px; }
    .kco-dj-modal { padding: 10px; align-items: end; }
    .kco-dj-modal-card { width: 100%; max-height: calc(100vh - 20px); padding: 25px 18px 24px; border-radius: 22px 22px 15px 15px; }
    .kco-dj-form-two { grid-template-columns: 1fr; gap: 0; }
    .kco-dj-modal-summary-main { align-items: flex-start; flex-direction: column; gap: 4px; }
}

@media (max-width: 430px) {
    .kco-dj-choice-strip.is-compact { grid-template-columns: 1fr; }
    .kco-dj-choice-strip.is-compact button { grid-column: auto; }
    .kco-dj-time-row { grid-template-columns: 1fr 24px 1fr; gap: 6px; }
    .kco-dj-time-row select { padding-inline: 8px; font-size: 13px; }
}

/* 3.1.76 — compact, service-first recommendation + rental-identical montage. */
.kco-dj-planner-intro{position:relative;padding-right:150px}
.kco-dj-restart,.kco-dj-result-restart{
    appearance:none;border:0;background:transparent;color:#6661d9;font-weight:800;font-size:12px;padding:8px 0;
}
.kco-dj-restart{position:absolute;right:28px;top:28px}
.kco-dj-restart:hover,.kco-dj-result-restart:hover{color:var(--kco-accent)}

.kco-dj-result{
    grid-template-columns:minmax(330px,.82fr) minmax(0,1.18fr);
    width:min(1120px,calc(100% - 40px));
    margin:40px auto 68px;
    border-radius:24px;
    box-shadow:0 16px 46px rgba(25,35,62,.07);
    background:#fff;
    align-items:stretch;
}
.kco-dj-result-visual{
    min-height:0;
    padding:24px 22px 18px;
    background:#f5f6fa;
}
.kco-dj-result-visual::before{width:300px;height:300px;left:-130px;top:50px;opacity:.7}
.kco-dj-package-visuals{
    flex:0 0 auto;
    min-height:0;
    height:390px;
    margin-top:6px;
    display:block;
}
.kco-dj-package-visual,.kco-dj-dynamic-visual{
    inset:0;
    align-items:stretch;
    justify-content:flex-start;
}
.kco-dj-rental-scene{
    width:100%!important;
    height:330px!important;
    min-height:330px!important;
    padding:0!important;
    background:transparent!important;
    overflow:hidden!important;
}
.kco-dj-package-cover{
    width:100%;
    height:330px;
    max-width:100%;
    object-fit:contain;
    padding:10px;
}
.kco-dj-package-logos{margin-top:8px;min-height:30px}
.kco-dj-package-logos span{min-width:44px;height:28px;padding:2px 7px}
.kco-dj-package-logos img{max-width:64px;max-height:20px}

/* The dynamic editor now uses the exact same logical package montage classes
   as the rental cards, so small microphones/lights stay small beside TV/stands. */
.kco-dj-dynamic-stage{display:block!important;width:100%!important;min-height:0!important;padding:.55%!important}
.kco-dj-dynamic-item{display:none!important}

.kco-dj-result-copy{padding:30px 34px 32px}
.kco-dj-result-copy h2{font-size:clamp(30px,3vw,43px)}
.kco-dj-result-subtitle{margin:8px 0 14px;line-height:1.45}
.kco-dj-result-promise{padding:12px 13px}
.kco-dj-event-summary{margin:14px 0}
.kco-dj-equipment-list{padding:13px 0 14px}
.kco-dj-price-box{margin-top:15px;padding:16px 17px}
.kco-dj-result-actions{margin-top:13px;align-items:center}
.kco-dj-result-restart{margin-left:auto;padding-inline:6px}

@media (max-width:980px){
    .kco-dj-result{grid-template-columns:1fr;width:min(760px,calc(100% - 32px))}
    .kco-dj-result-visual{min-height:0}
    .kco-dj-package-visuals{height:380px}
    .kco-dj-rental-scene,.kco-dj-package-cover{height:320px!important;min-height:320px!important}
}
@media (max-width:720px){
    .kco-dj-planner-intro{padding-right:20px;padding-top:62px}
    .kco-dj-restart{right:20px;top:20px}
    .kco-dj-result{margin-block:34px 48px}
    .kco-dj-result-visual{padding:18px 16px 12px}
    .kco-dj-package-visuals{height:300px;min-height:0}
    .kco-dj-rental-scene,.kco-dj-package-cover{height:250px!important;min-height:250px!important}
    .kco-dj-result-copy{padding:24px 20px}
    .kco-dj-result-actions{gap:7px}
    .kco-dj-result-restart{width:100%;margin:0;text-align:center}
}

/* 3.1.76 refinement: the recommendation is not one oversized card. The visual
   and the service summary are two balanced blocks, so a taller text column can
   never create a giant empty image column. */
.kco-dj-result{
    gap:28px;
    align-items:start;
    overflow:visible;
    border:0;
    background:transparent;
    box-shadow:none;
}
.kco-dj-result-visual{
    border:1px solid #e5e8ef;
    border-radius:22px;
    box-shadow:0 12px 34px rgba(25,35,62,.06);
}
.kco-dj-result-copy{
    border:1px solid #edf0f5;
    border-radius:22px;
    box-shadow:0 10px 30px rgba(25,35,62,.045);
}
@media(max-width:980px){.kco-dj-result{gap:14px}}


/* 3.1.78 — single-question animated DJ wizard + compact recommendation layout. */
.kco-dj-planner-panel[hidden],
.kco-dj-result[hidden],
.kco-dj-advanced[hidden],
.kco-dj-modal[hidden],
.kco-dj-question[hidden] { display: none !important; }

/* Hero: one clear promise, centered. */
.kco-dj-hero {
    display: block;
    padding: clamp(70px, 8vw, 116px) max(24px, calc((100vw - 1240px) / 2)) clamp(62px, 7vw, 92px);
    text-align: center;
}
.kco-dj-hero-copy { max-width: 980px; margin: 0 auto; }
.kco-dj-hero h1 { max-width: none; margin-inline: auto; }
.kco-dj-hero h1 > span { display: block; }
.kco-dj-hero-copy > p { max-width: 790px; margin: 24px auto 30px; }
.kco-dj-service-line { justify-content: center; }
.kco-dj-hero-note { display: none; }

/* Wizard shell. */
.kco-dj-planner-panel {
    width: min(930px, calc(100% - 40px));
    margin: clamp(46px, 6vw, 76px) auto 0;
    border-radius: 26px;
    overflow: hidden;
}
.kco-dj-wizard-head {
    display: grid;
    grid-template-columns: minmax(0,1fr) auto;
    gap: 14px 24px;
    align-items: end;
    padding: 24px clamp(24px, 5vw, 46px) 20px;
    border-bottom: 1px solid var(--dj-line);
    background: linear-gradient(180deg, #fbfbff, #fff);
}
.kco-dj-wizard-head-copy > span {
    display: block;
    margin-bottom: 4px;
    color: var(--kco-accent);
    font-size: 10px;
    line-height: 1.2;
    font-weight: 900;
    letter-spacing: .14em;
}
.kco-dj-wizard-head-copy > strong {
    display: block;
    color: #272d3e;
    font-size: 17px;
    line-height: 1.25;
    letter-spacing: -.01em;
}
.kco-dj-wizard-count {
    display: flex;
    align-items: baseline;
    gap: 4px;
    color: #9aa0af;
    font-size: 13px;
    font-weight: 800;
}
.kco-dj-wizard-count b { color: var(--kco-accent); font-size: 22px; }
.kco-dj-wizard-count em { font-style: normal; }
.kco-dj-progress-track {
    grid-column: 1 / -1;
    height: 6px;
    overflow: hidden;
    border-radius: 999px;
    background: #eceef5;
}
.kco-dj-progress-track > i {
    display: block;
    width: 16.666%;
    height: 100%;
    border-radius: inherit;
    background: linear-gradient(90deg, var(--kco-accent), var(--kco-accent-2));
    box-shadow: 0 0 16px color-mix(in srgb, var(--kco-accent) 25%, transparent);
    transition: width .38s cubic-bezier(.2,.75,.25,1);
}

.kco-dj-question {
    min-height: 360px;
    padding: clamp(34px, 5vw, 54px) clamp(24px, 6vw, 58px) 30px;
    border-top: 0;
    background: #fff;
}
.kco-dj-question.is-entering { animation: kcoDjStepIn .34s cubic-bezier(.2,.78,.22,1) both; }
.kco-dj-question.is-entering-back { animation: kcoDjStepBack .34s cubic-bezier(.2,.78,.22,1) both; }
@keyframes kcoDjStepIn {
    from { opacity: 0; transform: translateX(24px); }
    to { opacity: 1; transform: translateX(0); }
}
@keyframes kcoDjStepBack {
    from { opacity: 0; transform: translateX(-24px); }
    to { opacity: 1; transform: translateX(0); }
}
.kco-dj-question-copy { max-width: 760px; margin-bottom: 24px; }
.kco-dj-question-copy strong { font-size: clamp(22px, 2.7vw, 30px); }
.kco-dj-question-copy small { max-width: 680px; font-size: 13px; }
.kco-dj-choice-strip { gap: 10px; }
.kco-dj-choice-strip button {
    min-height: 72px;
    border-radius: 15px;
    transition: transform .18s ease, border-color .18s ease, background .18s ease, box-shadow .18s ease;
}
.kco-dj-choice-strip.is-compact button { min-height: 60px; }
.kco-dj-choice-strip button:hover,
.kco-dj-service-choices button:hover { transform: translateY(-2px); }
.kco-dj-choice-strip button.is-active,
.kco-dj-service-choices button.is-active {
    box-shadow: 0 8px 24px color-mix(in srgb, var(--kco-accent) 12%, transparent), 0 0 0 3px color-mix(in srgb, var(--kco-accent) 7%, transparent);
}
.kco-dj-step-hint {
    margin: 18px 0 0 49px;
    color: #9298a8;
    font-size: 11px;
}
.kco-dj-step-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin-top: 26px;
    padding-top: 20px;
    border-top: 1px solid #f0f1f5;
}
.kco-dj-step-footer > span {
    margin-left: auto;
    color: #969cac;
    font-size: 11px;
    text-align: right;
}
.kco-dj-step-back,
.kco-dj-step-next {
    appearance: none;
    min-height: 43px;
    padding: 9px 14px;
    border-radius: 11px;
    font-size: 12px;
    font-weight: 850;
    transition: transform .18s ease, border-color .18s ease, background .18s ease, box-shadow .18s ease;
}
.kco-dj-step-back {
    border: 1px solid #dfe3ec;
    background: #fff;
    color: #555d6e;
}
.kco-dj-step-back:hover { border-color: #b8b4eb; color: var(--kco-accent); background: #fbfaff; }
.kco-dj-step-next {
    margin-left: auto;
    border: 0;
    color: #fff;
    background: linear-gradient(135deg, var(--kco-accent), var(--kco-accent-2));
    box-shadow: 0 10px 24px rgba(68,52,240,.18);
}
.kco-dj-step-next:hover { transform: translateY(-1px); box-shadow: 0 13px 30px rgba(68,52,240,.24); }
.kco-dj-time-row { max-width: 100%; }

/* Result: toolbar truly spans both columns; visual and summary start on the same row. */
.kco-dj-result {
    display: grid !important;
    grid-template-columns: minmax(330px, .86fr) minmax(0, 1.14fr) !important;
    grid-template-areas:
        "toolbar toolbar"
        "visual copy";
    gap: 16px 22px !important;
    width: min(1120px, calc(100% - 40px));
    margin: 40px auto 68px;
    align-items: start;
    overflow: visible;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    scroll-margin-top: 28px;
}
.kco-dj-result-toolbar {
    grid-area: toolbar;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    min-height: 44px;
    margin: 0;
    padding: 0 2px;
}
.kco-dj-result-visual {
    grid-area: visual;
    min-height: 0;
    padding: 24px 22px 18px;
    border: 1px solid #e5e8ef;
    border-radius: 22px;
    background: #f5f6fa;
    box-shadow: 0 12px 34px rgba(25,35,62,.06);
}
.kco-dj-result-copy {
    grid-area: copy;
    padding: 30px 34px 32px;
    border: 1px solid #edf0f5;
    border-radius: 22px;
    background: #fff;
    box-shadow: 0 10px 30px rgba(25,35,62,.045);
}
.kco-dj-result-visual::before { width: 300px; height: 300px; left: -130px; top: 50px; opacity: .7; }
.kco-dj-package-visuals { flex: 0 0 auto; min-height: 0; height: 390px; margin-top: 6px; display: block; }
.kco-dj-package-visual, .kco-dj-dynamic-visual { inset: 0; align-items: stretch; justify-content: flex-start; }
.kco-dj-rental-scene { width: 100% !important; height: 330px !important; min-height: 330px !important; padding: 0 !important; background: transparent !important; overflow: hidden !important; }
.kco-dj-package-cover { width: 100%; height: 330px; max-width: 100%; object-fit: contain; padding: 10px; }
.kco-dj-package-logos { margin-top: 8px; min-height: 30px; }
.kco-dj-package-logos span { min-width: 44px; height: 28px; padding: 2px 7px; }
.kco-dj-package-logos img { max-width: 64px; max-height: 20px; }
.kco-dj-dynamic-stage { display: block !important; width: 100% !important; min-height: 0 !important; padding: .55% !important; }
.kco-dj-dynamic-item { display: none !important; }
.kco-dj-edit-selection,
.kco-dj-new-calculation {
    appearance: none;
    min-height: 42px;
    padding: 9px 14px;
    border-radius: 11px;
    font-size: 12px;
    font-weight: 850;
    cursor: pointer;
    transition: .18s ease;
}
.kco-dj-edit-selection { border: 1px solid #dfe3ec; background: #fff; color: #42495a; }
.kco-dj-edit-selection:hover { border-color: #b6b2ec; color: var(--kco-accent); background: #fbfaff; }
.kco-dj-new-calculation {
    border: 1px solid color-mix(in srgb,var(--kco-accent) 35%,#dfe3ec);
    background: color-mix(in srgb,var(--kco-accent) 7%,#fff);
    color: var(--kco-accent);
    box-shadow: 0 7px 18px rgba(59,51,220,.08);
}
.kco-dj-new-calculation:hover { transform: translateY(-1px); background: color-mix(in srgb,var(--kco-accent) 11%,#fff); }

@media (max-width: 980px) {
    .kco-dj-result {
        grid-template-columns: 1fr !important;
        grid-template-areas: "toolbar" "visual" "copy";
        width: min(760px, calc(100% - 32px));
        gap: 14px !important;
    }
    .kco-dj-package-visuals { height: 380px; }
    .kco-dj-rental-scene, .kco-dj-package-cover { height: 320px !important; min-height: 320px !important; }
}
@media (max-width: 720px) {
    .kco-dj-hero { padding-inline: 22px; padding-top: 64px; padding-bottom: 54px; }
    .kco-dj-hero h1 { font-size: clamp(38px, 11vw, 54px); }
    .kco-dj-planner-panel { width: calc(100% - 24px); border-radius: 22px; }
    .kco-dj-wizard-head { padding: 20px 20px 17px; }
    .kco-dj-question { min-height: 0; padding: 30px 20px 24px; }
    .kco-dj-question-copy { margin-bottom: 20px; }
    .kco-dj-step-hint { margin-left: 0; }
    .kco-dj-step-footer { align-items: stretch; flex-direction: column; }
    .kco-dj-step-footer > span { margin-left: 0; text-align: left; }
    .kco-dj-step-back, .kco-dj-step-next { width: 100%; margin-left: 0; }
    .kco-dj-result { margin-block: 34px 48px; }
    .kco-dj-result-toolbar { flex-direction: column-reverse; align-items: stretch; }
    .kco-dj-edit-selection, .kco-dj-new-calculation { width: 100%; text-align: center; }
    .kco-dj-result-visual { padding: 18px 16px 12px; }
    .kco-dj-package-visuals { height: 300px; }
    .kco-dj-rental-scene, .kco-dj-package-cover { height: 250px !important; min-height: 250px !important; }
    .kco-dj-result-copy { padding: 24px 20px; }
}
@media (prefers-reduced-motion: reduce) {
    .kco-dj-question.is-entering,
    .kco-dj-question.is-entering-back { animation: none !important; }
    .kco-dj-progress-track > i { transition: none; }
}


/* 3.1.79 — service hero restored + compact inline recommendation visual.
   The rental workspace is untouched. DJ package montages now sit in the exact
   same 680:410 logical viewport used by rental ready-package cards. */
@media (min-width:981px){
  .kco-dj-hero{
    grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr)!important;
    gap:clamp(34px,6vw,90px)!important;
    align-items:end!important;
    text-align:left!important;
  }
  .kco-dj-hero-copy{max-width:820px!important;margin:0!important;text-align:left!important}
  .kco-dj-hero h1{max-width:880px!important;margin:0!important;text-align:left!important}
  .kco-dj-hero-copy>p{max-width:760px!important;margin:24px 0 30px!important;text-align:left!important}
  .kco-dj-hero-note{display:flex!important;max-width:none!important;margin-bottom:6px!important}
  .kco-dj-service-line{justify-content:flex-start!important}
}
.kco-dj-hero h1>span{display:block}
@media (max-width:980px){
  .kco-dj-hero{grid-template-columns:1fr!important;text-align:left!important}
  .kco-dj-hero-copy{max-width:820px!important;margin:0!important;text-align:left!important}
  .kco-dj-hero h1,.kco-dj-hero-copy>p{margin-left:0!important;margin-right:0!important;text-align:left!important}
  .kco-dj-hero-note{display:flex!important;max-width:620px!important}
  .kco-dj-service-line{justify-content:flex-start!important}
}

/* One recommendation card: the montage belongs to the recommendation itself,
   directly above “EZT VISSZÜK MAGUNKKAL”, instead of occupying a separate tall column. */
.kco-dj-result{
  display:grid!important;
  grid-template-columns:1fr!important;
  grid-template-areas:"toolbar" "copy"!important;
  width:min(920px,calc(100% - 40px))!important;
  gap:12px!important;
  margin:36px auto 64px!important;
  align-items:start!important;
}
.kco-dj-result-toolbar{grid-area:toolbar!important}
.kco-dj-result-copy{
  grid-area:copy!important;
  padding:clamp(26px,4vw,40px)!important;
  border:1px solid #e8ebf1!important;
  border-radius:24px!important;
  background:#fff!important;
  box-shadow:0 16px 44px rgba(25,35,62,.06)!important;
}
.kco-dj-result-visual{
  position:relative!important;
  min-height:0!important;
  margin:16px 0 10px!important;
  padding:15px 16px 12px!important;
  border:1px solid #e5e8ef!important;
  border-radius:18px!important;
  background:#f5f6fa!important;
  box-shadow:none!important;
  overflow:hidden!important;
}
.kco-dj-result-visual::before{
  width:220px!important;height:220px!important;left:-105px!important;top:12px!important;opacity:.55!important
}
.kco-dj-result-label{display:block!important;margin-bottom:8px!important}
.kco-dj-package-visuals{
  position:relative!important;
  display:block!important;
  flex:0 0 auto!important;
  height:auto!important;
  min-height:0!important;
  margin:0!important;
}
.kco-dj-package-visual,.kco-dj-dynamic-visual{
  position:relative!important;
  inset:auto!important;
  width:100%!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:flex-start!important;
}
.kco-dj-package-visual[hidden],.kco-dj-dynamic-visual[hidden]{display:none!important}

/* The actual equipment stage uses the rental card's 680:410 physical aspect.
   No fixed 330/390px DJ canvas: that was the source of the large empty upper band
   and the changed apparent proportions. */
.kco-dj-rental-scene{
  position:relative!important;
  width:min(100%,560px)!important;
  height:auto!important;
  min-height:0!important;
  aspect-ratio:680 / 410!important;
  margin:0 auto!important;
  padding:0!important;
  background:transparent!important;
  overflow:hidden!important;
}
.kco-dj-package-cover{
  display:block!important;
  width:min(100%,560px)!important;
  height:auto!important;
  aspect-ratio:680 / 410!important;
  margin:0 auto!important;
  padding:4px!important;
  object-fit:contain!important;
}
.kco-dj-package-logos{
  display:flex!important;
  flex-wrap:wrap!important;
  justify-content:center!important;
  align-items:center!important;
  gap:6px!important;
  min-height:0!important;
  margin:5px 0 0!important;
}
.kco-dj-package-logos span{min-width:40px!important;height:26px!important;padding:2px 6px!important}
.kco-dj-package-logos img{max-width:58px!important;max-height:18px!important}
.kco-dj-equipment-list{padding-top:12px!important;margin-top:0!important;border-top:0!important}

/* Do not introduce DJ-only item geometry. The children are intentionally left to
   frontend.css, which is the same rental montage engine/classes and role sizing. */
.kco-dj-dynamic-stage{min-height:0!important}

@media (max-width:720px){
  .kco-dj-result{width:calc(100% - 24px)!important;margin:28px auto 46px!important}
  .kco-dj-result-copy{padding:22px 18px!important;border-radius:20px!important}
  .kco-dj-result-visual{margin:14px 0 8px!important;padding:13px 10px 10px!important}
  .kco-dj-rental-scene,.kco-dj-package-cover{width:min(100%,500px)!important}
}

/* 3.1.80 — restore the premium two-column hero and use the rental card's
   actual montage context inside the DJ recommendation. Rental CSS/JS is not
   changed: the DJ preview now opts into those same package-card selectors. */
@media (min-width:981px){
  .kco-dj-hero{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto!important;
    gap:clamp(34px,5vw,72px)!important;
    align-items:end!important;
    text-align:left!important;
  }
  .kco-dj-hero-copy{
    width:100%!important;
    max-width:820px!important;
    margin:0!important;
    text-align:left!important;
  }
  .kco-dj-hero h1{
    max-width:880px!important;
    margin:0!important;
    text-align:left!important;
  }
  .kco-dj-hero-copy>p{
    max-width:760px!important;
    margin:24px 0 30px!important;
    text-align:left!important;
  }
  .kco-dj-service-line{justify-content:flex-start!important}
  .kco-dj-hero-note{
    display:flex!important;
    width:max-content!important;
    max-width:430px!important;
    min-width:0!important;
    justify-self:end!important;
    align-self:end!important;
    margin:0 0 6px!important;
  }
}
@media (max-width:980px){
  .kco-dj-hero{
    display:grid!important;
    grid-template-columns:1fr!important;
    text-align:left!important;
  }
  .kco-dj-hero-copy,
  .kco-dj-hero h1,
  .kco-dj-hero-copy>p{margin-left:0!important;margin-right:0!important;text-align:left!important}
  .kco-dj-service-line{justify-content:flex-start!important}
  .kco-dj-hero-note{
    display:flex!important;
    width:max-content!important;
    max-width:min(100%,430px)!important;
    justify-self:start!important;
  }
}

/* Compact recommendation: no giant decorative canvas. The generated equipment
   scene is rendered inside the very same .kco-package-card > .kco-package-visual
   DOM context as a rental ready-package card, so role sizing (small/medium/wide,
   pairs, backdrops, overlap and floor anchoring) is inherited unchanged. */
.kco-dj-result-visual{
  margin:15px 0 6px!important;
  padding:14px 14px 10px!important;
  min-height:0!important;
  border:1px solid #e7eaf1!important;
  border-radius:17px!important;
  background:#f5f6fa!important;
  overflow:hidden!important;
}
.kco-dj-result-visual::before{display:none!important}
.kco-dj-result-label{margin:0 0 7px 3px!important}
.kco-dj-package-visuals{
  display:block!important;
  position:relative!important;
  min-height:0!important;
  height:auto!important;
  margin:0!important;
}
.kco-dj-package-visual,
.kco-dj-dynamic-visual{
  position:relative!important;
  inset:auto!important;
  display:block!important;
  width:100%!important;
  min-height:0!important;
}
.kco-dj-package-visual[hidden],
.kco-dj-dynamic-visual[hidden]{display:none!important}
.kco-dj-montage-card{
  display:block!important;
  width:min(100%,520px)!important;
  min-height:0!important;
  height:auto!important;
  margin:0 auto!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  overflow:visible!important;
  transform:none!important;
}
.kco-dj-montage-card:hover{transform:none!important;box-shadow:none!important}
.kco-app .kco-dj-montage-card .kco-package-visual,
.kco-app .kco-dj-montage-card.is-expanded .kco-package-visual{
  display:grid!important;
  place-items:center!important;
  width:100%!important;
  height:258px!important;
  min-height:258px!important;
  max-height:258px!important;
  padding:2px!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  overflow:hidden!important;
}
.kco-dj-montage-card .kco-package-visual .kco-package-layout-auto{
  /* frontend.js keeps the exact shared 680:410 logical scene inside this pane. */
  max-height:100%!important;
}
.kco-dj-rental-brand-stack,
.kco-app .kco-dj-montage-card .kco-package-brand-stack,
.kco-app .kco-dj-montage-card .kco-package-brand-stack.bottom-left,
.kco-app .kco-dj-montage-card .kco-package-brand-stack.bottom-right{
  left:50%!important;
  right:auto!important;
  top:auto!important;
  bottom:3px!important;
  width:max-content!important;
  max-width:92%!important;
  transform:translateX(-50%)!important;
  flex-direction:row!important;
  flex-wrap:nowrap!important;
  justify-content:center!important;
  gap:5px!important;
}
.kco-app .kco-dj-montage-card .kco-package-brand-logo{
  max-width:56px!important;
  max-height:25px!important;
}
.kco-app .kco-dj-montage-card .kco-package-brand-logo img{
  max-width:56px!important;
  max-height:22px!important;
}
.kco-dj-package-cover{
  display:block!important;
  width:100%!important;
  height:100%!important;
  max-width:100%!important;
  max-height:100%!important;
  object-fit:contain!important;
  padding:4px 4px 31px!important;
}
.kco-dj-equipment-list{
  margin-top:0!important;
  padding-top:10px!important;
}
@media (max-width:720px){
  .kco-app .kco-dj-montage-card .kco-package-visual,
  .kco-app .kco-dj-montage-card.is-expanded .kco-package-visual{
    height:250px!important;
    min-height:250px!important;
    max-height:250px!important;
  }
  .kco-dj-result-visual{padding:12px 9px 8px!important}
}

/* 3.1.81 — hero-only correction requested: exactly two desktop title lines,
   then the explanatory copy and the "no technical choice" note side-by-side. */
.kco-dj-hero{
  display:block!important;
  text-align:left!important;
}
.kco-dj-hero-title{
  display:block!important;
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  text-align:left!important;
}
.kco-dj-hero h1{
  display:block!important;
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  text-align:left!important;
}
.kco-dj-hero-lower{
  display:grid!important;
  grid-template-columns:minmax(0,1.25fr) minmax(330px,.75fr)!important;
  gap:clamp(34px,5vw,72px)!important;
  align-items:start!important;
  width:100%!important;
  margin-top:clamp(32px,3.8vw,50px)!important;
}
.kco-dj-hero-copy{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  text-align:left!important;
}
.kco-dj-hero-copy>p{
  max-width:760px!important;
  margin:0 0 28px!important;
  text-align:left!important;
}
.kco-dj-service-line{justify-content:flex-start!important}
.kco-dj-hero-note{
  display:flex!important;
  width:fit-content!important;
  max-width:470px!important;
  min-width:0!important;
  margin:0!important;
  justify-self:end!important;
  align-self:start!important;
}
@media (min-width:981px){
  .kco-dj-hero h1{
    font-size:clamp(52px,5.35vw,72px)!important;
    line-height:1.01!important;
  }
  .kco-dj-hero h1>span{
    display:block!important;
    width:max-content!important;
    max-width:100%!important;
    white-space:nowrap!important;
  }
}
@media (max-width:980px){
  .kco-dj-hero-lower{
    grid-template-columns:1fr!important;
    gap:26px!important;
  }
  .kco-dj-hero-note{
    justify-self:start!important;
    max-width:min(100%,470px)!important;
  }
}
@media (max-width:720px){
  .kco-dj-hero h1>span{
    width:auto!important;
    max-width:none!important;
    white-space:normal!important;
  }
}

/* 3.1.82 — desktop hero lower row: compact promise card on the left,
   explanatory copy/CTA/service line on the right. The title remains untouched. */
@media (min-width:981px){
  .kco-dj-hero-lower{
    grid-template-columns:minmax(330px,430px) minmax(0,1fr)!important;
    gap:clamp(42px,5vw,76px)!important;
    align-items:start!important;
  }
  .kco-dj-hero-note{
    grid-column:1!important;
    grid-row:1!important;
    justify-self:start!important;
    align-self:start!important;
    width:fit-content!important;
    max-width:430px!important;
    margin:0!important;
  }
  .kco-dj-hero-copy{
    grid-column:2!important;
    grid-row:1!important;
    justify-self:end!important;
    width:100%!important;
    max-width:650px!important;
    margin:0!important;
    text-align:left!important;
  }
  .kco-dj-hero-copy>p{
    max-width:650px!important;
    margin:0 0 22px!important;
    font-size:clamp(16px,1.25vw,18px)!important;
    line-height:1.58!important;
  }
  .kco-dj-hero-cta{
    min-height:54px!important;
    padding:13px 22px!important;
    font-size:15px!important;
  }
  .kco-dj-service-line{
    margin-top:20px!important;
    gap:8px!important;
    font-size:12px!important;
    justify-content:flex-start!important;
  }
}

/* 3.1.83 — denser DJ recommendation + secondary package discovery.
   The recommendation stays the primary decision. Other packages are hidden
   behind one calm secondary action so the guided sales flow is not diluted. */
.kco-dj-montage-card{
  width:100%!important;
  max-width:none!important;
}
.kco-app .kco-dj-montage-card .kco-package-visual,
.kco-app .kco-dj-montage-card.is-expanded .kco-package-visual{
  height:286px!important;
  min-height:286px!important;
  max-height:286px!important;
}
.kco-dj-result-visual{
  padding:12px 12px 8px!important;
}
.kco-dj-result-label{margin-bottom:3px!important}
.kco-dj-result-video{
  text-decoration:none!important;
  display:inline-flex;
  align-items:center;
  justify-content:center;
}
.kco-dj-result-video[hidden]{display:none!important}

.kco-dj-other-packages{margin-top:13px;padding-top:13px;border-top:1px solid #eef0f5}
.kco-dj-other-packages-toggle{
  appearance:none;border:0;background:transparent;padding:5px 0;color:#5550d9;
  font-size:12px;font-weight:850;cursor:pointer;display:inline-flex;align-items:center;gap:7px
}
.kco-dj-other-packages-toggle span{display:inline-block;transition:transform .2s ease}
.kco-dj-other-packages-toggle.is-open span{transform:rotate(180deg)}
.kco-dj-other-packages-panel{margin-top:12px;padding:14px;border:1px solid #e4e6ef;border-radius:16px;background:#fafaff}
.kco-dj-other-packages-intro{display:flex;flex-direction:column;gap:3px;margin-bottom:11px}
.kco-dj-other-packages-intro strong{font-size:12px;color:#2f3546}
.kco-dj-other-packages-intro span{font-size:11px;line-height:1.45;color:#777e8e}
.kco-dj-other-packages-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.kco-dj-other-package{
  appearance:none;text-align:left;min-width:0;padding:12px 13px;border:1px solid #e1e4ed;border-radius:13px;
  background:#fff;color:#2f3546;cursor:pointer;transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease
}
.kco-dj-other-package:hover{border-color:#bbb7ed;box-shadow:0 8px 18px rgba(42,38,110,.07);transform:translateY(-1px)}
.kco-dj-other-package.is-current{border-color:#8c87ef;box-shadow:0 0 0 2px rgba(74,67,226,.08)}
.kco-dj-other-package small{display:block;min-height:14px;margin-bottom:4px;color:#8d93a2;font-size:8px;font-weight:900;letter-spacing:.11em}
.kco-dj-other-package.is-recommended small{color:var(--kco-accent)}
.kco-dj-other-package strong{display:block;font-size:15px;line-height:1.2}
.kco-dj-other-package>span{display:block;margin-top:4px;color:#72798a;font-size:10px;line-height:1.4}
.kco-dj-other-package em{display:block;margin-top:9px;color:var(--kco-accent);font-size:10px;font-style:normal;font-weight:850}
.kco-dj-other-package em b{font-size:12px}

@media(max-width:720px){
  .kco-app .kco-dj-montage-card .kco-package-visual,
  .kco-app .kco-dj-montage-card.is-expanded .kco-package-visual{
    height:238px!important;min-height:238px!important;max-height:238px!important;
  }
  .kco-dj-other-packages-grid{grid-template-columns:1fr}
}

/* 3.1.84 montage retained — 3.1.86 only adds alternative-price UX. */
.kco-app .kco-dj-montage-card .kco-package-visual,
.kco-app .kco-dj-montage-card.is-expanded .kco-package-visual{
  height:300px!important;
  min-height:300px!important;
  max-height:300px!important;
  padding:0!important;
}
.kco-dj-result-visual{
  padding:10px 10px 7px!important;
}
.kco-dj-result-label{
  margin:0 0 1px 2px!important;
}
.kco-dj-other-packages{
  margin-top:16px!important;
  padding-top:0!important;
  border-top:0!important;
}
.kco-dj-other-packages-callout{
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  gap:13px;
  align-items:center;
  padding:15px 16px;
  border:1px solid color-mix(in srgb,var(--kco-accent) 18%,#dfe3ef);
  border-radius:17px;
  background:linear-gradient(135deg,color-mix(in srgb,var(--kco-accent) 7%,#fff),#fff 72%);
  box-shadow:0 9px 24px rgba(38,39,91,.055);
}
.kco-dj-other-packages-mark{
  width:32px;height:32px;border-radius:50%;display:grid;place-items:center;
  background:var(--kco-accent);color:#fff;font-size:15px;font-weight:900;
  box-shadow:0 7px 17px color-mix(in srgb,var(--kco-accent) 22%,transparent);
}
.kco-dj-other-packages-copy{min-width:0}
.kco-dj-other-packages-copy small{
  display:block;margin-bottom:3px;color:var(--kco-accent);font-size:8px;font-weight:950;letter-spacing:.13em
}
.kco-dj-other-packages-copy strong{display:block;color:#252a3b;font-size:14px;line-height:1.3}
.kco-dj-other-packages-copy p{margin:4px 0 0;color:#697184;font-size:11px;line-height:1.48}
.kco-dj-other-packages-callout .kco-dj-other-packages-toggle{
  flex:0 0 auto;
  min-height:40px;
  padding:10px 13px;
  border:1px solid color-mix(in srgb,var(--kco-accent) 28%,#d9deeb);
  border-radius:11px;
  background:#fff;
  color:var(--kco-accent);
  font-size:11px;
  font-weight:900;
  white-space:nowrap;
  box-shadow:0 5px 13px rgba(40,40,84,.05);
}
.kco-dj-other-packages-callout .kco-dj-other-packages-toggle:hover{
  border-color:var(--kco-accent);box-shadow:0 8px 18px rgba(50,45,150,.09)
}
@media(max-width:780px){
  .kco-app .kco-dj-montage-card .kco-package-visual,
  .kco-app .kco-dj-montage-card.is-expanded .kco-package-visual{
    height:226px!important;min-height:226px!important;max-height:226px!important;
  }
  .kco-dj-other-packages-callout{grid-template-columns:auto minmax(0,1fr);padding:13px;gap:10px}
  .kco-dj-other-packages-callout .kco-dj-other-packages-toggle{grid-column:1/-1;width:100%;justify-content:center}
}


/* 3.1.86 — recommendation sits before the price; alternative cards show the
   CURRENT calculated event price and provide a one-click route back to the
   original recommendation. */
.kco-dj-other-packages{margin:14px 0 14px!important}
.kco-dj-other-packages-callout{
  grid-template-columns:auto minmax(0,1fr) auto!important;
}
.kco-dj-other-packages-actions{
  display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap;
}
.kco-dj-return-recommended{
  min-height:40px;padding:10px 13px;border:0;border-radius:11px;
  background:var(--kco-accent);color:#fff;font-size:11px;font-weight:900;
  cursor:pointer;white-space:nowrap;box-shadow:0 7px 17px color-mix(in srgb,var(--kco-accent) 20%,transparent);
}
.kco-dj-return-recommended[hidden]{display:none!important}
.kco-dj-return-recommended:hover{filter:brightness(1.03);transform:translateY(-1px)}
.kco-dj-other-package-price{
  display:flex!important;align-items:baseline;gap:5px!important;margin-top:8px!important;
  color:#202538!important;font-size:12px!important;font-style:normal!important;font-weight:900!important;
  letter-spacing:0!important;
}
.kco-dj-other-package-price b{color:var(--kco-accent);font-size:14px!important}
.kco-dj-other-package-action{
  display:block;margin-top:4px;color:#767d8d;font-size:9px;font-style:normal;font-weight:800;
}
.kco-dj-other-package.is-recommended .kco-dj-other-package-action{color:var(--kco-accent)}
@media(max-width:780px){
  .kco-dj-other-packages-callout{grid-template-columns:auto minmax(0,1fr)!important}
  .kco-dj-other-packages-actions{grid-column:1/-1;width:100%;justify-content:stretch}
  .kco-dj-other-packages-actions>*{flex:1 1 auto;justify-content:center}
}

/* 3.1.88 — READY DJ package = Rental ready-package composition + uniform zoom.
   Only the selected ready-made package uses this class. The live editor keeps
   its existing renderer, while the Rental workspace remains untouched. */
.kco-dj-package-visual > .kco-dj-ready-card,
.kco-dj-dynamic-visual > .kco-dj-ready-card{
  display:block!important;
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  min-height:0!important;
  height:100%!important;
  margin:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  overflow:visible!important;
  transform:none!important;
}
.kco-dj-package-visual > .kco-dj-ready-card:hover,
.kco-dj-dynamic-visual > .kco-dj-ready-card:hover{
  transform:none!important;
  box-shadow:none!important;
}

/* The frame is intentionally large enough for a true whole-scene zoom. The
   equipment itself is then fitted by JS as one proportional group, so there is
   no artificial horizontal spreading and no dead top/bottom band. */
.kco-dj-package-visuals{
  height:440px!important;
  min-height:440px!important;
  max-height:440px!important;
}
.kco-dj-package-visual,
.kco-dj-dynamic-visual{
  height:100%!important;
  min-height:0!important;
}
.kco-app .kco-dj-ready-card .kco-package-visual,
.kco-app .kco-dj-ready-card.is-expanded .kco-package-visual{
  display:block!important;
  width:100%!important;
  height:100%!important;
  min-height:0!important;
  max-height:none!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  overflow:hidden!important;
}

/* Keep the exact Rental stage coordinates. The ONLY DJ-specific transform is a
   uniform scale of the complete stage around the measured equipment group. */
.kco-app .kco-dj-ready-card .kco-package-visual .kco-package-layout-auto{
  transform:translateX(-50%) scale(var(--kco-dj-ready-zoom,1))!important;
  transform-origin:var(--kco-dj-ready-origin-x,50%) var(--kco-dj-ready-origin-y,100%)!important;
  will-change:transform;
}

/* Same logo rail as the Rental ready-package card: top-left, horizontal. Older
   DJ rules placed this rail at the bottom centre and consumed useful scene room. */
.kco-app .kco-dj-ready-card .kco-package-brand-stack,
.kco-app .kco-dj-ready-card .kco-package-brand-stack.bottom-left,
.kco-app .kco-dj-ready-card .kco-package-brand-stack.bottom-right,
.kco-app .kco-dj-ready-card .kco-dj-rental-brand-stack{
  top:14px!important;
  bottom:auto!important;
  left:16px!important;
  right:16px!important;
  width:calc(100% - 32px)!important;
  max-width:calc(100% - 32px)!important;
  transform:none!important;
  display:flex!important;
  flex-direction:row!important;
  flex-wrap:nowrap!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:7px 12px!important;
}
.kco-app .kco-dj-ready-card .kco-package-brand-logo{
  width:auto!important;
  height:auto!important;
  max-width:70px!important;
  max-height:30px!important;
}
.kco-app .kco-dj-ready-card .kco-package-brand-logo img{
  width:auto!important;
  height:auto!important;
  max-width:70px!important;
  max-height:29px!important;
  object-position:left center!important;
}

@media(max-width:980px){
  .kco-dj-package-visuals{height:390px!important;min-height:390px!important;max-height:390px!important}
}
@media(max-width:780px){
  .kco-dj-package-visuals{height:285px!important;min-height:285px!important;max-height:285px!important}
  .kco-app .kco-dj-ready-card .kco-package-brand-stack,
  .kco-app .kco-dj-ready-card .kco-package-brand-stack.bottom-left,
  .kco-app .kco-dj-ready-card .kco-package-brand-stack.bottom-right,
  .kco-app .kco-dj-ready-card .kco-dj-rental-brand-stack{
    top:10px!important;left:12px!important;right:12px!important;
    width:calc(100% - 24px)!important;max-width:calc(100% - 24px)!important;
    flex-wrap:wrap!important;gap:5px 8px!important;
  }
  .kco-app .kco-dj-ready-card .kco-package-brand-logo,
  .kco-app .kco-dj-ready-card .kco-package-brand-logo img{
    max-width:48px!important;max-height:23px!important;
  }
}

/* 3.1.89 — staff character, net-price labels and package-specific optional extras.
   Rental montage CSS/JS is untouched. The person sits beside the already packed
   DJ montage; JS may only translate the COMPLETE montage as one unit when there
   is genuinely enough opposite-side breathing room. */
.kco-dj-hero-copy:not(:has(>p)) .kco-dj-hero-cta{margin-top:0!important}
.kco-dj-package-visuals{overflow:hidden}
.kco-dj-package-visual,
.kco-dj-dynamic-visual{
  transform:translateX(var(--kco-dj-staff-shift,0px));
  transform-origin:center bottom;
  transition:transform .24s ease;
}
.kco-dj-staff-character{
  position:absolute;z-index:90;bottom:1px;height:78%;max-height:96%;pointer-events:none;
  display:flex;align-items:flex-end;justify-content:center;filter:drop-shadow(0 16px 15px rgba(26,31,52,.15));
  opacity:0;visibility:hidden;
  transition:opacity .16s ease;
}
.kco-dj-staff-character.is-positioned{opacity:1;visibility:visible}
.kco-dj-staff-character[hidden]{display:none!important}
.kco-dj-staff-character img{display:block;width:auto;height:100%;max-width:min(30vw,255px);object-fit:contain;object-position:center bottom}
.kco-dj-result-visual.is-character-left .kco-dj-staff-character{left:6px;right:auto}
.kco-dj-result-visual.is-character-right .kco-dj-staff-character{right:6px;left:auto}

.kco-dj-net{font-size:.52em;font-weight:850;letter-spacing:.02em;color:#697184;vertical-align:baseline}
.kco-dj-delivery-suffix{display:inline;font-size:.38em;font-style:normal;font-weight:850;color:var(--kco-accent);white-space:nowrap}
.kco-dj-delivery-suffix[hidden]{display:none!important}
.kco-dj-other-package-price i{font-size:9px;font-style:normal;color:#777f90;font-weight:800;white-space:nowrap}

.kco-dj-recommended-extras{margin:17px 0 3px;padding:16px;border:1px solid #e4e6ef;border-radius:17px;background:linear-gradient(135deg,#fbfbff,#fff)}
.kco-dj-recommended-extras-head>span{display:block;color:var(--kco-accent);font-size:8px;font-weight:950;letter-spacing:.13em}
.kco-dj-recommended-extras-head>strong{display:block;margin-top:4px;color:#272c3d;font-size:15px;line-height:1.3}
.kco-dj-recommended-extras-head>p{margin:4px 0 0;color:#737b8c;font-size:11px;line-height:1.45}
.kco-dj-recommended-extras-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:12px}
.kco-dj-extra-card{display:grid;grid-template-columns:56px minmax(0,1fr) auto;gap:10px;align-items:center;min-width:0;padding:9px;border:1px solid #e3e6ee;border-radius:13px;background:#fff;transition:border-color .18s ease,box-shadow .18s ease}
.kco-dj-extra-card.is-added{border-color:color-mix(in srgb,var(--kco-accent) 45%,#dfe3eb);box-shadow:0 0 0 2px color-mix(in srgb,var(--kco-accent) 6%,transparent)}
.kco-dj-extra-thumb{display:grid;place-items:center;width:56px;height:56px;border-radius:10px;background:#f3f5f9;overflow:hidden;color:var(--kco-accent);font-weight:900}
.kco-dj-extra-thumb img{width:100%;height:100%;padding:4px;object-fit:contain}
.kco-dj-extra-copy{min-width:0}
.kco-dj-extra-copy small,.kco-dj-extra-copy strong,.kco-dj-extra-copy span{display:block}
.kco-dj-extra-copy small{color:#969cab;font-size:7px;font-weight:900;letter-spacing:.08em}
.kco-dj-extra-copy strong{margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#313748;font-size:11px}
.kco-dj-extra-copy span{margin-top:3px;color:var(--kco-accent);font-size:10px;font-weight:850}
.kco-dj-extra-card button{appearance:none;min-height:34px;padding:8px 10px;border:1px solid #dcdfea;border-radius:10px;background:#fff;color:#494f62;font-size:9px;font-weight:900;white-space:nowrap}
.kco-dj-extra-card button:hover,.kco-dj-extra-card.is-added button{border-color:var(--kco-accent);color:var(--kco-accent);background:#faf9ff}

.kco-dj-closing-text{display:flex!important;align-items:flex-start;gap:16px;text-align:left!important;padding:25px 27px;border:1px solid #e4e7ef;border-radius:22px;background:#fbfcff;box-shadow:0 16px 45px rgba(35,43,73,.055)}
.kco-dj-closing-text>span{display:grid;place-items:center;flex:0 0 34px;width:34px;height:34px;border-radius:50%;background:var(--kco-accent);color:#fff;font-weight:900}
.kco-dj-closing-text h2{font-size:clamp(22px,3vw,32px)!important}
.kco-dj-closing-text p{max-width:none!important;margin:8px 0 0!important;font-size:14px!important}

@media(max-width:900px){
  .kco-dj-staff-character{display:none!important}
  .kco-dj-result-visual.allow-character-mobile .kco-dj-staff-character{display:flex!important;max-height:50%}
  .kco-dj-result-visual.allow-character-mobile .kco-dj-staff-character.is-positioned{opacity:.9}
  .kco-dj-result-visual.allow-character-mobile .kco-dj-staff-character img{max-width:115px}
  .kco-dj-package-visual,.kco-dj-dynamic-visual{transform:none!important}
}
@media(max-width:700px){
  .kco-dj-recommended-extras-grid{grid-template-columns:1fr}
  .kco-dj-extra-card{grid-template-columns:50px minmax(0,1fr)}
  .kco-dj-extra-card button{grid-column:1/-1;width:100%}
  .kco-dj-closing-text{width:calc(100% - 28px)!important;margin:52px auto 65px!important;padding:20px!important}
}


/* 3.1.91 — character is an overlay only: never shifts the packed equipment/logos. */
.kco-dj-package-visual,
.kco-dj-dynamic-visual{transform:none!important}
.kco-dj-staff-character{right:auto!important;max-height:none!important}
.kco-dj-staff-character img{width:100%!important;height:100%!important;max-width:none!important;max-height:none!important;object-fit:contain!important;object-position:center bottom!important}

/* 3.1.92 — live fine-tuning preview, event summary near price, stronger extras and iPhone-safe CF7. */

/* The modified/custom DJ montage now uses the same ready-card sizing branch as rental.
   No DJ-specific node spreading: only the whole already-packed scene may be zoomed by JS. */
.kco-dj-dynamic-card .kco-package-layout-auto,
.kco-dj-editor-preview-card .kco-package-layout-auto{
  transform:scale(var(--kco-dj-ready-zoom,1))!important;
  transform-origin:var(--kco-dj-ready-origin-x,50%) var(--kco-dj-ready-origin-y,100%)!important;
}

/* Event data belongs next to the calculated price, not above the technical image. */
.kco-dj-price-box{padding:0!important;overflow:hidden;background:#fcfcff}
.kco-dj-price-context{
  display:block!important;
  padding:14px 17px 13px;
  border-bottom:1px solid #e7e9f2;
  background:linear-gradient(135deg,#f4f3ff,#fafaff);
}
.kco-dj-price-context>small{
  display:block;margin-bottom:8px;color:var(--kco-accent);font-size:8px;font-weight:950;letter-spacing:.13em;
}
.kco-dj-price-context .kco-dj-event-summary{display:flex!important;flex-wrap:wrap;gap:6px;margin:0!important}
.kco-dj-price-context .kco-dj-event-summary span{
  padding:6px 9px;border:1px solid #d9d7fb;border-radius:999px;background:#fff;color:#41485d;font-size:10px;font-weight:850;
}
.kco-dj-price-main{display:flex!important;align-items:baseline!important;justify-content:space-between!important;gap:15px;padding:17px 18px 0}
.kco-dj-price-main>span{color:#6d7484;font-size:13px;font-weight:750}
.kco-dj-price-main>strong{color:var(--dj-ink);font-size:clamp(25px,3vw,34px);line-height:1}
.kco-dj-price-box>.kco-dj-breakdown-toggle{padding:11px 18px 0}
.kco-dj-price-box>.kco-dj-breakdown{margin:10px 18px 0}
.kco-dj-price-box>p{margin:11px 18px 17px!important}

/* Optional extras are an explicit second recommendation, after the core price. */
.kco-dj-recommended-extras{
  margin:14px 0 4px!important;padding:17px 18px!important;border:1px solid #dcd9ff!important;
  background:linear-gradient(135deg,#f7f6ff,#fff)!important;box-shadow:0 10px 28px rgba(67,55,220,.06)
}
.kco-dj-recommended-extras-head>span{font-size:8px!important;color:var(--kco-accent)!important}
.kco-dj-recommended-extras-head>strong{font-size:16px!important}
.kco-dj-recommended-extras-head>p{max-width:680px}

/* Fine-tuning: preview stays visible on the LEFT while tools are picked on the right. */
.kco-dj-advanced{width:min(1240px,calc(100% - 32px))!important}
.kco-dj-advanced-layout{grid-template-columns:minmax(360px,.88fr) minmax(0,1.12fr)!important;gap:20px!important;align-items:start}
.kco-dj-editor-preview{
  position:sticky;top:18px;min-width:0;padding:16px;border:1px solid #e0e4ed;border-radius:20px;background:#fff;
  box-shadow:0 12px 34px rgba(28,37,64,.06)
}
.kco-dj-editor-preview-head>span{display:block;color:var(--kco-accent);font-size:8px;font-weight:950;letter-spacing:.13em}
.kco-dj-editor-preview-head>strong{display:block;margin-top:4px;color:#282e40;font-size:16px}
.kco-dj-editor-preview-head>small{display:block;margin-top:4px;color:#7a8192;font-size:10px;line-height:1.45}
.kco-dj-editor-preview-scene{margin-top:12px;border:1px solid #e6e8ef;border-radius:16px;background:#f5f6fa;overflow:hidden}
.kco-dj-editor-preview-card{width:100%!important;min-height:0!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;display:block!important}
.kco-dj-editor-preview-card>.kco-package-visual{
  width:100%!important;height:330px!important;min-height:330px!important;padding:0!important;background:transparent!important;overflow:hidden!important;
}
.kco-dj-editor-preview .kco-dj-live-summary{position:static!important;top:auto!important;margin-top:12px;padding:14px!important;border-radius:14px!important;box-shadow:none!important;background:#fafbfe}
.kco-dj-editor-preview .kco-dj-live-summary>div{max-height:150px;overflow:auto;margin:9px 0 11px}
.kco-dj-toolbox{min-width:0}
.kco-dj-tool-list{max-height:720px!important}

/* Contact Form 7: normalize the actual selected event form, not only the built-in form. */
.kco-dj-cf7 .wpcf7-form{display:grid;gap:12px;margin:0}
.kco-dj-cf7 .wpcf7-form p{margin:0}
.kco-dj-cf7 label{display:block;color:#41495c;font-size:11px;font-weight:800;line-height:1.35}
.kco-dj-cf7 input:not([type=submit]):not([type=checkbox]):not([type=radio]),
.kco-dj-cf7 select,
.kco-dj-cf7 textarea{
  display:block;width:100%!important;min-height:46px;margin-top:6px!important;padding:11px 12px!important;
  border:1px solid #dce1eb!important;border-radius:12px!important;background:#fff!important;color:#171d2e!important;
  font:500 14px/1.35 Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif!important;
  box-shadow:none!important;outline:none!important;-webkit-appearance:none;
}
.kco-dj-cf7 select{padding-right:34px!important;background-image:linear-gradient(45deg,transparent 50%,#777f91 50%),linear-gradient(135deg,#777f91 50%,transparent 50%)!important;background-position:calc(100% - 17px) 20px,calc(100% - 12px) 20px!important;background-size:5px 5px,5px 5px!important;background-repeat:no-repeat!important}
.kco-dj-cf7 textarea{min-height:112px;resize:vertical}
.kco-dj-cf7 input:focus,.kco-dj-cf7 select:focus,.kco-dj-cf7 textarea:focus{border-color:var(--kco-accent)!important;box-shadow:0 0 0 3px rgba(63,54,244,.08)!important}
.kco-dj-cf7 .uacf7-row{display:flex;flex-wrap:wrap;gap:12px}
.kco-dj-cf7 [class*=uacf7-col-]{flex:1 1 240px;min-width:0}
.kco-dj-cf7 input[type=submit],.kco-dj-cf7 button[type=submit]{
  display:block!important;width:100%!important;min-height:54px!important;margin:4px 0 0!important;padding:14px 18px!important;
  border:0!important;border-radius:14px!important;background:linear-gradient(135deg,var(--kco-accent),var(--kco-accent-2))!important;
  color:#fff!important;-webkit-text-fill-color:#fff!important;font:850 15px/1.2 Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif!important;
  text-align:center!important;box-shadow:0 10px 24px rgba(63,54,244,.18)!important;cursor:pointer!important;-webkit-appearance:none!important;appearance:none!important;
}
.kco-dj-cf7 .wpcf7-spinner{margin:8px auto 0}
.kco-dj-cf7 .wpcf7-response-output{margin:8px 0 0!important;padding:10px 12px!important;border-radius:10px;font-size:12px}

/* Same proven mobile scrolling pattern as Rental 3.1.72: the OVERLAY is the scroll container,
   the real CF7 submit stays in normal flow and gets iPhone safe-area breathing room. */
html.kco-dj-modal-open,body.kco-dj-modal-open{overflow:hidden!important}
body>.kco-dj-modal{box-sizing:border-box;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif}
body>.kco-dj-modal *,body>.kco-dj-modal *::before,body>.kco-dj-modal *::after{box-sizing:border-box}
@media(max-width:780px){
  .kco-dj-modal:not([hidden]){
    display:block!important;position:fixed!important;inset:0!important;width:100%!important;height:100vh!important;height:100dvh!important;
    min-height:0!important;overflow-x:hidden!important;overflow-y:auto!important;-webkit-overflow-scrolling:touch!important;overscroll-behavior-y:contain!important;
    touch-action:pan-y!important;padding:max(5px,env(safe-area-inset-top)) 5px max(24px,env(safe-area-inset-bottom))!important;z-index:2147483001!important;
  }
  .kco-dj-modal-backdrop{position:fixed!important;inset:0!important}
  .kco-dj-modal-card{
    position:relative!important;width:calc(100vw - 10px)!important;max-width:720px!important;max-height:none!important;height:auto!important;min-height:0!important;
    overflow:visible!important;margin:0 auto!important;padding:18px 12px calc(30px + env(safe-area-inset-bottom))!important;border-radius:16px!important;touch-action:pan-y!important;
  }
  .kco-dj-cf7 .uacf7-row{display:block!important}
  .kco-dj-cf7 [class*=uacf7-col-]{width:100%!important;margin:0 0 10px!important}
  .kco-dj-cf7 input[type=submit],.kco-dj-cf7 button[type=submit],.kco-dj-submit{
    display:block!important;visibility:visible!important;opacity:1!important;pointer-events:auto!important;width:100%!important;max-width:none!important;
    min-height:56px!important;height:auto!important;margin:10px 0 calc(18px + env(safe-area-inset-bottom))!important;padding:15px 18px!important;
    position:relative!important;z-index:2!important;touch-action:manipulation!important;-webkit-appearance:none!important;appearance:none!important;
  }
  .kco-dj-price-main{align-items:flex-start!important;flex-direction:column;gap:5px}
  .kco-dj-advanced{width:calc(100% - 20px)!important;padding:18px 12px!important}
  .kco-dj-advanced-layout{grid-template-columns:1fr!important}
  .kco-dj-editor-preview{position:relative!important;top:auto!important;order:-1}
  .kco-dj-editor-preview-card>.kco-package-visual{height:275px!important;min-height:275px!important}
  .kco-dj-tool-list{max-height:none!important}
}
@supports (-webkit-touch-callout:none){
  @media(max-width:780px){.kco-dj-modal:not([hidden]){min-height:-webkit-fill-available!important}}
}

/* 3.1.93 — clear tech-edit CTA, rental-like editor, inline quick extras. */
.kco-dj-edit-tech-cta{
  flex:0 1 auto!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:8px!important;
  min-height:56px!important;padding:13px 20px!important;border:1.5px solid color-mix(in srgb,var(--kco-accent) 58%,#d9ddea)!important;
  background:linear-gradient(135deg,#f6f4ff,#fff)!important;color:var(--kco-accent)!important;font-weight:900!important;
  box-shadow:0 8px 22px rgba(67,54,225,.08)!important
}
.kco-dj-edit-tech-cta>span{font-size:15px}.kco-dj-edit-tech-cta:hover{transform:translateY(-1px);box-shadow:0 12px 28px rgba(67,54,225,.13)!important}

/* Extras now belong to the recommendation callout so they can be added before the price decision. */
.kco-dj-other-packages .kco-dj-recommended-extras-inline{
  margin:10px 0 0!important;padding:13px 14px 14px!important;border:1px solid #dddafe!important;border-radius:15px!important;
  background:linear-gradient(135deg,#f8f7ff,#fff)!important;box-shadow:none!important
}
.kco-dj-other-packages .kco-dj-recommended-extras-head{display:grid;grid-template-columns:minmax(0,1fr);gap:1px}
.kco-dj-other-packages .kco-dj-recommended-extras-head>strong{font-size:14px!important}.kco-dj-other-packages .kco-dj-recommended-extras-head>p{font-size:10px!important;margin-top:2px!important}
.kco-dj-other-packages .kco-dj-recommended-extras-grid{margin-top:9px!important}
.kco-dj-result-visual.is-extra-updated{animation:kcoDjExtraVisual .48s ease both}
@keyframes kcoDjExtraVisual{0%{box-shadow:0 0 0 0 rgba(78,59,245,0)}45%{box-shadow:0 0 0 5px rgba(78,59,245,.10),0 14px 38px rgba(25,35,62,.08)}100%{box-shadow:0 12px 34px rgba(25,35,62,.06)}}

/* Editor behaves like Rental: large stage + catalog on the left, sticky summary on the right. */
.kco-dj-advanced{
  width:min(1220px,calc(100% - 40px))!important;margin:42px auto 72px!important;padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important
}
.kco-dj-advanced-head{
  display:flex!important;align-items:end!important;justify-content:space-between!important;gap:20px!important;margin:0 0 16px!important;padding:0 2px!important
}
.kco-dj-advanced-head h2{margin:5px 0 4px!important;font-size:clamp(27px,3vw,38px)!important}.kco-dj-advanced-head p{max-width:760px!important}
.kco-dj-editor-done-top{
  appearance:none;min-height:45px;padding:10px 15px;border:0;border-radius:12px;background:linear-gradient(135deg,var(--kco-accent),var(--kco-accent-2));
  color:#fff;font-size:11px;font-weight:900;box-shadow:0 9px 22px rgba(62,50,230,.17);white-space:nowrap;cursor:pointer
}
.kco-dj-editor-rental-layout{display:grid;grid-template-columns:minmax(0,1fr) 350px;gap:18px;align-items:start}
.kco-dj-editor-main{min-width:0}.kco-dj-editor-stage-shell{overflow:hidden!important}
.kco-dj-editor-stage-canvas{
  height:540px!important;min-height:540px!important;position:relative!important;overflow:hidden!important;
  background-color:#fbfcff!important;background-image:radial-gradient(#dbe0ed 1.05px,transparent 1.05px)!important;background-size:20px 20px!important
}
.kco-dj-editor-stage-canvas>.kco-package-layout-auto{
  position:absolute!important;inset:0!important;width:100%!important;height:100%!important;min-height:100%!important;background:transparent!important;
  transform:scale(var(--kco-dj-editor-zoom,1))!important;transform-origin:var(--kco-dj-editor-origin-x,50%) var(--kco-dj-editor-origin-y,100%)!important
}
.kco-dj-editor-stage-canvas>.kco-package-brand-stack{z-index:1000!important}
.kco-dj-editor-catalog{margin-top:18px!important;padding:16px!important;overflow:hidden!important}
.kco-dj-editor-catalog .kco-editor-catalog-head{margin-bottom:13px!important}
.kco-dj-editor-catalog .kco-public-search{margin:0!important}
.kco-dj-editor-catalog .kco-dj-tool-filters{display:flex!important;gap:6px!important;overflow-x:auto!important;padding:0 0 9px!important;margin:0 0 10px!important;white-space:nowrap!important}
.kco-dj-editor-catalog .kco-dj-tool-filters button{flex:0 0 auto!important}
.kco-dj-editor-catalog .kco-dj-tool-list{
  display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:9px!important;max-height:none!important;overflow:visible!important;padding:0!important
}
.kco-dj-editor-catalog .kco-dj-tool{
  display:grid!important;grid-template-columns:64px minmax(0,1fr) auto!important;align-items:center!important;gap:10px!important;
  min-height:80px!important;padding:8px!important;border-radius:15px!important;background:#fff!important
}
.kco-dj-editor-catalog .kco-dj-tool-copy small{color:#9198aa!important;font-size:8px!important}.kco-dj-editor-catalog .kco-dj-tool-copy strong{font-size:12px!important}.kco-dj-editor-catalog .kco-dj-tool-copy em{font-size:10px!important}
.kco-dj-editor-catalog .kco-dj-tool-qty{display:flex!important;align-items:center!important;gap:5px!important}.kco-dj-editor-catalog .kco-dj-tool-qty button{width:30px!important;height:30px!important;padding:0!important;border-radius:50%!important}
.kco-dj-editor-summary{position:sticky!important;top:18px!important;overflow:hidden!important}
.kco-dj-editor-summary .kco-summary-items{max-height:360px;overflow:auto}.kco-dj-editor-summary .kco-summary-price strong{font-size:24px!important}
.kco-dj-editor-done{width:calc(100% - 28px)!important;margin:14px!important}
.kco-dj-editor-reset{appearance:none;width:calc(100% - 28px);min-height:42px;margin:0 14px 7px;padding:9px 12px;border:1px solid #dfe3ec;border-radius:11px;background:#fff;color:#596174;font-size:10px;font-weight:850;cursor:pointer}
.kco-dj-editor-reset:hover{border-color:#bbb5f2;color:var(--kco-accent);background:#faf9ff}.kco-dj-editor-summary .kco-reassure{display:block;padding:0 15px 15px!important}

@media(max-width:1050px){.kco-dj-editor-rental-layout{grid-template-columns:minmax(0,1fr) 310px}.kco-dj-editor-stage-canvas{height:480px!important;min-height:480px!important}}
@media(max-width:780px){
  .kco-dj-edit-tech-cta{width:100%!important}.kco-dj-advanced{width:calc(100% - 24px)!important;margin:28px auto 48px!important}.kco-dj-advanced-head{align-items:stretch!important;flex-direction:column!important}
  .kco-dj-editor-done-top{width:100%}.kco-dj-editor-rental-layout{grid-template-columns:1fr!important}.kco-dj-editor-summary{position:relative!important;top:auto!important;order:-1}.kco-dj-editor-stage-canvas{height:390px!important;min-height:390px!important}
  .kco-dj-editor-catalog .kco-dj-tool-list{grid-template-columns:1fr!important}.kco-dj-editor-catalog .kco-dj-tool{grid-template-columns:52px minmax(0,1fr) 96px!important}
}
.kco-dj-recommended-extras-inline{margin:10px 0 12px!important;padding:13px 14px 14px!important;border:1px solid #dddafe!important;border-radius:15px!important;background:linear-gradient(135deg,#f8f7ff,#fff)!important;box-shadow:none!important}
.kco-dj-recommended-extras-inline .kco-dj-recommended-extras-head>strong{font-size:14px!important}.kco-dj-recommended-extras-inline .kco-dj-recommended-extras-head>p{font-size:10px!important;margin-top:2px!important}.kco-dj-recommended-extras-inline .kco-dj-recommended-extras-grid{margin-top:9px!important}

/* 3.1.94 — editor preview uses the exact Rental montage geometry.
   No separate DJ editor zoom/packer is allowed: the shared Rental montage
   normalizer sizes both the live edit preview and the modified result. */
.kco-dj-editor-live-card{
  display:block!important;width:100%!important;min-height:0!important;height:auto!important;
  border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;overflow:hidden!important
}
.kco-dj-editor-live-card:hover{transform:none!important;box-shadow:none!important}
.kco-dj-editor-stage-shell{background:#f5f6fa!important;border-radius:20px!important;overflow:hidden!important}
.kco-dj-editor-stage-canvas{
  height:500px!important;min-height:500px!important;max-height:500px!important;
  padding:0!important;background:#f5f6fa!important;background-image:none!important;overflow:hidden!important
}
.kco-dj-editor-stage-canvas>.kco-package-layout-auto{
  position:absolute!important;left:50%!important;right:auto!important;
  top:var(--kco-scene-top,54px)!important;bottom:auto!important;
  width:var(--kco-scene-width,100%)!important;height:var(--kco-scene-height,60%)!important;
  min-height:0!important;max-height:100%!important;padding:.55%!important;margin:0!important;
  transform:translateX(-50%)!important;transform-origin:bottom center!important;
  overflow:hidden!important;background:transparent!important
}
.kco-dj-editor-stage-canvas>.kco-package-brand-stack,
.kco-dj-editor-stage-canvas>.kco-package-brand-stack.bottom-left,
.kco-dj-editor-stage-canvas>.kco-package-brand-stack.bottom-right{
  top:14px!important;bottom:auto!important;left:16px!important;right:16px!important;width:calc(100% - 32px)!important;max-width:calc(100% - 32px)!important;
  display:flex!important;flex-direction:row!important;flex-wrap:nowrap!important;align-items:center!important;justify-content:flex-start!important;gap:7px 12px!important
}
/* The modified result must stay centred exactly like a ready Rental card. */
.kco-dj-dynamic-card .kco-package-layout-auto{
  transform:translateX(-50%) scale(var(--kco-dj-ready-zoom,1))!important;
  transform-origin:var(--kco-dj-ready-origin-x,50%) var(--kco-dj-ready-origin-y,100%)!important
}
@media(max-width:1050px){.kco-dj-editor-stage-canvas{height:445px!important;min-height:445px!important;max-height:445px!important}}
@media(max-width:780px){
  .kco-dj-editor-stage-canvas{height:315px!important;min-height:315px!important;max-height:315px!important}
  .kco-dj-editor-stage-canvas>.kco-package-brand-stack,
  .kco-dj-editor-stage-canvas>.kco-package-brand-stack.bottom-left,
  .kco-dj-editor-stage-canvas>.kco-package-brand-stack.bottom-right{top:10px!important;left:12px!important;right:12px!important;width:calc(100% - 24px)!important;max-width:calc(100% - 24px)!important;flex-wrap:wrap!important;gap:5px 8px!important}
}


/* 3.1.95 — modified DJ package must return to the SAME full-width visual card
   geometry as a ready package. 3.1.94 only targeted .kco-dj-package-visual,
   so the dynamic (edited) card fell back to the rental card's multi-column grid
   and visually collapsed after pressing “Kész”. */
.kco-dj-dynamic-visual > .kco-dj-ready-card{
  display:block!important;width:100%!important;max-width:none!important;min-width:0!important;
  height:100%!important;min-height:0!important;margin:0!important;border:0!important;
  border-radius:0!important;background:transparent!important;box-shadow:none!important;
  overflow:visible!important;transform:none!important;grid-template-columns:none!important;grid-template-rows:none!important;
}
.kco-dj-dynamic-visual > .kco-dj-ready-card > .kco-package-visual{
  width:100%!important;height:100%!important;min-height:0!important;max-height:none!important;
  padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;overflow:hidden!important;
}

/* 3.1.96 — edited DJ scene: preserve the Rental packer coordinates and only
   translate the whole already-packed scene when a zoom would clip an outer item. */
.kco-dj-dynamic-card .kco-package-layout-auto{
  left:calc(50% + var(--kco-dj-ready-shift-x,0px))!important;
}


/* 3.1.98 — mobile recommendation hardening.
   Messenger/Safari/Android in-app browsers expose a much narrower CSS viewport.
   Every recommendation child must be allowed to shrink and wrap; the equipment
   montage is uniformly scaled by dj-planner.js instead of being clipped. */
@media (max-width:780px){
  .kco-dj-planner-app,
  .kco-dj-shell{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    overflow-x:hidden!important;
  }
  .kco-dj-result{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    grid-template-areas:"toolbar" "copy"!important;
    width:calc(100% - 16px)!important;
    max-width:calc(100% - 16px)!important;
    min-width:0!important;
    margin:24px 8px 42px!important;
    gap:10px!important;
  }
  .kco-dj-result-toolbar,
  .kco-dj-result-copy,
  .kco-dj-result-visual,
  .kco-dj-package-visuals,
  .kco-dj-package-visual,
  .kco-dj-dynamic-visual,
  .kco-dj-ready-card,
  .kco-dj-equipment-list,
  .kco-dj-other-packages,
  .kco-dj-price-box,
  .kco-dj-result-actions{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
  }
  .kco-dj-result-copy{
    padding:18px 14px 20px!important;
    border-radius:18px!important;
    overflow:hidden!important;
  }
  .kco-dj-result-kicker{font-size:9px!important;line-height:1.3!important;white-space:normal!important}
  .kco-dj-result-copy h2{
    width:100%!important;
    max-width:100%!important;
    margin:5px 0 0!important;
    font-size:clamp(30px,10vw,38px)!important;
    line-height:1.02!important;
    overflow-wrap:anywhere!important;
    word-break:normal!important;
    white-space:normal!important;
  }
  .kco-dj-result-subtitle{
    width:100%!important;
    max-width:100%!important;
    margin:9px 0 14px!important;
    font-size:14px!important;
    line-height:1.45!important;
    overflow-wrap:anywhere!important;
    white-space:normal!important;
  }
  .kco-dj-result-promise{
    display:grid!important;
    grid-template-columns:32px minmax(0,1fr)!important;
    gap:10px!important;
    width:100%!important;
    max-width:100%!important;
    padding:12px!important;
  }
  .kco-dj-result-promise p,
  .kco-dj-result-promise strong,
  .kco-dj-result-promise small{
    min-width:0!important;
    max-width:100%!important;
    overflow-wrap:anywhere!important;
    white-space:normal!important;
  }
  .kco-dj-result-visual{
    margin:13px 0 8px!important;
    padding:11px 8px 8px!important;
    overflow:hidden!important;
  }
  .kco-dj-package-visuals{height:auto!important;min-height:0!important;overflow:hidden!important}
  .kco-app .kco-dj-ready-card .kco-package-visual,
  .kco-app .kco-dj-ready-card.is-expanded .kco-package-visual,
  .kco-dj-dynamic-visual > .kco-dj-ready-card > .kco-package-visual{
    width:100%!important;
    max-width:100%!important;
    height:238px!important;
    min-height:238px!important;
    max-height:238px!important;
    margin:0!important;
    overflow:hidden!important;
  }
  .kco-dj-equipment-list>div{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:6px!important;
  }
  .kco-dj-equipment-list>div span{
    min-width:0!important;
    line-height:1.4!important;
    overflow-wrap:anywhere!important;
  }
  .kco-dj-other-packages-callout{
    display:grid!important;
    grid-template-columns:32px minmax(0,1fr)!important;
    gap:10px!important;
    width:100%!important;
    max-width:100%!important;
    padding:12px!important;
  }
  .kco-dj-other-packages-copy,
  .kco-dj-other-packages-copy strong,
  .kco-dj-other-packages-copy p{min-width:0!important;max-width:100%!important;overflow-wrap:anywhere!important}
  .kco-dj-other-packages-actions{
    grid-column:1/-1!important;
    display:grid!important;
    grid-template-columns:1fr!important;
    width:100%!important;
    gap:7px!important;
  }
  .kco-dj-other-packages-actions>*{width:100%!important;max-width:100%!important;white-space:normal!important}
  .kco-dj-price-context{padding:12px!important}
  .kco-dj-price-context .kco-dj-event-summary{display:flex!important;flex-wrap:wrap!important;min-width:0!important}
  .kco-dj-price-context .kco-dj-event-summary span{max-width:100%!important;white-space:normal!important;overflow-wrap:anywhere!important}
  .kco-dj-price-main{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:6px!important;
    align-items:start!important;
    padding:14px 14px 0!important;
  }
  .kco-dj-price-main>strong{
    max-width:100%!important;
    font-size:clamp(27px,9vw,34px)!important;
    white-space:normal!important;
    overflow-wrap:anywhere!important;
  }
  .kco-dj-price-box>.kco-dj-breakdown-toggle{padding:10px 14px 0!important}
  .kco-dj-price-box>.kco-dj-breakdown{margin:10px 14px 0!important}
  .kco-dj-price-box>p{margin:10px 14px 15px!important;overflow-wrap:anywhere!important}
  .kco-dj-breakdown>div{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto!important;
    gap:8px!important;
    align-items:start!important;
  }
  .kco-dj-breakdown>div span{min-width:0!important;overflow-wrap:anywhere!important}
  .kco-dj-breakdown>div strong{white-space:normal!important;text-align:right!important}
  .kco-dj-result-actions{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:8px!important;
  }
  .kco-dj-result-actions>*{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    white-space:normal!important;
    text-align:center!important;
  }
  .kco-dj-recommended-extras-grid{grid-template-columns:1fr!important}
  .kco-dj-extra-card{grid-template-columns:50px minmax(0,1fr)!important;min-width:0!important}
  .kco-dj-extra-card button{grid-column:1/-1!important;width:100%!important}
}
@media (max-width:420px){
  .kco-dj-result-copy{padding:16px 11px 18px!important}
  .kco-dj-result-visual{padding-inline:6px!important}
  .kco-app .kco-dj-ready-card .kco-package-visual,
  .kco-app .kco-dj-ready-card.is-expanded .kco-package-visual,
  .kco-dj-dynamic-visual > .kco-dj-ready-card > .kco-package-visual{
    height:218px!important;
    min-height:218px!important;
    max-height:218px!important;
  }
}


/* 3.1.99 — mobile editor/final-canvas hardening, working filters, staff on phones. */
/* Later editor display:grid rules must never override the native hidden state. */
.kco-dj-editor-catalog .kco-dj-tool[hidden]{display:none!important}

/* Whole-scene fitting only. Rental coordinates remain untouched; we scale/shift
   the complete scene after it has been packed. */
.kco-dj-editor-stage-canvas>.kco-package-layout-auto{
  left:50%!important;
  transform:translateX(-50%) translateX(var(--kco-dj-editor-fit-shift-x,0px)) scale(var(--kco-dj-editor-fit-zoom,1))!important;
  transform-origin:center bottom!important;
  will-change:transform;
}
.kco-app .kco-dj-ready-card .kco-package-visual .kco-package-layout-auto,
.kco-dj-dynamic-card .kco-package-layout-auto{
  left:50%!important;
  transform:translateX(-50%) translateX(var(--kco-dj-ready-shift-x,0px)) scale(var(--kco-dj-ready-zoom,1))!important;
}

@media(max-width:900px){
  /* An enabled staff character is part of the chosen service and must remain
     visible on mobile too. JS sizes it against the tallest equipment. */
  .kco-dj-result-visual.has-dj-staff-character .kco-dj-staff-character,
  .kco-dj-result-visual.allow-character-mobile .kco-dj-staff-character{display:flex!important;opacity:1!important}
}

@media(max-width:780px){
  /* The edit view becomes a compact single-column preview rather than a clipped
     desktop canvas. The shared Rental montage is then fitted into this box by JS. */
  .kco-dj-advanced{width:calc(100% - 12px)!important;margin:18px 6px 38px!important;padding:0!important;overflow:visible!important}
  .kco-dj-advanced-head{gap:10px!important;margin-bottom:12px!important}
  .kco-dj-advanced-head h2{font-size:clamp(25px,8.5vw,34px)!important;line-height:1.02!important;overflow-wrap:anywhere!important}
  .kco-dj-advanced-head p{font-size:13px!important;line-height:1.45!important}
  .kco-dj-editor-rental-layout{display:flex!important;flex-direction:column!important;gap:12px!important}
  .kco-dj-editor-main{width:100%!important;min-width:0!important}
  .kco-dj-editor-stage-shell{width:100%!important;max-width:100%!important;border-radius:16px!important;overflow:hidden!important}
  .kco-dj-editor-stage-canvas{width:100%!important;height:300px!important;min-height:300px!important;max-height:300px!important;overflow:hidden!important}
  .kco-dj-editor-summary{order:2!important;width:100%!important;margin:0!important}
  .kco-dj-editor-catalog{order:3!important;width:100%!important;margin-top:0!important;padding:12px!important;border-radius:16px!important}
  .kco-dj-editor-catalog .kco-dj-tool-filters{scroll-snap-type:x proximity!important}
  .kco-dj-editor-catalog .kco-dj-tool-filters button{scroll-snap-align:start!important;min-height:38px!important}
  .kco-dj-editor-catalog .kco-dj-tool{grid-template-columns:48px minmax(0,1fr) 88px!important;min-height:70px!important}
  .kco-dj-editor-done-top{position:sticky!important;top:8px!important;z-index:30!important}
  .kco-dj-staff-character{max-width:28%!important;max-height:88%!important}
}
@media(max-width:430px){
  .kco-dj-editor-stage-canvas{height:270px!important;min-height:270px!important;max-height:270px!important}
  .kco-dj-editor-catalog .kco-dj-tool{grid-template-columns:46px minmax(0,1fr) 84px!important;gap:7px!important}
  .kco-dj-editor-catalog .kco-dj-tool-copy strong{white-space:normal!important;line-height:1.2!important;display:-webkit-box!important;-webkit-line-clamp:2!important;-webkit-box-orient:vertical!important}
  .kco-dj-staff-character{max-width:25%!important}
}

/* 3.1.102: clean public extension-rate line. */
@media(max-width:640px){
  .kco-dj-extension-rate{margin:12px 14px 0!important;padding:11px 12px!important;align-items:flex-start!important;flex-direction:column!important;gap:6px!important}
  .kco-dj-extension-value{font-size:14px!important}
}


/* 3.2.0 — clean public price composition. */
.kco-dj-public-breakdown{
  margin:10px 0 0!important;
  padding:10px 0 0!important;
  border-top:1px dashed #dfe2eb!important;
}
.kco-dj-public-breakdown>div{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  align-items:center!important;
  gap:14px!important;
  padding:7px 0!important;
  color:#646c7d!important;
  font-size:12px!important;
}
.kco-dj-public-breakdown>div+div{border-top:1px solid #f0f1f5}
.kco-dj-public-breakdown>div>span{min-width:0;font-weight:700;color:#555d6f}
.kco-dj-public-breakdown>div>span small{margin-left:4px;color:#9298a7;font-size:10px;font-weight:650}
.kco-dj-public-breakdown>div>strong{color:#252b3a!important;font-size:12px!important;font-weight:850!important;white-space:nowrap!important;text-align:right}
.kco-dj-public-breakdown .kco-dj-net{color:#8a90a0;font-size:9px}
.kco-dj-price-box>.kco-dj-breakdown-toggle{
  display:inline-flex!important;align-items:center;gap:5px;
  padding:10px 0 0!important;margin:0!important;
  font-size:12px!important;cursor:pointer
}
@media(max-width:640px){
  .kco-dj-public-breakdown>div{grid-template-columns:1fr!important;gap:4px!important;padding:8px 0!important}
  .kco-dj-public-breakdown>div>strong{text-align:left!important;white-space:normal!important}
}

/* 3.2.5 — optional extras as real add-ons, plus value-framed event summary. */
.kco-dj-recommended-extras-inline{
  display:grid!important;
  grid-template-columns:minmax(190px,.62fr) minmax(0,1.38fr)!important;
  gap:18px!important;
  align-items:start!important;
  margin:18px 0 6px!important;
  padding:16px 0!important;
  border:0!important;
  border-top:1px solid #e7e8ef!important;
  border-bottom:1px solid #e7e8ef!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
.kco-dj-recommended-extras-inline .kco-dj-recommended-extras-head{padding:4px 0 0!important}
.kco-dj-recommended-extras-inline .kco-dj-recommended-extras-head>span{font-size:8px!important;letter-spacing:.14em!important;color:var(--kco-accent)!important}
.kco-dj-recommended-extras-inline .kco-dj-recommended-extras-head>strong{margin-top:5px!important;font-size:17px!important;line-height:1.22!important;color:#252b3b!important}
.kco-dj-recommended-extras-inline .kco-dj-recommended-extras-head>p{margin:6px 0 0!important;font-size:11px!important;line-height:1.5!important;color:#7b8291!important}
.kco-dj-recommended-extras-inline .kco-dj-recommended-extras-grid{
  display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important;margin:0!important;min-width:0!important
}
.kco-dj-extra-card{
  display:grid!important;grid-template-columns:66px minmax(0,1fr) auto!important;gap:11px!important;align-items:center!important;
  min-width:0!important;min-height:92px!important;padding:10px 11px!important;border:1px solid #e1e4ec!important;border-radius:15px!important;
  background:linear-gradient(145deg,#fff,#fbfbfe)!important;box-shadow:0 8px 22px rgba(34,42,72,.045)!important;
  transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease!important
}
.kco-dj-extra-card:hover{transform:translateY(-1px);border-color:#cbc6ff!important;box-shadow:0 11px 28px rgba(67,55,220,.08)!important}
.kco-dj-extra-card.is-added{border-color:#bdb5ff!important;background:linear-gradient(145deg,#fbfaff,#fff)!important;box-shadow:0 0 0 2px rgba(88,68,246,.06),0 10px 24px rgba(67,55,220,.07)!important}
.kco-dj-extra-thumb{width:66px!important;height:66px!important;border-radius:12px!important;background:#f1f3f8!important}
.kco-dj-extra-copy small{font-size:7px!important;letter-spacing:.11em!important;color:#8c93a3!important}
.kco-dj-extra-copy strong{margin-top:3px!important;font-size:11px!important;line-height:1.25!important;white-space:normal!important;display:-webkit-box!important;-webkit-line-clamp:2!important;-webkit-box-orient:vertical!important;overflow:hidden!important}
.kco-dj-extra-copy span{margin-top:4px!important;font-size:10px!important;font-weight:900!important;color:var(--kco-accent)!important}
.kco-dj-extra-copy em{display:block;margin-top:4px;color:#8b92a1;font-size:8px;font-style:normal;font-weight:700;line-height:1.25}
.kco-dj-extra-action{display:flex;justify-content:flex-end;align-items:center;min-width:106px}
.kco-dj-extra-add{appearance:none!important;min-height:38px!important;padding:9px 12px!important;border:1px solid #d7d9e4!important;border-radius:11px!important;background:#fff!important;color:#343b4e!important;font-size:9px!important;font-weight:900!important;white-space:nowrap!important;cursor:pointer!important}
.kco-dj-extra-add:hover{border-color:var(--kco-accent)!important;color:var(--kco-accent)!important;background:#faf9ff!important}
.kco-dj-extra-stepper{display:grid;grid-template-columns:34px 50px 34px;align-items:center;border:1px solid #d8d9e5;border-radius:11px;background:#fff;overflow:hidden}
.kco-dj-extra-stepper button{appearance:none!important;width:34px!important;height:38px!important;min-height:38px!important;padding:0!important;border:0!important;border-radius:0!important;background:#fff!important;color:#343b4e!important;font-size:16px!important;font-weight:800!important;cursor:pointer!important}
.kco-dj-extra-stepper button:hover:not(:disabled){background:#f4f2ff!important;color:var(--kco-accent)!important}
.kco-dj-extra-stepper button:disabled{opacity:.28!important;cursor:not-allowed!important}
.kco-dj-extra-stepper strong{display:flex;align-items:baseline;justify-content:center;gap:2px;height:38px;line-height:38px;border-left:1px solid #ececf2;border-right:1px solid #ececf2;color:#252b3b;font-size:12px;font-weight:900}
.kco-dj-extra-stepper strong small{font-size:8px;color:#8d94a3;font-weight:750}

.kco-dj-event-context-copy>small{display:block;color:var(--kco-accent);font-size:8px;font-weight:950;letter-spacing:.13em}
.kco-dj-event-context-copy>strong{display:block;margin-top:4px;color:#262c3c;font-size:16px;line-height:1.2}
.kco-dj-event-context-copy>p{margin:4px 0 0;color:#788091;font-size:10px;line-height:1.45}
.kco-dj-event-value-points{display:flex;flex-wrap:wrap;gap:7px;margin-top:11px}
.kco-dj-event-value-points span{display:inline-flex;align-items:center;gap:5px;color:#4f5668;font-size:9px;font-weight:780}
.kco-dj-event-value-points i{display:grid;place-items:center;width:16px;height:16px;border-radius:50%;background:#edeaff;color:var(--kco-accent);font-size:9px;font-style:normal;font-weight:950}

/* Compact: familiar chips with almost no extra vertical height. */
.kco-dj-event-style-compact .kco-dj-event-context-copy>strong,
.kco-dj-event-style-compact .kco-dj-event-context-copy>p,
.kco-dj-event-style-compact .kco-dj-event-value-points{display:none!important}
.kco-dj-event-style-compact .kco-dj-event-context-copy>small{margin-bottom:8px}

/* Value: recommended. Make the price feel grounded in a concrete event and service. */
.kco-dj-event-style-value{
  display:grid!important;grid-template-columns:minmax(210px,.72fr) minmax(0,1.28fr)!important;gap:14px 18px!important;align-items:center!important;
  padding:16px 18px!important;background:linear-gradient(135deg,#f2f0ff 0%,#fbfaff 54%,#fff 100%)!important;border-bottom:1px solid #e2e0f6!important
}
.kco-dj-event-style-value .kco-dj-event-summary{align-content:center!important}
.kco-dj-event-style-value .kco-dj-event-value-points{grid-column:1/-1;margin-top:0;padding-top:10px;border-top:1px solid rgba(87,72,244,.11)}

/* Premium: event facts become small information cards. */
.kco-dj-event-style-premium{
  position:relative;display:grid!important;grid-template-columns:minmax(220px,.72fr) minmax(0,1.28fr)!important;gap:12px 18px!important;
  padding:17px 18px!important;background:linear-gradient(125deg,#171a2b 0%,#26214c 58%,#39248b 100%)!important;border-bottom:0!important;overflow:hidden
}
.kco-dj-event-style-premium:after{content:"";position:absolute;right:-55px;top:-80px;width:190px;height:190px;border-radius:50%;background:rgba(255,255,255,.05);pointer-events:none}
.kco-dj-event-style-premium .kco-dj-event-context-copy>small{color:#bdb7ff!important}
.kco-dj-event-style-premium .kco-dj-event-context-copy>strong{color:#fff!important}
.kco-dj-event-style-premium .kco-dj-event-context-copy>p{color:#d1cee6!important}
.kco-dj-event-style-premium .kco-dj-event-summary{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:7px!important}
.kco-dj-event-style-premium .kco-dj-event-summary span{border:1px solid rgba(255,255,255,.13)!important;border-radius:10px!important;background:rgba(255,255,255,.08)!important;color:#fff!important;padding:8px 9px!important}
.kco-dj-event-style-premium .kco-dj-event-value-points{grid-column:1/-1;margin-top:0;padding-top:10px;border-top:1px solid rgba(255,255,255,.12)}
.kco-dj-event-style-premium .kco-dj-event-value-points span{color:#efedff!important}.kco-dj-event-style-premium .kco-dj-event-value-points i{background:rgba(255,255,255,.13)!important;color:#fff!important}

@media(max-width:900px){
  .kco-dj-recommended-extras-inline{grid-template-columns:1fr!important;gap:10px!important}
  .kco-dj-recommended-extras-inline .kco-dj-recommended-extras-grid{grid-template-columns:1fr!important}
  .kco-dj-event-style-value,.kco-dj-event-style-premium{grid-template-columns:1fr!important;gap:9px!important}
  .kco-dj-event-style-value .kco-dj-event-value-points,.kco-dj-event-style-premium .kco-dj-event-value-points{grid-column:auto!important}
}
@media(max-width:640px){
  .kco-dj-recommended-extras-inline{margin:14px 0 4px!important;padding:13px 0!important}
  .kco-dj-extra-card{grid-template-columns:58px minmax(0,1fr)!important;gap:9px!important;min-height:0!important;padding:9px!important}
  .kco-dj-extra-thumb{width:58px!important;height:58px!important}
  .kco-dj-extra-action{grid-column:1/-1!important;justify-content:stretch!important;min-width:0!important}
  .kco-dj-extra-add,.kco-dj-extra-stepper{width:100%!important}
  .kco-dj-extra-stepper{grid-template-columns:42px 1fr 42px!important}
  .kco-dj-extra-stepper button{width:42px!important}
  .kco-dj-event-style-value,.kco-dj-event-style-premium{padding:13px!important}
  .kco-dj-event-style-premium .kco-dj-event-summary{grid-template-columns:1fr!important}
  .kco-dj-event-value-points{gap:6px 10px!important}
}

/* 3.2.6 — denser hero, five hero/event/extra styles, and stronger add-on merchandising. */
.kco-dj-shell>.kco-dj-planner-panel{margin-top:28px!important}
.kco-dj-hero+.kco-dj-planner-panel{margin-top:28px!important}

/* Hero style system. */
.kco-dj-hero{transition:background .2s ease,color .2s ease}
.kco-dj-hero-style-classic{padding-top:clamp(58px,6vw,92px)!important;padding-bottom:clamp(48px,5vw,74px)!important}
.kco-dj-hero-style-compact{padding-top:42px!important;padding-bottom:38px!important;background:linear-gradient(120deg,#0d1224,#1d1a46 58%,#33207c)!important}
.kco-dj-hero-style-compact .kco-dj-eyebrow{margin-bottom:10px!important}
.kco-dj-hero-style-compact h1{font-size:clamp(44px,4.5vw,64px)!important}
.kco-dj-hero-style-compact .kco-dj-hero-lower{margin-top:24px!important;gap:34px!important}
.kco-dj-hero-style-compact .kco-dj-service-line{margin-top:14px!important}
.kco-dj-hero-style-compact .kco-dj-hero-note{padding:15px 17px!important;border-radius:16px!important}

.kco-dj-hero-style-clean{padding-top:50px!important;padding-bottom:46px!important;color:#151a2a!important;background:linear-gradient(135deg,#fff 0%,#f7f7ff 55%,#eef0ff 100%)!important;border-bottom:1px solid #e8e9f1}
.kco-dj-hero-style-clean::before{opacity:.12!important;background-image:linear-gradient(rgba(73,62,220,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(73,62,220,.08) 1px,transparent 1px)!important}
.kco-dj-hero-style-clean .kco-dj-eyebrow{color:var(--kco-accent)!important}
.kco-dj-hero-style-clean h1{color:#121728!important}
.kco-dj-hero-style-clean .kco-dj-service-line{color:#6f7789!important}
.kco-dj-hero-style-clean .kco-dj-service-line i{color:#c5c8d3!important}
.kco-dj-hero-style-clean .kco-dj-hero-note{border-color:#e0e3ed!important;background:#fff!important;box-shadow:0 12px 32px rgba(38,46,78,.07)!important}
.kco-dj-hero-style-clean .kco-dj-hero-note strong{color:#252b3b!important}.kco-dj-hero-style-clean .kco-dj-hero-note small{color:#747c8e!important}
.kco-dj-hero-style-clean .kco-dj-hero-note>span{background:#eeebff!important;color:var(--kco-accent)!important}

.kco-dj-hero-style-split{padding-top:52px!important;padding-bottom:48px!important;background:linear-gradient(90deg,#101527 0%,#101527 52%,#2b205b 52%,#3e258d 100%)!important}
.kco-dj-hero-style-split .kco-dj-hero-note{background:rgba(255,255,255,.11)!important;border-color:rgba(255,255,255,.2)!important}
.kco-dj-hero-style-split .kco-dj-hero-lower{margin-top:27px!important}

.kco-dj-hero-style-spotlight{padding-top:54px!important;padding-bottom:50px!important;background:radial-gradient(circle at 72% 28%,rgba(125,86,255,.55),transparent 30%),radial-gradient(circle at 20% 120%,rgba(0,155,255,.28),transparent 36%),linear-gradient(120deg,#090d1a,#17183a 52%,#291563)!important}
.kco-dj-hero-style-spotlight .kco-dj-hero-note{box-shadow:0 16px 42px rgba(0,0,0,.18),inset 0 1px rgba(255,255,255,.08)!important}

/* Extras: title is a single line above the products, not a side banner. */
.kco-dj-recommended-extras-inline{
  display:block!important;
  margin:14px 0 10px!important;
  padding:16px 0 18px!important;
  border:0!important;
  border-top:1px solid #e7e8ef!important;
  border-bottom:1px solid #e7e8ef!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
.kco-dj-recommended-extras-inline .kco-dj-recommended-extras-head{
  display:flex!important;align-items:baseline!important;gap:10px!important;flex-wrap:wrap!important;padding:0!important;margin:0 0 12px!important
}
.kco-dj-recommended-extras-inline .kco-dj-recommended-extras-head>span{font-size:8px!important;letter-spacing:.14em!important;flex:0 0 auto}
.kco-dj-recommended-extras-inline .kco-dj-recommended-extras-head>strong{display:block!important;margin:0!important;font-size:18px!important;line-height:1.15!important;white-space:nowrap!important;color:#252b3b!important}
.kco-dj-recommended-extras-inline .kco-dj-recommended-extras-head>p{margin:0!important;font-size:10px!important;color:#7b8291!important;line-height:1.4!important}
.kco-dj-recommended-extras-inline .kco-dj-recommended-extras-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important;margin:0!important}
.kco-dj-extra-card{grid-template-columns:92px minmax(0,1fr) auto!important;min-height:112px!important;padding:11px 12px!important;border-radius:17px!important}
.kco-dj-extra-thumb{width:92px!important;height:92px!important;border-radius:14px!important;background:#f1f3f8!important}
.kco-dj-extra-thumb img{padding:5px!important}
.kco-dj-extra-copy strong{font-size:12px!important;line-height:1.26!important}
.kco-dj-extra-copy span{font-size:11px!important}.kco-dj-extra-copy em{font-size:8.5px!important}

/* Five add-on styles. */
.kco-dj-extra-style-cards .kco-dj-extra-card{background:linear-gradient(145deg,#fff,#fbfbfe)!important;border-color:#e1e4ec!important;box-shadow:0 8px 24px rgba(34,42,72,.055)!important}
.kco-dj-extra-style-spotlight{padding:16px!important;border:1px solid #d9d3ff!important;border-radius:20px!important;background:linear-gradient(135deg,#f3f0ff,#fff 58%)!important}
.kco-dj-extra-style-spotlight .kco-dj-extra-card{border-color:#cfc7ff!important;background:#fff!important;box-shadow:0 14px 34px rgba(84,63,236,.11)!important}
.kco-dj-extra-style-spotlight .kco-dj-extra-thumb{background:linear-gradient(145deg,#f7f5ff,#ece8ff)!important}
.kco-dj-extra-style-tiles .kco-dj-recommended-extras-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}
.kco-dj-extra-style-tiles .kco-dj-extra-card{display:flex!important;flex-direction:column!important;align-items:stretch!important;min-height:0!important;padding:10px!important}
.kco-dj-extra-style-tiles .kco-dj-extra-thumb{width:100%!important;height:126px!important}
.kco-dj-extra-style-tiles .kco-dj-extra-action{justify-content:stretch!important;min-width:0!important}.kco-dj-extra-style-tiles .kco-dj-extra-add,.kco-dj-extra-style-tiles .kco-dj-extra-stepper{width:100%!important}
.kco-dj-extra-style-soft .kco-dj-extra-card{background:#fafbfe!important;border-color:#eef0f4!important;box-shadow:none!important}.kco-dj-extra-style-soft .kco-dj-extra-thumb{background:#fff!important;border:1px solid #eceef3}
.kco-dj-extra-style-premium{padding:16px!important;border:1px solid #252c46!important;border-radius:20px!important;background:linear-gradient(125deg,#131728,#24213f 62%,#33236c)!important}
.kco-dj-extra-style-premium .kco-dj-recommended-extras-head>span{color:#bdb7ff!important}.kco-dj-extra-style-premium .kco-dj-recommended-extras-head>strong{color:#fff!important}.kco-dj-extra-style-premium .kco-dj-recommended-extras-head>p{color:#c7c4d8!important}
.kco-dj-extra-style-premium .kco-dj-extra-card{background:rgba(255,255,255,.08)!important;border-color:rgba(255,255,255,.14)!important;box-shadow:none!important}.kco-dj-extra-style-premium .kco-dj-extra-copy strong{color:#fff!important}.kco-dj-extra-style-premium .kco-dj-extra-copy em{color:#c7c4d8!important}.kco-dj-extra-style-premium .kco-dj-extra-thumb{background:rgba(255,255,255,.1)!important}.kco-dj-extra-style-premium .kco-dj-extra-add,.kco-dj-extra-style-premium .kco-dj-extra-stepper{border-color:rgba(255,255,255,.2)!important}

/* Event summary: heading stays in one horizontal line on desktop, facts sit below it. */
.kco-dj-price-context{display:block!important;padding:15px 18px!important}
.kco-dj-price-context .kco-dj-event-context-copy{display:flex!important;align-items:baseline!important;gap:10px!important;flex-wrap:wrap!important;min-width:0!important}
.kco-dj-price-context .kco-dj-event-context-copy>small{margin:0!important;flex:0 0 auto!important}
.kco-dj-price-context .kco-dj-event-context-copy>strong{display:inline-block!important;margin:0!important;font-size:18px!important;line-height:1.15!important;white-space:nowrap!important}
.kco-dj-price-context .kco-dj-event-context-copy>p{margin:0!important;font-size:10px!important;line-height:1.45!important}
.kco-dj-price-context .kco-dj-event-summary{display:flex!important;flex-wrap:wrap!important;gap:7px!important;margin:11px 0 0!important}
.kco-dj-price-context .kco-dj-event-value-points{display:flex!important;flex-wrap:wrap!important;gap:8px!important;margin:11px 0 0!important;padding-top:10px!important;border-top:1px solid rgba(80,73,190,.10)!important}

.kco-dj-event-style-compact{background:#fafbfe!important;border-bottom:1px solid #e7e9f0!important}
.kco-dj-event-style-compact .kco-dj-event-context-copy>strong{display:inline-block!important}.kco-dj-event-style-compact .kco-dj-event-context-copy>p{display:none!important}.kco-dj-event-style-compact .kco-dj-event-value-points{display:none!important}.kco-dj-event-style-compact .kco-dj-event-context-copy>small{margin:0!important}
.kco-dj-event-style-value{display:block!important;background:linear-gradient(135deg,#f2f0ff 0%,#fbfaff 58%,#fff 100%)!important;border-bottom:1px solid #e2e0f6!important}
.kco-dj-event-style-value .kco-dj-event-value-points{grid-column:auto!important}
.kco-dj-event-style-premium{display:block!important;background:linear-gradient(125deg,#171a2b 0%,#26214c 58%,#39248b 100%)!important;border-bottom:0!important}
.kco-dj-event-style-premium .kco-dj-event-context-copy>strong{color:#fff!important}.kco-dj-event-style-premium .kco-dj-event-context-copy>small{color:#bdb7ff!important}.kco-dj-event-style-premium .kco-dj-event-context-copy>p{color:#d1cee6!important}.kco-dj-event-style-premium .kco-dj-event-summary{display:flex!important}.kco-dj-event-style-premium .kco-dj-event-summary span{padding:7px 10px!important}.kco-dj-event-style-premium .kco-dj-event-value-points{grid-column:auto!important}
.kco-dj-event-style-accent{background:linear-gradient(90deg,#eeebff 0,#f7f5ff 100%)!important;border-left:5px solid var(--kco-accent)!important;border-bottom:1px solid #ded9ff!important}.kco-dj-event-style-accent .kco-dj-event-summary span{background:#fff!important;border-color:#d8d2ff!important;color:#3c355d!important}
.kco-dj-event-style-minimal{padding:15px 0!important;background:#fff!important;border-bottom:1px solid #e9ebf1!important}.kco-dj-event-style-minimal .kco-dj-event-context-copy>small{display:none!important}.kco-dj-event-style-minimal .kco-dj-event-context-copy>strong{font-size:20px!important}.kco-dj-event-style-minimal .kco-dj-event-context-copy>p{color:#8a91a0!important}.kco-dj-event-style-minimal .kco-dj-event-summary span{border:0!important;background:#f5f6fa!important;padding:7px 10px!important}.kco-dj-event-style-minimal .kco-dj-event-value-points{border-top:0!important;padding-top:2px!important}

@media(max-width:900px){
  .kco-dj-extra-style-tiles .kco-dj-recommended-extras-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:640px){
  .kco-dj-shell>.kco-dj-planner-panel{margin-top:16px!important}
  .kco-dj-hero-style-classic,.kco-dj-hero-style-compact,.kco-dj-hero-style-clean,.kco-dj-hero-style-split,.kco-dj-hero-style-spotlight{padding-top:36px!important;padding-bottom:34px!important}
  .kco-dj-recommended-extras-inline .kco-dj-recommended-extras-head{display:block!important}.kco-dj-recommended-extras-inline .kco-dj-recommended-extras-head>strong{white-space:normal!important;margin-top:4px!important}.kco-dj-recommended-extras-inline .kco-dj-recommended-extras-head>p{margin-top:4px!important}
  .kco-dj-recommended-extras-inline .kco-dj-recommended-extras-grid,.kco-dj-extra-style-tiles .kco-dj-recommended-extras-grid{grid-template-columns:1fr!important}
  .kco-dj-extra-card{grid-template-columns:78px minmax(0,1fr)!important}.kco-dj-extra-thumb{width:78px!important;height:78px!important}.kco-dj-extra-style-tiles .kco-dj-extra-thumb{height:118px!important}
  .kco-dj-price-context .kco-dj-event-context-copy{display:block!important}.kco-dj-price-context .kco-dj-event-context-copy>strong{display:block!important;white-space:normal!important;margin-top:4px!important}.kco-dj-price-context .kco-dj-event-context-copy>p{margin-top:4px!important}
}

/* 3.2.7 — stable optional-extra visual refresh + price-details inset.
   Result-card extras sit in front of the approved ready-package montage instead
   of forcing the whole composition through the generic editor packer. */
.kco-dj-rental-scene{position:relative!important}
.kco-dj-quick-extra-overlay{
  position:absolute;
  z-index:74;
  left:18%;
  right:18%;
  bottom:1.5%;
  height:24%;
  display:flex;
  align-items:flex-end;
  justify-content:center;
  gap:clamp(3px,.8vw,9px);
  pointer-events:none;
  overflow:visible;
}
.kco-dj-quick-extra-unit{
  display:flex;
  align-items:flex-end;
  justify-content:center;
  flex:0 1 clamp(38px,7.2%,72px);
  width:clamp(38px,7.2%,72px);
  height:100%;
  min-width:0;
  filter:drop-shadow(0 5px 7px rgba(24,31,48,.12));
}
.kco-dj-quick-extra-unit.is-wide{flex-basis:clamp(60px,13%,118px);width:clamp(60px,13%,118px)}
.kco-dj-quick-extra-unit.is-medium,
.kco-dj-quick-extra-unit.is-normal{flex-basis:clamp(48px,9.5%,88px);width:clamp(48px,9.5%,88px)}
.kco-dj-quick-extra-unit.is-backdrop{flex-basis:clamp(62px,13%,122px);width:clamp(62px,13%,122px);height:122%}
.kco-dj-quick-extra-unit img{
  display:block;
  width:100%!important;
  height:100%!important;
  max-width:100%!important;
  max-height:100%!important;
  object-fit:contain!important;
  object-position:center bottom!important;
}
.kco-dj-quick-extra-overlay.is-crowded{left:11%;right:11%;gap:clamp(2px,.5vw,6px)}
.kco-dj-result-visual.is-extra-updated .kco-dj-quick-extra-unit{animation:kcoDjQuickExtraIn .34s ease both}
@keyframes kcoDjQuickExtraIn{
  from{opacity:.35;transform:translateY(8px) scale(.94)}
  to{opacity:1;transform:translateY(0) scale(1)}
}

/* The final 3.2.5 override accidentally removed the horizontal inset from the
   “Mit tartalmaz az ár?” control. Keep it aligned with the price and rows. */
.kco-dj-price-box>.kco-dj-breakdown-toggle{
  padding:10px 18px 0!important;
  margin:0!important;
}
@media(max-width:640px){
  .kco-dj-quick-extra-overlay{left:10%;right:10%;height:22%;bottom:1%}
  .kco-dj-quick-extra-unit{flex-basis:clamp(30px,10%,52px);width:clamp(30px,10%,52px)}
  .kco-dj-price-box>.kco-dj-breakdown-toggle{padding:10px 14px 0!important}
}



/* 3.2.9 — clearer first-choice affordance */

.kco-dj-step-hint.kco-dj-step-hint-primary{
  display:flex!important;
  align-items:center!important;
  gap:8px!important;
  width:fit-content!important;
  margin:0 0 14px 49px!important;
  padding:8px 12px!important;
  border-radius:999px!important;
  background:color-mix(in srgb,var(--kco-accent) 8%,#fff)!important;
  color:var(--kco-accent)!important;
  font-size:13px!important;
  line-height:1.2!important;
  font-weight:800!important;
  letter-spacing:.01em!important;
}
.kco-dj-step-hint.kco-dj-step-hint-primary span{
  font-size:15px!important;
  line-height:1!important;
  font-weight:900!important;
}

@media (max-width:767px){
  .kco-dj-step-hint.kco-dj-step-hint-primary{
    margin-left:0!important;
    margin-bottom:12px!important;
    font-size:12px!important;
  }
}


/* 3.2.10 — editable title between HERO and the 5-step planner */
.kco-dj-planner-intro{
  max-width:980px;
  margin:34px auto 18px!important;
  padding:0 24px!important;
  text-align:center;
}
.kco-dj-planner-intro h2{
  margin:0!important;
  color:#15182d!important;
  font-size:clamp(24px,2.45vw,34px)!important;
  line-height:1.18!important;
  letter-spacing:-.7px!important;
  font-weight:800!important;
}
.kco-dj-hero + .kco-dj-planner-intro{
  margin-top:34px!important;
}

@media (max-width:767px){
  .kco-dj-planner-intro{
    margin:24px auto 14px!important;
    padding:0 18px!important;
    text-align:left;
  }
  .kco-dj-planner-intro h2{
    font-size:23px!important;
    line-height:1.22!important;
    letter-spacing:-.35px!important;
  }
}

/* 3.2.12 — selected CF7 event form: deterministic compact two-column grid.
   JS moves only the actual field wrappers; the native CF7 submit control stays
   outside the grid and retains the existing iPhone-safe behavior. */
.kco-dj-cf7 .wpcf7-form{
  display:block!important;
  margin:0!important;
}
.kco-dj-cf7 .kco-cf7-fields-grid{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:14px 16px!important;
  align-items:start!important;
  margin:0 0 12px!important;
}
.kco-dj-cf7 .kco-cf7-field-half{
  grid-column:span 1!important;
  min-width:0!important;
  margin:0!important;
}
.kco-dj-cf7 .kco-cf7-field-full{
  grid-column:1 / -1!important;
  min-width:0!important;
  margin:0!important;
}
.kco-dj-cf7 .kco-cf7-fields-grid .uacf7-row,
.kco-dj-cf7 .kco-cf7-fields-grid [class*=uacf7-col-]{
  display:block!important;
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  margin:0!important;
  padding:0!important;
  float:none!important;
  flex:none!important;
}
.kco-dj-cf7 .kco-cf7-fields-grid .wpcf7cf_group{
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  margin:0!important;
  padding:0!important;
}
.kco-dj-cf7 .kco-cf7-fields-grid label{
  display:block!important;
  width:100%!important;
  margin:0!important;
}
.kco-dj-cf7 .kco-cf7-fields-grid input:not([type=submit]):not([type=checkbox]):not([type=radio]),
.kco-dj-cf7 .kco-cf7-fields-grid select,
.kco-dj-cf7 .kco-cf7-fields-grid textarea{
  width:100%!important;
  max-width:none!important;
}
@media(max-width:780px){
  .kco-dj-cf7 .kco-cf7-fields-grid{
    grid-template-columns:1fr!important;
    gap:10px!important;
    margin-bottom:10px!important;
  }
  .kco-dj-cf7 .kco-cf7-field-half,
  .kco-dj-cf7 .kco-cf7-field-full{
    grid-column:1!important;
  }
}

/* 3.2.11 — make “Megnézem a többi csomagot” noticeable without competing
   with the primary purple quote CTA. Cyan/blue is the secondary action colour. */
.kco-dj-other-packages-callout .kco-dj-other-packages-toggle{
  min-height:44px!important;
  padding:11px 15px!important;
  border:1px solid rgba(255,255,255,.18)!important;
  background:linear-gradient(135deg,#12bfe8 0%,#4f67ff 100%)!important;
  color:#fff!important;
  box-shadow:0 9px 22px rgba(42,101,226,.22)!important;
  text-shadow:0 1px 1px rgba(0,0,0,.06);
}
.kco-dj-other-packages-callout .kco-dj-other-packages-toggle:hover,
.kco-dj-other-packages-callout .kco-dj-other-packages-toggle:focus-visible{
  border-color:rgba(255,255,255,.28)!important;
  color:#fff!important;
  filter:brightness(1.045);
  box-shadow:0 12px 28px rgba(42,101,226,.29)!important;
  transform:translateY(-1px);
}
.kco-dj-other-packages-callout .kco-dj-other-packages-toggle span{
  color:#fff!important;
}


@media (max-width: 767px) {
    .kco-dj-capacity-warning {
        margin: 0 0 16px 0;
        padding: 10px 12px;
        gap: 8px;
        font-size: 11px;
        line-height: 1.45;
    }
    .kco-dj-capacity-warning strong { font-size: 10px; }
}

/* ========================================================================
   3.3.0 — KLUB / BÁR, RENDSZERES KARAOKE
   Külön, rövidebb sales-flow. Nem kész DJ-csomagként jelenik meg: az alkalmi
   szolgáltatás és a havi technikabérlet vizuálisan is két külön döntés.
   ======================================================================== */
.kco-dj-planner-app .kco-dj-venue-planner{
  width:min(1040px,calc(100% - 40px));
  margin:clamp(38px,5vw,64px) auto 56px;
  border:1px solid #e4e7f1;
  border-radius:26px;
  background:#fff;
  box-shadow:0 22px 64px rgba(26,35,69,.085);
  overflow:hidden;
  scroll-margin-top:28px;
}
.kco-dj-planner-app .kco-dj-venue-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:28px;
  padding:30px 38px 27px;
  border-bottom:1px solid #e8eaf2;
  background:
    radial-gradient(circle at 92% 0,rgba(85,64,255,.12),transparent 38%),
    linear-gradient(135deg,#fafaff 0%,#f5f3ff 100%);
}
.kco-dj-planner-app .kco-dj-venue-head>div:first-child{min-width:0;max-width:760px}
.kco-dj-planner-app .kco-dj-venue-head>div:first-child>span,
.kco-dj-planner-app .kco-dj-venue-result-head>span,
.kco-dj-planner-app .kco-dj-venue-visual-head>span,
.kco-dj-planner-app .kco-dj-venue-items>small{
  display:block;
  margin:0 0 7px;
  color:var(--kco-accent);
  font-size:10px;
  line-height:1.2;
  font-weight:900;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.kco-dj-planner-app .kco-dj-venue-head h2{
  margin:0!important;
  padding:0!important;
  color:#171b30!important;
  font-size:clamp(27px,3vw,38px)!important;
  line-height:1.08!important;
  letter-spacing:-.035em!important;
  font-weight:850!important;
}
.kco-dj-planner-app .kco-dj-venue-head p{
  max-width:720px;
  margin:9px 0 0!important;
  color:#6c7386!important;
  font-size:14px!important;
  line-height:1.55!important;
}
.kco-dj-planner-app .kco-dj-venue-progress{
  flex:0 0 auto;
  display:flex;
  align-items:baseline;
  gap:4px;
  min-width:72px;
  padding:10px 13px;
  border:1px solid rgba(82,65,246,.13);
  border-radius:14px;
  background:rgba(255,255,255,.76);
  color:#9197a8;
  text-align:center;
}
.kco-dj-planner-app .kco-dj-venue-progress b{
  color:var(--kco-accent);
  font-size:21px;
  line-height:1;
  font-weight:900;
}
.kco-dj-planner-app .kco-dj-venue-progress span{font-size:11px;font-weight:800}

.kco-dj-planner-app .kco-dj-venue-step{
  min-height:300px;
  padding:32px 38px 27px;
  background:#fff;
}
.kco-dj-planner-app .kco-dj-venue-step .kco-dj-question-copy{
  max-width:810px;
  margin-bottom:22px;
}
.kco-dj-planner-app .kco-dj-venue-choice-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
}
.kco-dj-planner-app .kco-dj-venue-choice-grid button{
  min-width:0;
  min-height:82px;
}
.kco-dj-planner-app .kco-dj-venue-step .kco-dj-choice-strip.is-compact{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
}
.kco-dj-planner-app .kco-dj-venue-step .kco-dj-choice-strip.is-compact button{
  width:100%;
  min-width:0;
  min-height:78px;
  padding:14px 16px;
  text-align:left;
}
.kco-dj-planner-app .kco-dj-venue-step .kco-dj-choice-strip.is-compact button small{
  max-width:390px;
}
.kco-dj-planner-app .kco-dj-venue-final-grid{
  display:grid;
  grid-template-columns:minmax(0,1.15fr) minmax(250px,.85fr);
  gap:24px;
  align-items:start;
}
.kco-dj-planner-app .kco-dj-venue-field-label{
  display:block;
  margin:0 0 8px;
  color:#737b8d;
  font-size:10px;
  line-height:1.2;
  font-weight:850;
  letter-spacing:.1em;
  text-transform:uppercase;
}
.kco-dj-planner-app .kco-dj-venue-final-grid .kco-dj-choice-strip.is-compact{
  grid-template-columns:repeat(2,minmax(0,1fr));
}
.kco-dj-planner-app .kco-dj-venue-final-grid>div:last-child .kco-dj-choice-strip.is-compact{
  grid-template-columns:repeat(2,minmax(0,1fr));
}
.kco-dj-planner-app .kco-dj-venue-final-grid .kco-dj-choice-strip.is-compact button{
  min-height:58px;
  text-align:center;
}

/* CLUB RESULT */
.kco-dj-planner-app .kco-dj-venue-result{
  width:min(1080px,calc(100% - 40px));
  margin:40px auto 70px;
  scroll-margin-top:28px;
}
.kco-dj-planner-app .kco-dj-venue-result>.kco-dj-result-toolbar{
  margin:0 0 12px;
  padding:0 2px;
}
.kco-dj-planner-app .kco-dj-venue-result-head{
  position:relative;
  overflow:hidden;
  padding:27px 31px 25px;
  border:1px solid #e3e5f1;
  border-radius:21px 21px 0 0;
  background:
    radial-gradient(circle at 95% 15%,rgba(93,59,255,.13),transparent 32%),
    linear-gradient(135deg,#fbfbff 0%,#f4f1ff 100%);
}
.kco-dj-planner-app .kco-dj-venue-result-head h2{
  margin:0!important;
  color:#171b30!important;
  font-size:clamp(27px,3vw,38px)!important;
  line-height:1.08!important;
  letter-spacing:-.035em!important;
  font-weight:850!important;
}
.kco-dj-planner-app .kco-dj-venue-result-head p{
  max-width:780px;
  margin:9px 0 0!important;
  color:#6c7386!important;
  font-size:13px!important;
  line-height:1.55!important;
}
.kco-dj-planner-app .kco-dj-venue-result-grid{
  display:grid;
  grid-template-columns:minmax(0,1.03fr) minmax(330px,.97fr);
  gap:0;
  align-items:stretch;
  border:1px solid #e3e5f1;
  border-top:0;
  background:#fff;
}
.kco-dj-planner-app .kco-dj-venue-visual-card{
  min-width:0;
  padding:24px 25px 23px;
  border-right:1px solid #e8eaf1;
  background:#f7f8fc;
}
.kco-dj-planner-app .kco-dj-venue-visual-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  min-height:31px;
  margin-bottom:8px;
}
.kco-dj-planner-app .kco-dj-venue-visual-head>div{
  display:flex;
  flex-wrap:wrap;
  justify-content:flex-end;
  gap:5px;
}
.kco-dj-planner-app .kco-dj-venue-visual-head>div span{
  display:inline-flex;
  align-items:center;
  min-height:24px;
  padding:4px 8px;
  border:1px solid #e0e2ee;
  border-radius:999px;
  background:#fff;
  color:#5e6578;
  font-size:9px;
  line-height:1.1;
  font-weight:800;
}
.kco-dj-planner-app .kco-dj-venue-scene{
  position:relative!important;
  width:100%!important;
  height:300px!important;
  min-height:300px!important;
  overflow:hidden!important;
  border:1px solid #e5e8f0!important;
  border-radius:17px!important;
  background:
    radial-gradient(circle at 50% 95%,rgba(81,64,255,.07),transparent 42%),
    #fff!important;
}
.kco-dj-planner-app .kco-dj-venue-scene .kco-package-layout{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
}
.kco-dj-planner-app .kco-dj-venue-character{
  position:absolute;
  z-index:80;
  right:2.5%;
  bottom:0;
  width:30%;
  height:86%;
  pointer-events:none;
  filter:drop-shadow(0 12px 16px rgba(25,29,55,.13));
}
.kco-dj-planner-app .kco-dj-venue-character img{
  display:block;
  width:var(--kco-venue-character-size,88%);
  max-width:100%;
  height:100%;
  margin-left:auto;
  object-fit:contain;
  object-position:right bottom;
}
.kco-dj-planner-app .kco-dj-venue-items{
  margin-top:15px;
}
.kco-dj-planner-app .kco-dj-venue-items>div{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
}
.kco-dj-planner-app .kco-dj-venue-items>div span{
  display:inline-flex;
  align-items:center;
  min-height:28px;
  padding:5px 9px;
  border:1px solid #e0e4ed;
  border-radius:9px;
  background:#fff;
  color:#4f576a;
  font-size:10px;
  font-weight:750;
}
.kco-dj-planner-app .kco-dj-venue-items>div span.is-local{
  border-color:#ccebdd;
  background:#eefaf4;
  color:#257351;
}

.kco-dj-planner-app .kco-dj-venue-price-card{
  min-width:0;
  padding:25px 27px 27px;
  background:#fff;
}
.kco-dj-planner-app .kco-dj-venue-price-block{
  padding:16px 17px;
  border:1px solid #e3e6ef;
  border-radius:15px;
  background:#fafbfe;
}
.kco-dj-planner-app .kco-dj-venue-price-block small{
  display:block;
  margin-bottom:4px;
  color:#7c8395;
  font-size:10px;
  font-weight:850;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.kco-dj-planner-app .kco-dj-venue-price-block strong{
  display:block;
  color:#14192b;
  font-size:clamp(25px,3vw,34px);
  line-height:1.08;
  letter-spacing:-.03em;
}
.kco-dj-planner-app .kco-dj-venue-price-block p{
  margin:6px 0 0!important;
  color:#747b8e!important;
  font-size:11px!important;
  line-height:1.45!important;
}
.kco-dj-planner-app .kco-dj-venue-price-block.is-primary{
  border-color:color-mix(in srgb,var(--kco-accent) 22%,#e3e6ef);
  background:color-mix(in srgb,var(--kco-accent) 5%,#fff);
}
.kco-dj-planner-app .kco-dj-venue-price-block.is-primary strong{color:var(--kco-accent)}
.kco-dj-planner-app .kco-dj-venue-price-block.is-monthly{
  margin-top:13px;
  border-color:#cfe9dd;
  background:#f1faf6;
}
.kco-dj-planner-app .kco-dj-venue-price-block.is-monthly strong{color:#18724d}
.kco-dj-planner-app .kco-dj-venue-price-lines,
.kco-dj-planner-app .kco-dj-venue-monthly-lines{
  margin:9px 1px 0;
}
.kco-dj-planner-app .kco-dj-venue-price-lines>div,
.kco-dj-planner-app .kco-dj-venue-monthly-lines>div{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:18px;
  padding:8px 3px;
  border-bottom:1px solid #eef0f4;
  color:#676f82;
  font-size:11px;
}
.kco-dj-planner-app .kco-dj-venue-price-lines>div:last-child,
.kco-dj-planner-app .kco-dj-venue-monthly-lines>div:last-child{border-bottom:0}
.kco-dj-planner-app .kco-dj-venue-price-lines b,
.kco-dj-planner-app .kco-dj-venue-monthly-lines b{
  flex:0 0 auto;
  color:#22283a;
  white-space:nowrap;
}
.kco-dj-planner-app .kco-dj-venue-monthly-lines>p{
  margin:8px 3px 0!important;
  color:#7d8496!important;
  font-size:11px!important;
}
.kco-dj-planner-app .kco-dj-venue-purchase-note{
  display:flex;
  gap:9px;
  align-items:flex-start;
  margin:14px 0;
  padding:12px 13px;
  border:1px solid #eadfbb;
  border-radius:13px;
  background:#fffbef;
}
.kco-dj-planner-app .kco-dj-venue-purchase-note>span{flex:0 0 auto;font-size:15px}
.kco-dj-planner-app .kco-dj-venue-purchase-note p{
  margin:0!important;
  color:#665b3d!important;
  font-size:11px!important;
  line-height:1.5!important;
}
.kco-dj-planner-app .kco-dj-venue-quote{width:100%;min-height:54px}
.kco-dj-planner-app .kco-dj-venue-disclaimer{
  display:grid;
  grid-template-columns:170px 1fr;
  gap:18px;
  padding:18px 24px;
  border:1px solid #e3e5f1;
  border-top:0;
  border-radius:0 0 21px 21px;
  background:#fafbfc;
}
.kco-dj-planner-app .kco-dj-venue-disclaimer strong{
  color:#3e4558;
  font-size:11px;
  font-weight:850;
}
.kco-dj-planner-app .kco-dj-venue-disclaimer p{
  margin:0!important;
  color:#7a8192!important;
  font-size:10px!important;
  line-height:1.5!important;
}

@media(max-width:980px){
  .kco-dj-planner-app .kco-dj-venue-planner,
  .kco-dj-planner-app .kco-dj-venue-result{width:min(760px,calc(100% - 32px))}
  .kco-dj-planner-app .kco-dj-venue-choice-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .kco-dj-planner-app .kco-dj-venue-final-grid{grid-template-columns:1fr}
  .kco-dj-planner-app .kco-dj-venue-result-grid{grid-template-columns:1fr}
  .kco-dj-planner-app .kco-dj-venue-visual-card{border-right:0;border-bottom:1px solid #e8eaf1}
}
@media(max-width:720px){
  .kco-dj-planner-app .kco-dj-venue-planner,
  .kco-dj-planner-app .kco-dj-venue-result{width:calc(100% - 24px);margin-top:28px;margin-bottom:48px}
  .kco-dj-planner-app .kco-dj-venue-planner{border-radius:21px}
  .kco-dj-planner-app .kco-dj-venue-head{padding:23px 20px 20px;gap:13px}
  .kco-dj-planner-app .kco-dj-venue-head h2{font-size:25px!important}
  .kco-dj-planner-app .kco-dj-venue-head p{font-size:12px!important}
  .kco-dj-planner-app .kco-dj-venue-progress{min-width:58px;padding:8px 9px}
  .kco-dj-planner-app .kco-dj-venue-progress b{font-size:18px}
  .kco-dj-planner-app .kco-dj-venue-step{min-height:0;padding:26px 20px 21px}
  .kco-dj-planner-app .kco-dj-venue-choice-grid,
  .kco-dj-planner-app .kco-dj-venue-step .kco-dj-choice-strip.is-compact,
  .kco-dj-planner-app .kco-dj-venue-final-grid .kco-dj-choice-strip.is-compact,
  .kco-dj-planner-app .kco-dj-venue-final-grid>div:last-child .kco-dj-choice-strip.is-compact{grid-template-columns:1fr}
  .kco-dj-planner-app .kco-dj-venue-choice-grid button,
  .kco-dj-planner-app .kco-dj-venue-step .kco-dj-choice-strip.is-compact button{min-height:66px}
  .kco-dj-planner-app .kco-dj-venue-result>.kco-dj-result-toolbar{flex-direction:column-reverse;align-items:stretch}
  .kco-dj-planner-app .kco-dj-venue-result-head{padding:23px 20px 21px;border-radius:18px 18px 0 0}
  .kco-dj-planner-app .kco-dj-venue-result-head h2{font-size:26px!important}
  .kco-dj-planner-app .kco-dj-venue-visual-card{padding:18px 16px}
  .kco-dj-planner-app .kco-dj-venue-visual-head{display:block}
  .kco-dj-planner-app .kco-dj-venue-visual-head>div{justify-content:flex-start;margin-top:7px}
  .kco-dj-planner-app .kco-dj-venue-scene{height:235px!important;min-height:235px!important}
  .kco-dj-planner-app .kco-dj-venue-character{width:34%;height:82%;right:1%}
  .kco-dj-planner-app .kco-dj-venue-price-card{padding:20px 18px 22px}
  .kco-dj-planner-app .kco-dj-venue-price-block strong{font-size:27px}
  .kco-dj-planner-app .kco-dj-venue-disclaimer{grid-template-columns:1fr;gap:6px;padding:16px 18px;border-radius:0 0 18px 18px}
}

/* 3.3.1 — klub/bár: külön helyszín + konkrét kezdés/befejezés, stabil vizuális sáv. */
.kco-dj-planner-app .kco-dj-venue-location-only{
  max-width:760px;
}
.kco-dj-planner-app .kco-dj-venue-location-only .kco-dj-choice-strip.is-compact{
  grid-template-columns:repeat(3,minmax(0,1fr));
}
.kco-dj-planner-app .kco-dj-venue-time-row{
  display:flex;
  align-items:end;
  gap:13px;
  max-width:760px;
  margin-top:4px;
}
.kco-dj-planner-app .kco-dj-venue-time-row label{flex:1 1 185px;min-width:0}
.kco-dj-planner-app .kco-dj-venue-time-row label>span{
  display:block;
  margin-bottom:7px;
  color:#747b8c;
  font-size:11px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.08em;
}
.kco-dj-planner-app .kco-dj-venue-time-row select{
  width:100%;
  height:53px;
  border:1px solid #dce0e9;
  border-radius:13px;
  padding:0 14px;
  background:#fff;
  color:#202536;
  font-weight:750;
}
.kco-dj-planner-app .kco-dj-venue-time-error{
  margin:10px 0 0!important;
  color:#b42318!important;
  font-size:12px!important;
  font-weight:750!important;
}
/* A személyzet számára külön jobb oldali sávot tartunk fenn. Így az eszközmontázs
   nem csúszik a karakter mögé és egyetlen széles/tall eszköz sem lóg le balra. */
.kco-dj-planner-app .kco-dj-venue-scene.has-character [data-dj-venue-stage]{
  left:0!important;
  right:auto!important;
  width:72%!important;
  height:100%!important;
}
.kco-dj-planner-app .kco-dj-venue-scene:not(.has-character) [data-dj-venue-stage]{
  left:0!important;
  right:0!important;
  width:100%!important;
}
.kco-dj-planner-app .kco-dj-venue-scene.has-character .kco-dj-venue-character{
  width:27%!important;
  right:1.5%!important;
}

@media (max-width:780px){
  .kco-dj-planner-app .kco-dj-venue-location-only .kco-dj-choice-strip.is-compact{grid-template-columns:1fr}
  .kco-dj-planner-app .kco-dj-venue-time-row{
    display:grid;
    grid-template-columns:1fr 28px 1fr;
    align-items:end;
    gap:8px;
  }
  .kco-dj-planner-app .kco-dj-venue-time-row .kco-dj-time-arrow{padding:0 0 14px;text-align:center}
  .kco-dj-planner-app .kco-dj-venue-time-row .kco-dj-duration-pill{grid-column:1/-1;text-align:center}
  .kco-dj-planner-app .kco-dj-venue-scene.has-character [data-dj-venue-stage]{width:70%!important}
  .kco-dj-planner-app .kco-dj-venue-scene.has-character .kco-dj-venue-character{width:29%!important;right:0!important}
}

/* 3.3.1 visual fix — the generic montage is centred with translateX(-50%).
   The club route deliberately reserves the right lane for the host character,
   so its stage starts at the left edge and MUST NOT inherit that centring
   transform. Otherwise half of the equipment stage slides outside the card. */
.kco-dj-planner-app .kco-dj-venue-scene [data-dj-venue-stage]{
  transform:translateX(var(--kco-dj-venue-fit-shift-x,0px)) scale(var(--kco-dj-venue-fit-zoom,1))!important;
  transform-origin:50% 100%!important;
  overflow:visible!important;
}
.kco-dj-planner-app .kco-dj-venue-scene{
  overflow:hidden!important;
}

/* 3.3.2 — venue result groups: base equipment is included, only missing local sound/display is rented. */
.kco-dj-planner-app .kco-dj-venue-item-group{margin-top:9px;padding:10px 11px;border:1px solid #e3e6ee;border-radius:11px;background:#fff}
.kco-dj-planner-app .kco-dj-venue-item-group>b{display:block;color:#30374a;font-size:10px;line-height:1.25;text-transform:uppercase;letter-spacing:.05em}
.kco-dj-planner-app .kco-dj-venue-item-group>small{display:block;margin:3px 0 7px;color:#858da0;font-size:9px;line-height:1.35}
.kco-dj-planner-app .kco-dj-venue-item-group>div{display:flex;flex-wrap:wrap;gap:6px}
.kco-dj-planner-app .kco-dj-venue-item-group>div span{display:inline-flex;align-items:center;min-height:28px;padding:5px 9px;border:1px solid #e0e4ed;border-radius:9px;background:#fff;color:#4f576a;font-size:10px;font-weight:750}
.kco-dj-planner-app .kco-dj-venue-item-group.is-base{border-color:#d9d4ff;background:#faf9ff}.kco-dj-planner-app .kco-dj-venue-item-group.is-base>b{color:#5546d8}
.kco-dj-planner-app .kco-dj-venue-item-group.is-rental{border-color:#dbe8f7;background:#fbfdff}.kco-dj-planner-app .kco-dj-venue-item-group.is-rental>b{color:#286697}
.kco-dj-planner-app .kco-dj-venue-item-group.is-local{border-color:#ccebdd;background:#eefaf4}.kco-dj-planner-app .kco-dj-venue-item-group.is-local>b{color:#257351}.kco-dj-planner-app .kco-dj-venue-item-group.is-local>div span{border-color:#ccebdd;background:#f7fffb;color:#257351}

/* 3.3.3 — klub/bár eredmény: kalkuláció alapja hangsúlyosabb, havi technika részletezett,
   tájékoztató irányár pedig valódi FONTOS figyelmeztetésként jelenik meg. */
.kco-dj-planner-app .kco-dj-venue-calc-basis{
  margin:0 0 14px;
  padding:13px 14px 12px;
  border:1px solid color-mix(in srgb,var(--kco-accent) 26%,#e1e4ee);
  border-radius:14px;
  background:
    radial-gradient(circle at 96% 10%,rgba(93,59,255,.10),transparent 40%),
    linear-gradient(135deg,#fff 0%,#f7f5ff 100%);
  box-shadow:0 9px 24px rgba(46,42,94,.055);
}
.kco-dj-planner-app .kco-dj-venue-calc-basis-title{
  display:flex;
  align-items:baseline;
  gap:9px;
  margin-bottom:9px;
}
.kco-dj-planner-app .kco-dj-venue-calc-basis-title>span{
  color:var(--kco-accent);
  font-size:9px;
  line-height:1.2;
  font-weight:900;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.kco-dj-planner-app .kco-dj-venue-calc-basis-title>strong{
  color:#1d2235;
  font-size:14px;
  line-height:1.25;
  font-weight:850;
}
.kco-dj-planner-app .kco-dj-venue-tags{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
}
.kco-dj-planner-app .kco-dj-venue-tags span{
  display:inline-flex;
  align-items:center;
  min-height:29px;
  padding:6px 10px;
  border:1px solid color-mix(in srgb,var(--kco-accent) 21%,#e2e5ee);
  border-radius:999px;
  background:#fff;
  color:#3d4358;
  font-size:10px;
  line-height:1.1;
  font-weight:850;
  box-shadow:0 3px 10px rgba(50,48,84,.04);
}
.kco-dj-planner-app .kco-dj-venue-visual-head{
  min-height:0;
  margin:0 0 8px;
}

/* A havi díj részletezése a zöld összesítőn BELÜL marad, így a hiány oka,
   a bérelt kategória, a tartalom és az ár egy vizuális egység. */
.kco-dj-planner-app .kco-dj-venue-price-block.is-monthly .kco-dj-venue-monthly-lines{
  margin:13px -2px 0;
  padding-top:3px;
  border-top:1px solid #d8ebe1;
}
.kco-dj-planner-app .kco-dj-venue-monthly-group{
  padding:11px 2px 9px;
  border-bottom:1px solid #dfeee7;
}
.kco-dj-planner-app .kco-dj-venue-monthly-group:last-child{border-bottom:0;padding-bottom:1px}
.kco-dj-planner-app .kco-dj-venue-monthly-group-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:14px;
}
.kco-dj-planner-app .kco-dj-venue-monthly-group-head>span{
  min-width:0;
}
.kco-dj-planner-app .kco-dj-venue-monthly-group-head>span>b{
  display:block;
  color:#29463a;
  font-size:11px;
  line-height:1.3;
  font-weight:850;
}
.kco-dj-planner-app .kco-dj-venue-monthly-group-head>span>small{
  display:block;
  margin-top:3px;
  color:#688074;
  font-size:9.5px;
  line-height:1.4;
  font-weight:650;
}
.kco-dj-planner-app .kco-dj-venue-monthly-group-head>strong{
  flex:0 0 auto;
  color:#176d4a;
  font-size:11px;
  line-height:1.3;
  font-weight:900;
  white-space:nowrap;
}
.kco-dj-planner-app .kco-dj-venue-monthly-items{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:5px;
  margin-top:8px;
}
.kco-dj-planner-app .kco-dj-venue-monthly-items>small{
  width:100%;
  margin:0 0 1px;
  color:#789085;
  font-size:8.5px;
  line-height:1.2;
  font-weight:850;
  letter-spacing:.07em;
  text-transform:uppercase;
}
.kco-dj-planner-app .kco-dj-venue-monthly-items>span{
  display:inline-flex;
  align-items:center;
  min-height:25px;
  padding:4px 8px;
  border:1px solid #cfe7db;
  border-radius:8px;
  background:#fff;
  color:#345448;
  font-size:9px;
  line-height:1.15;
  font-weight:750;
}

/* A korábbi lábléc-jellegű tájékoztatás helyett piros FONTOS doboz. */
.kco-dj-planner-app .kco-dj-venue-disclaimer{
  display:flex;
  align-items:flex-start;
  gap:12px;
  padding:16px 20px;
  border:1px solid #f0c8c5;
  border-left:4px solid #d92d20;
  border-top:1px solid #f0c8c5;
  border-radius:0 0 21px 21px;
  background:#fff6f5;
}
.kco-dj-planner-app .kco-dj-venue-disclaimer-icon{
  flex:0 0 28px;
  width:28px;
  height:28px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:50%;
  background:#d92d20;
  color:#fff;
  font-size:15px;
  line-height:1;
  font-weight:900;
}
.kco-dj-planner-app .kco-dj-venue-disclaimer>div{min-width:0}
.kco-dj-planner-app .kco-dj-venue-disclaimer>div>strong{
  display:block;
  margin-bottom:3px;
  color:#d92d20;
  font-size:9px;
  line-height:1.2;
  font-weight:900;
  letter-spacing:.11em;
  text-transform:uppercase;
}
.kco-dj-planner-app .kco-dj-venue-disclaimer>div>b{
  display:block;
  margin-bottom:4px;
  color:#6f201b;
  font-size:11px;
  line-height:1.35;
  font-weight:850;
}
.kco-dj-planner-app .kco-dj-venue-disclaimer p{
  margin:0!important;
  color:#76504c!important;
  font-size:10px!important;
  line-height:1.5!important;
}

@media(max-width:720px){
  .kco-dj-planner-app .kco-dj-venue-calc-basis{padding:12px;margin-bottom:12px}
  .kco-dj-planner-app .kco-dj-venue-calc-basis-title{display:block;margin-bottom:8px}
  .kco-dj-planner-app .kco-dj-venue-calc-basis-title>strong{display:block;margin-top:3px;font-size:13px}
  .kco-dj-planner-app .kco-dj-venue-tags{gap:5px}
  .kco-dj-planner-app .kco-dj-venue-tags span{min-height:27px;padding:5px 8px;font-size:9px}
  .kco-dj-planner-app .kco-dj-venue-monthly-group-head{display:block}
  .kco-dj-planner-app .kco-dj-venue-monthly-group-head>strong{display:block;margin-top:6px}
  .kco-dj-planner-app .kco-dj-venue-disclaimer{gap:10px;padding:14px 15px;border-radius:0 0 18px 18px}
  .kco-dj-planner-app .kco-dj-venue-disclaimer-icon{flex-basis:25px;width:25px;height:25px;font-size:13px}
}


/* 3.3.11 — egységes sikeres elküldés visszajelzés. */
.kco-submit-success[hidden]{display:none!important}
.kco-dj-modal-card.is-success-state>:not(.kco-dj-modal-close):not(.kco-submit-success){display:none!important}
.kco-submit-success{min-height:340px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:28px 18px 20px}
.kco-submit-success-icon{width:64px;height:64px;border-radius:50%;display:grid;place-items:center;margin-bottom:17px;background:#eaf8f2;color:#0b8b56;font-size:31px;font-weight:900;box-shadow:0 0 0 8px rgba(11,139,86,.06)}
.kco-submit-success>span{color:var(--kco-accent);font-size:10px;font-weight:900;letter-spacing:.11em}
.kco-submit-success h2{margin:8px 0 9px!important;font-size:clamp(27px,4vw,36px)!important;line-height:1.08!important;letter-spacing:-.035em!important;color:#171c2d!important}
.kco-submit-success p{max-width:520px;margin:0 auto 22px!important;color:#687084!important;font-size:14px!important;line-height:1.65!important}
.kco-submit-success-button{appearance:none;border:0;border-radius:12px;min-width:150px;min-height:48px;padding:12px 24px;background:linear-gradient(135deg,var(--kco-accent),var(--kco-accent-2));color:#fff;font-size:14px;font-weight:850;cursor:pointer;box-shadow:0 9px 22px color-mix(in srgb,var(--kco-accent) 18%,transparent)}
.kco-submit-success-button:focus-visible{outline:3px solid color-mix(in srgb,var(--kco-accent) 28%,transparent);outline-offset:3px}
@media(max-width:780px){.kco-submit-success{min-height:310px;padding:32px 14px 22px}.kco-submit-success p{font-size:13px!important}}

/* ========================================================================
   3.4.0 — Karaoke One / EseményDJ vizuális rendszer
   A színátmenet dekoráció (vonal, keret, fény); a szövegek egyszínűek.
   ======================================================================== */

/* --- Új Karaoke DJ hero variációk -------------------------------------- */
.kco-dj-hero-style-neon-light{
  position:relative!important;
  padding-top:48px!important;
  padding-bottom:44px!important;
  color:#171a2b!important;
  border-top:1px solid transparent!important;
  border-bottom:1px solid #e9eaf2!important;
  background:
    radial-gradient(circle at 8% 16%,rgba(255,67,200,.065),transparent 27%),
    radial-gradient(circle at 92% 78%,rgba(80,221,255,.07),transparent 29%),
    #f7f8fc!important;
}
.kco-dj-hero-style-neon-light::after,
.kco-dj-hero-style-neon-dark::after,
.kco-dj-hero-style-edj-wedding::after,
.kco-dj-hero-style-edj-corporate::after{
  content:"";
  position:absolute;
  left:0;right:0;top:0;
  height:1px;
  z-index:2;
  background:linear-gradient(90deg,transparent 0%,rgba(255,67,200,.72) 18%,rgba(135,91,255,.9) 50%,rgba(74,218,255,.76) 82%,transparent 100%);
  box-shadow:0 0 13px rgba(135,91,255,.18);
  pointer-events:none;
}
.kco-dj-hero-style-neon-light::before{opacity:.10!important;background-size:58px 58px!important}
.kco-dj-hero-style-neon-light .kco-dj-eyebrow{color:#745bc6!important}
.kco-dj-hero-style-neon-light h1{color:#1a1c2d!important;font-size:clamp(39px,4vw,56px)!important}
.kco-dj-hero-style-neon-light .kco-dj-hero-copy>p{color:#676b7b!important;font-size:15px!important;line-height:1.55!important}
.kco-dj-hero-style-neon-light .kco-dj-service-line{color:#757887!important}
.kco-dj-hero-style-neon-light .kco-dj-service-line i{color:#c9cbd4!important}
.kco-dj-hero-style-neon-light .kco-dj-hero-note{
  border:1px solid transparent!important;
  background:linear-gradient(#fff,#fff) padding-box,linear-gradient(120deg,rgba(255,67,200,.32),rgba(135,91,255,.28),rgba(74,218,255,.3)) border-box!important;
  box-shadow:0 10px 30px rgba(43,37,93,.055)!important;
}
.kco-dj-hero-style-neon-light .kco-dj-hero-note>span{background:#f0edff!important;color:#7458df!important}
.kco-dj-hero-style-neon-light .kco-dj-hero-note strong{color:#262838!important}
.kco-dj-hero-style-neon-light .kco-dj-hero-note small{color:#747786!important}

.kco-dj-hero-style-neon-dark{
  position:relative!important;
  padding-top:46px!important;
  padding-bottom:43px!important;
  background:
    radial-gradient(circle at 10% 24%,rgba(255,67,200,.10),transparent 29%),
    radial-gradient(circle at 91% 75%,rgba(74,218,255,.09),transparent 30%),
    radial-gradient(circle at 64% 7%,rgba(135,91,255,.07),transparent 27%),
    linear-gradient(112deg,#0d0d1b 0%,#141321 52%,#08141b 100%)!important;
}
.kco-dj-hero-style-neon-dark::before{opacity:.12!important}
.kco-dj-hero-style-neon-dark h1{font-size:clamp(39px,4vw,56px)!important}
.kco-dj-hero-style-neon-dark .kco-dj-eyebrow{color:#ab9dff!important}
.kco-dj-hero-style-neon-dark .kco-dj-hero-copy>p{font-size:15px!important;line-height:1.55!important;color:rgba(255,255,255,.64)!important}
.kco-dj-hero-style-neon-dark .kco-dj-hero-note{background:rgba(255,255,255,.045)!important;border-color:rgba(255,255,255,.11)!important}

/* --- EseményDJ saját hero hangulatok ----------------------------------- */
.kco-dj-hero-style-edj-wedding{
  position:relative!important;
  padding-top:48px!important;
  padding-bottom:44px!important;
  color:#181a2a!important;
  background:
    radial-gradient(circle at 9% 18%,rgba(255,67,200,.055),transparent 27%),
    radial-gradient(circle at 91% 78%,rgba(73,185,255,.065),transparent 28%),
    linear-gradient(135deg,#fff 0%,#faf8fc 48%,#f5f8fd 100%)!important;
  border-bottom:1px solid #eceaf1!important;
}
.kco-dj-hero-style-edj-wedding::before{opacity:.07!important}
.kco-dj-hero-style-edj-wedding .kco-dj-eyebrow{color:#b044a3!important}
.kco-dj-hero-style-edj-wedding h1{color:#1c1d2d!important;font-size:clamp(39px,4vw,56px)!important}
.kco-dj-hero-style-edj-wedding .kco-dj-hero-copy>p{color:#696b78!important;font-size:15px!important;line-height:1.56!important}
.kco-dj-hero-style-edj-wedding .kco-dj-service-line{color:#777986!important}.kco-dj-hero-style-edj-wedding .kco-dj-service-line i{color:#c7c8d0!important}
.kco-dj-hero-style-edj-wedding .kco-dj-hero-note{border:1px solid transparent!important;background:linear-gradient(#fff,#fff) padding-box,linear-gradient(120deg,rgba(230,68,188,.34),rgba(119,89,222,.23),rgba(70,183,219,.24)) border-box!important;box-shadow:0 10px 29px rgba(55,44,92,.05)!important}
.kco-dj-hero-style-edj-wedding .kco-dj-hero-note>span{background:#f7eafa!important;color:#ba3faa!important}
.kco-dj-hero-style-edj-wedding .kco-dj-hero-note strong{color:#262735!important}.kco-dj-hero-style-edj-wedding .kco-dj-hero-note small{color:#767885!important}

.kco-dj-hero-style-edj-corporate{
  position:relative!important;
  padding-top:47px!important;
  padding-bottom:43px!important;
  background:
    radial-gradient(circle at 12% 20%,rgba(232,46,176,.09),transparent 29%),
    radial-gradient(circle at 89% 72%,rgba(70,145,255,.13),transparent 31%),
    linear-gradient(118deg,#10131e 0%,#151927 52%,#101827 100%)!important;
}
.kco-dj-hero-style-edj-corporate::before{opacity:.10!important}
.kco-dj-hero-style-edj-corporate .kco-dj-eyebrow{color:#67cfff!important}
.kco-dj-hero-style-edj-corporate h1{font-size:clamp(39px,4vw,56px)!important}
.kco-dj-hero-style-edj-corporate .kco-dj-hero-copy>p{font-size:15px!important;line-height:1.55!important;color:rgba(255,255,255,.64)!important}
.kco-dj-hero-style-edj-corporate .kco-dj-hero-note{background:rgba(255,255,255,.045)!important;border-color:rgba(255,255,255,.12)!important}

/* --- Bevezető rövidítve / új dizájnhoz igazítva ----------------------- */
.kco-dj-planner-intro p{margin:7px auto 0!important;max-width:690px!important;color:#707483!important;font-size:13px!important;line-height:1.5!important}

/* --- Csomagnevek: kisebbek, rendezettebbek minden DJ/EDJ módban ------- */
.kco-dj-planner-app .kco-dj-result-copy h2{
  display:inline-block!important;
  max-width:100%!important;
  margin:2px 0 8px!important;
  padding:0 0 8px!important;
  color:#202334!important;
  font-size:clamp(25px,2.55vw,35px)!important;
  line-height:1.08!important;
  letter-spacing:-.028em!important;
  font-weight:850!important;
  border-bottom:2px solid transparent!important;
  border-image:linear-gradient(90deg,#ff43c8,#875cff,#50dcff,transparent 72%) 1!important;
}
.kco-dj-planner-app .kco-dj-other-package strong{
  color:#292d3d!important;
  font-size:14px!important;
  line-height:1.22!important;
  letter-spacing:-.01em!important;
  font-weight:820!important;
}
.kco-dj-planner-app .kco-dj-other-package.is-recommended strong{color:#443a92!important}

/* --- Új ígéretblokk: "Ezt ajánljuk..." ------------------------------- */
.kco-dj-planner-app .kco-dj-result-promise{
  border:1px solid transparent!important;
  background:linear-gradient(#fbfbfe,#fbfbfe) padding-box,linear-gradient(105deg,rgba(255,67,200,.22),rgba(135,91,255,.22),rgba(74,218,255,.24)) border-box!important;
  box-shadow:none!important;
}
.kco-dj-planner-app .kco-dj-result-promise>span{
  background:#7658df!important;
  color:#fff!important;
}
.kco-dj-planner-app .kco-dj-result-promise strong{color:#292c3c!important;font-size:13px!important}
.kco-dj-planner-app .kco-dj-result-promise small{color:#747887!important}

/* --- EseményDJ: beszédmikrofon, jól látható pipálható extra ------------ */
.kco-edj-speech-mic{
  margin:14px 0 12px;
  padding:1px;
  border-radius:15px;
  background:linear-gradient(105deg,rgba(255,67,200,.48),rgba(135,91,255,.42),rgba(74,218,255,.44));
}
.kco-edj-speech-mic label{
  display:grid;
  grid-template-columns:auto auto minmax(0,1fr) auto;
  gap:10px;
  align-items:center;
  min-height:62px;
  margin:0!important;
  padding:11px 13px;
  border-radius:14px;
  background:#fff;
  cursor:pointer;
}
.kco-edj-speech-mic input{position:absolute;opacity:0;pointer-events:none}
.kco-edj-speech-mic-check{
  display:grid;place-items:center;
  width:25px;height:25px;
  border:1px solid #cfd2dc;
  border-radius:8px;
  background:#fff;
  color:transparent;
  font-size:13px;
  font-weight:900;
  transition:background .16s ease,border-color .16s ease,color .16s ease,box-shadow .16s ease;
}
.kco-edj-speech-mic input:checked + .kco-edj-speech-mic-check{
  border-color:#7558df;
  background:#7558df;
  color:#fff;
  box-shadow:0 0 0 4px rgba(117,88,223,.08);
}
.kco-edj-speech-mic-copy{min-width:0}
.kco-edj-speech-mic-copy strong,.kco-edj-speech-mic-copy small{display:block}
.kco-edj-speech-mic-copy strong{color:#292c3d;font-size:13px;line-height:1.25;font-weight:840}
.kco-edj-speech-mic-copy small{margin-top:3px;color:#737786;font-size:10.5px;line-height:1.42}
.kco-edj-speech-mic-price{color:#7558df;font-size:12px;font-weight:850;white-space:nowrap}

/* --- EseményDJ végeredmény-változatok --------------------------------- */
.kco-mode-edj.kco-result-style-wedding-elegant .kco-dj-result,
.kco-mode-edj.kco-result-style-light-neon .kco-dj-result{
  background:
    radial-gradient(circle at 4% 5%,rgba(255,67,200,.045),transparent 21%),
    radial-gradient(circle at 96% 91%,rgba(74,218,255,.05),transparent 23%),
    #fff!important;
}
.kco-mode-edj.kco-result-style-wedding-elegant .kco-dj-result-kicker{color:#b03ca1!important}
.kco-mode-edj.kco-result-style-wedding-elegant .kco-dj-result-copy h2{color:#282634!important}
.kco-mode-edj.kco-result-style-wedding-elegant .kco-dj-price-box{border-color:#ece4ec!important;box-shadow:0 12px 34px rgba(70,50,86,.045)!important}

.kco-mode-edj.kco-result-style-corporate-modern .kco-dj-result,
.kco-mode-edj.kco-result-style-dark-neon .kco-dj-result{
  background:linear-gradient(180deg,#f7f8fc 0%,#fff 30%)!important;
}
.kco-mode-edj.kco-result-style-corporate-modern .kco-dj-result-kicker{color:#248eaa!important}
.kco-mode-edj.kco-result-style-corporate-modern .kco-dj-price-context{border-top:2px solid transparent!important;border-image:linear-gradient(90deg,#e72fac,#7558df,#35bcd8) 1!important}

@media(max-width:640px){
  .kco-dj-hero-style-neon-light,.kco-dj-hero-style-neon-dark,.kco-dj-hero-style-edj-wedding,.kco-dj-hero-style-edj-corporate{padding-top:28px!important;padding-bottom:27px!important}
  .kco-dj-hero-style-neon-light h1,.kco-dj-hero-style-neon-dark h1,.kco-dj-hero-style-edj-wedding h1,.kco-dj-hero-style-edj-corporate h1{font-size:31px!important;white-space:normal!important}
  .kco-dj-hero-style-neon-light h1>span,.kco-dj-hero-style-neon-dark h1>span,.kco-dj-hero-style-edj-wedding h1>span,.kco-dj-hero-style-edj-corporate h1>span{white-space:normal!important}
  .kco-dj-planner-app .kco-dj-result-copy h2{font-size:26px!important;padding-bottom:7px!important}
  .kco-edj-speech-mic label{grid-template-columns:auto minmax(0,1fr) auto;gap:8px;padding:10px}
  .kco-edj-speech-mic-copy{grid-column:2}
  .kco-edj-speech-mic-price{grid-column:3;grid-row:1/3;font-size:11px}
}

/* 3.4.0 — a "Sötét neon" végeredmény valóban külön vizuális opció. */
.kco-mode-edj.kco-result-style-dark-neon .kco-dj-result{
  border-color:#25283a!important;
  background:#10131e!important;
  box-shadow:0 24px 70px rgba(9,11,22,.19)!important;
}
.kco-mode-edj.kco-result-style-dark-neon .kco-dj-result-visual{
  background:
    radial-gradient(circle at 18% 34%,rgba(255,67,200,.08),transparent 28%),
    radial-gradient(circle at 84% 75%,rgba(74,218,255,.08),transparent 30%),
    linear-gradient(155deg,#151827,#0d1420)!important;
}
.kco-mode-edj.kco-result-style-dark-neon .kco-dj-result-label{color:rgba(255,255,255,.52)!important}
.kco-mode-edj.kco-result-style-dark-neon .kco-dj-result-copy{background:#11141f!important;color:#fff!important}
.kco-mode-edj.kco-result-style-dark-neon .kco-dj-result-kicker{color:#62dfff!important}
.kco-mode-edj.kco-result-style-dark-neon .kco-dj-result-copy h2{color:#fff!important}
.kco-mode-edj.kco-result-style-dark-neon .kco-dj-result-subtitle{color:rgba(255,255,255,.60)!important}
.kco-mode-edj.kco-result-style-dark-neon .kco-dj-result-promise{
  background:linear-gradient(#171a27,#171a27) padding-box,linear-gradient(105deg,rgba(255,67,200,.42),rgba(135,91,255,.40),rgba(74,218,255,.42)) border-box!important;
}
.kco-mode-edj.kco-result-style-dark-neon .kco-dj-result-promise strong{color:#fff!important}
.kco-mode-edj.kco-result-style-dark-neon .kco-dj-result-promise small{color:rgba(255,255,255,.55)!important}
.kco-mode-edj.kco-result-style-dark-neon .kco-dj-equipment-list{border-color:rgba(255,255,255,.09)!important}
.kco-mode-edj.kco-result-style-dark-neon .kco-dj-equipment-list>small{color:rgba(255,255,255,.43)!important}
.kco-mode-edj.kco-result-style-dark-neon .kco-dj-equipment-list>div span{color:rgba(255,255,255,.70)!important}
.kco-mode-edj.kco-result-style-dark-neon .kco-dj-other-packages{border-color:rgba(255,255,255,.08)!important}
.kco-mode-edj.kco-result-style-dark-neon .kco-dj-other-packages-callout{background:#171a27!important;border-color:rgba(255,255,255,.09)!important}
.kco-mode-edj.kco-result-style-dark-neon .kco-dj-other-packages-copy strong{color:#fff!important}
.kco-mode-edj.kco-result-style-dark-neon .kco-dj-other-packages-copy p{color:rgba(255,255,255,.54)!important}
.kco-mode-edj.kco-result-style-dark-neon .kco-edj-speech-mic label{background:#171a27!important}
.kco-mode-edj.kco-result-style-dark-neon .kco-edj-speech-mic-copy strong{color:#fff!important}
.kco-mode-edj.kco-result-style-dark-neon .kco-edj-speech-mic-copy small{color:rgba(255,255,255,.53)!important}
.kco-mode-edj.kco-result-style-dark-neon .kco-edj-speech-mic-check{background:#10131e!important;border-color:rgba(255,255,255,.22)!important}
.kco-mode-edj.kco-result-style-dark-neon .kco-dj-price-box{border-color:rgba(255,255,255,.11)!important;background:#171a27!important}
.kco-mode-edj.kco-result-style-dark-neon .kco-dj-price-main>span{color:rgba(255,255,255,.58)!important}
.kco-mode-edj.kco-result-style-dark-neon .kco-dj-price-main strong{color:#fff!important}
.kco-mode-edj.kco-result-style-dark-neon .kco-dj-price-box>p{color:rgba(255,255,255,.43)!important}
.kco-mode-edj.kco-result-style-dark-neon .kco-dj-breakdown{border-color:rgba(255,255,255,.10)!important}
.kco-mode-edj.kco-result-style-dark-neon .kco-dj-breakdown>div{color:rgba(255,255,255,.58)!important}
.kco-mode-edj.kco-result-style-dark-neon .kco-dj-breakdown>div strong{color:#fff!important}


/* =====================================================================
   3.4.1 — TELJES KALKULÁTOR DIZÁJNOK
   A téma a végigvezető csíkot, kérdéskártyákat, választásokat és gombokat
   együtt változtatja. A szövegek egyszínűek; gradient csak dekoráción.
   ===================================================================== */

/* Minden módban kisebb, elegánsabb csomagnév az ajánlat tetején. */
.kco-dj-planner-app .kco-dj-result-copy h2{
  font-size:clamp(21px,2vw,29px)!important;
  line-height:1.06!important;
  letter-spacing:-.65px!important;
  margin-top:3px!important;
  margin-bottom:7px!important;
  padding-bottom:6px!important;
}
.kco-dj-planner-app .kco-dj-result-kicker{font-size:9px!important;letter-spacing:.16em!important;font-weight:900!important}

/* 1 — VILÁGOS NEON */
.kco-planner-style-neon-light .kco-dj-planner-panel{background:#fff!important;border:1px solid #e7e8ef!important;box-shadow:0 16px 45px rgba(36,31,82,.055)!important}
.kco-planner-style-neon-light .kco-dj-wizard-head{background:linear-gradient(180deg,#fff,#fbfbfe)!important;border-bottom-color:#ececf2!important}
.kco-planner-style-neon-light .kco-dj-progress-track{background:#eceef3!important}
.kco-planner-style-neon-light .kco-dj-progress-track i{background:linear-gradient(90deg,#ff43c8 0%,#875cff 52%,#50dcff 100%)!important;box-shadow:0 0 10px rgba(135,91,255,.24)!important}
.kco-planner-style-neon-light .kco-dj-wizard-head-copy>span{color:#7558df!important}
.kco-planner-style-neon-light .kco-dj-question{background:#fff!important}
.kco-planner-style-neon-light .kco-dj-choice-strip button,.kco-planner-style-neon-light .kco-dj-service-choices button{border-color:#e6e7ee!important;background:#fff!important}
.kco-planner-style-neon-light .kco-dj-choice-strip button.is-active,.kco-planner-style-neon-light .kco-dj-service-choices button.is-active{border-color:#875cff!important;background:#faf8ff!important;box-shadow:0 0 0 3px rgba(135,91,255,.07)!important}
.kco-planner-style-neon-light .kco-dj-choice-strip button.is-active strong{color:#7558df!important}
.kco-planner-style-neon-light .kco-dj-step-next,.kco-planner-style-neon-light .kco-dj-primary{border:1px solid transparent!important;background:linear-gradient(#fff,#fff) padding-box,linear-gradient(105deg,#ff43c8,#875cff,#50dcff) border-box!important;color:#5140c9!important;box-shadow:0 8px 22px rgba(109,76,214,.10)!important}

/* 2 — SÖTÉT NEON */
.kco-planner-style-neon-dark .kco-dj-planner-panel{background:#11141f!important;border:1px solid #262a3a!important;box-shadow:0 20px 55px rgba(8,10,20,.20)!important}
.kco-planner-style-neon-dark .kco-dj-wizard-head{background:#151824!important;border-bottom-color:rgba(255,255,255,.08)!important}
.kco-planner-style-neon-dark .kco-dj-wizard-head-copy strong,.kco-planner-style-neon-dark .kco-dj-wizard-count{color:#fff!important}
.kco-planner-style-neon-dark .kco-dj-wizard-head-copy>span{color:#b39cff!important}
.kco-planner-style-neon-dark .kco-dj-progress-track{background:#2a2e3c!important}
.kco-planner-style-neon-dark .kco-dj-progress-track i{background:linear-gradient(90deg,#ff43c8,#875cff,#50dcff)!important;box-shadow:0 0 13px rgba(135,91,255,.32)!important}
.kco-planner-style-neon-dark .kco-dj-question{background:#11141f!important;color:#fff!important}
.kco-planner-style-neon-dark .kco-dj-question-copy strong{color:#fff!important}.kco-planner-style-neon-dark .kco-dj-question-copy small,.kco-planner-style-neon-dark .kco-dj-step-footer,.kco-planner-style-neon-dark .kco-dj-step-hint{color:rgba(255,255,255,.52)!important}
.kco-planner-style-neon-dark .kco-dj-choice-strip button,.kco-planner-style-neon-dark .kco-dj-service-choices button{background:#181c29!important;border-color:#2d3243!important;color:#fff!important}.kco-planner-style-neon-dark .kco-dj-choice-strip button strong,.kco-planner-style-neon-dark .kco-dj-service-choices button strong{color:#fff!important}
.kco-planner-style-neon-dark .kco-dj-choice-strip button.is-active,.kco-planner-style-neon-dark .kco-dj-service-choices button.is-active{border-color:#8d6cff!important;background:#211d35!important;box-shadow:0 0 0 3px rgba(141,108,255,.10)!important}
.kco-planner-style-neon-dark .kco-dj-step-back{color:rgba(255,255,255,.62)!important}.kco-planner-style-neon-dark .kco-dj-step-next,.kco-planner-style-neon-dark .kco-dj-primary{border:1px solid transparent!important;background:linear-gradient(#141724,#141724) padding-box,linear-gradient(105deg,#ff43c8,#875cff,#50dcff) border-box!important;color:#fff!important}

/* 3 — LILA */
.kco-planner-style-violet .kco-dj-planner-panel{background:#fcfbff!important;border-color:#e3def6!important}.kco-planner-style-violet .kco-dj-wizard-head{background:#f6f3ff!important}.kco-planner-style-violet .kco-dj-progress-track{background:#e7e0f8!important}.kco-planner-style-violet .kco-dj-progress-track i{background:#7558df!important}.kco-planner-style-violet .kco-dj-wizard-head-copy>span{color:#7558df!important}.kco-planner-style-violet .kco-dj-choice-strip button.is-active,.kco-planner-style-violet .kco-dj-service-choices button.is-active{border-color:#7558df!important;background:#f7f4ff!important;box-shadow:0 0 0 3px rgba(117,88,223,.07)!important}.kco-planner-style-violet .kco-dj-choice-strip button.is-active strong{color:#6649cf!important}.kco-planner-style-violet .kco-dj-step-next,.kco-planner-style-violet .kco-dj-primary{background:#7558df!important;border-color:#7558df!important;color:#fff!important}

/* 4 — CIÁN */
.kco-planner-style-cyan .kco-dj-planner-panel{background:#fcfeff!important;border-color:#dcecf0!important}.kco-planner-style-cyan .kco-dj-wizard-head{background:#f3fbfd!important}.kco-planner-style-cyan .kco-dj-progress-track{background:#ddecf0!important}.kco-planner-style-cyan .kco-dj-progress-track i{background:#35bcd8!important}.kco-planner-style-cyan .kco-dj-wizard-head-copy>span{color:#278da5!important}.kco-planner-style-cyan .kco-dj-choice-strip button.is-active,.kco-planner-style-cyan .kco-dj-service-choices button.is-active{border-color:#35bcd8!important;background:#f3fbfd!important;box-shadow:0 0 0 3px rgba(53,188,216,.08)!important}.kco-planner-style-cyan .kco-dj-choice-strip button.is-active strong{color:#258ca4!important}.kco-planner-style-cyan .kco-dj-step-next,.kco-planner-style-cyan .kco-dj-primary{background:#2ba9c3!important;border-color:#2ba9c3!important;color:#fff!important}

/* 5 — MINIMAL */
.kco-planner-style-minimal .kco-dj-planner-panel{background:#fff!important;border-color:#e4e5e8!important;box-shadow:none!important}.kco-planner-style-minimal .kco-dj-wizard-head{background:#fafafa!important;border-bottom-color:#e7e7e8!important}.kco-planner-style-minimal .kco-dj-progress-track{background:#e5e5e7!important}.kco-planner-style-minimal .kco-dj-progress-track i{background:#24262c!important;box-shadow:none!important}.kco-planner-style-minimal .kco-dj-wizard-head-copy>span{color:#666a73!important}.kco-planner-style-minimal .kco-dj-choice-strip button.is-active,.kco-planner-style-minimal .kco-dj-service-choices button.is-active{border-color:#272a31!important;background:#f7f7f8!important;box-shadow:none!important}.kco-planner-style-minimal .kco-dj-choice-strip button.is-active strong{color:#202228!important}.kco-planner-style-minimal .kco-dj-step-next,.kco-planner-style-minimal .kco-dj-primary{background:#24262c!important;border-color:#24262c!important;color:#fff!important;box-shadow:none!important}

@media(max-width:640px){.kco-dj-planner-app .kco-dj-result-copy h2{font-size:23px!important}}


/* =====================================================================
   3.4.2 — Karaoke DJ világos neon finomhangolás
   - az AJÁNLATUNK mindig külön sor
   - a csomagnév mindig alatta
   - fő CTA és Tovább: telt cián
   - Vissza: erős, jól látható cián kontúr
   ===================================================================== */
.kco-dj-planner-app .kco-dj-result-kicker{
  display:block!important;
  width:max-content!important;
  max-width:100%!important;
  margin:0 0 5px!important;
  line-height:1.25!important;
}
.kco-dj-planner-app .kco-dj-result-copy h2{
  display:block!important;
  clear:both!important;
  width:max-content!important;
  max-width:100%!important;
  margin:0 0 8px!important;
}

/* A Karaoke One új világos-neon témájában a fő cselekvések ne vesszenek el. */
.kco-planner-style-neon-light .kco-dj-step-next,
.kco-planner-style-neon-light .kco-dj-primary{
  background:#52ddff!important;
  border:1px solid #52ddff!important;
  color:#08232c!important;
  font-weight:850!important;
  box-shadow:0 10px 26px rgba(82,221,255,.24)!important;
}
.kco-planner-style-neon-light .kco-dj-step-next:hover,
.kco-planner-style-neon-light .kco-dj-primary:hover{
  background:#72e5ff!important;
  border-color:#72e5ff!important;
  color:#071f27!important;
  box-shadow:0 13px 30px rgba(82,221,255,.31)!important;
}
.kco-planner-style-neon-light .kco-dj-step-back{
  background:#f2fcff!important;
  border:1.5px solid #52ddff!important;
  color:#176f83!important;
  font-weight:820!important;
  box-shadow:0 6px 16px rgba(82,221,255,.10)!important;
}
.kco-planner-style-neon-light .kco-dj-step-back:hover{
  background:#e4faff!important;
  border-color:#35cbe9!important;
  color:#105f70!important;
}

@media(max-width:640px){
  .kco-dj-planner-app .kco-dj-result-kicker{margin-bottom:4px!important}
  .kco-dj-planner-app .kco-dj-result-copy h2{width:100%!important}
}


/* ==========================================================
   3.4.4 — ESEMÉNYDJ DEDIKÁLT TELJES TERVEZŐ STÍLUSOK
   ========================================================== */
/* Esküvő Elegant */
.kco-mode-edj.kco-planner-style-edj-wedding-elegant .kco-dj-planner-panel{background:linear-gradient(180deg,#fff,#fffafd)!important;border:1px solid #ece1eb!important;box-shadow:0 18px 48px rgba(72,45,80,.07)!important}
.kco-mode-edj.kco-planner-style-edj-wedding-elegant .kco-dj-wizard-head{background:linear-gradient(180deg,#fffafd,#fff)!important;border-bottom-color:#f0e6ef!important}.kco-mode-edj.kco-planner-style-edj-wedding-elegant .kco-dj-wizard-head-copy>span{color:#b43ba2!important}.kco-mode-edj.kco-planner-style-edj-wedding-elegant .kco-dj-progress-track{background:#efe8ef!important}.kco-mode-edj.kco-planner-style-edj-wedding-elegant .kco-dj-progress-track i{background:linear-gradient(90deg,#e849bb,#8661e8,#4bc9e5)!important;box-shadow:0 0 12px rgba(194,64,178,.22)!important}
.kco-mode-edj.kco-planner-style-edj-wedding-elegant .kco-dj-question{background:#fff!important}.kco-mode-edj.kco-planner-style-edj-wedding-elegant .kco-dj-choice-strip button,.kco-mode-edj.kco-planner-style-edj-wedding-elegant .kco-dj-service-choices button{background:#fff!important;border-color:#eadfe9!important}.kco-mode-edj.kco-planner-style-edj-wedding-elegant .kco-dj-choice-strip button.is-active,.kco-mode-edj.kco-planner-style-edj-wedding-elegant .kco-dj-service-choices button.is-active{border-color:#d34ab8!important;background:#fff6fc!important;box-shadow:0 0 0 3px rgba(211,74,184,.075)!important}.kco-mode-edj.kco-planner-style-edj-wedding-elegant .kco-dj-choice-strip button.is-active strong{color:#a82d92!important}
.kco-mode-edj.kco-planner-style-edj-wedding-elegant .kco-dj-step-next,.kco-mode-edj.kco-planner-style-edj-wedding-elegant .kco-dj-primary{background:#c83fb0!important;border-color:#c83fb0!important;color:#fff!important;box-shadow:0 9px 22px rgba(190,53,163,.18)!important}.kco-mode-edj.kco-planner-style-edj-wedding-elegant .kco-dj-step-back{border-color:#e2cfe0!important;background:#fff!important;color:#9b398b!important}
.kco-mode-edj.kco-planner-style-edj-wedding-elegant .kco-dj-result{border-color:#eee2ec!important;box-shadow:0 17px 46px rgba(69,43,75,.055)!important}.kco-mode-edj.kco-planner-style-edj-wedding-elegant .kco-dj-result-kicker{color:#b83da4!important}

/* Esküvő Editorial */
.kco-mode-edj.kco-planner-style-edj-wedding-editorial .kco-dj-planner-panel{background:#fff!important;border:1px solid #e8e5e9!important;box-shadow:0 10px 34px rgba(42,38,51,.045)!important}.kco-mode-edj.kco-planner-style-edj-wedding-editorial .kco-dj-wizard-head{background:#fbf9fb!important;border-bottom-color:#ece9ed!important}.kco-mode-edj.kco-planner-style-edj-wedding-editorial .kco-dj-wizard-head-copy>span{color:#9b4b90!important}.kco-mode-edj.kco-planner-style-edj-wedding-editorial .kco-dj-progress-track{background:#ece9ed!important}.kco-mode-edj.kco-planner-style-edj-wedding-editorial .kco-dj-progress-track i{background:#b64da3!important;box-shadow:none!important}.kco-mode-edj.kco-planner-style-edj-wedding-editorial .kco-dj-choice-strip button.is-active,.kco-mode-edj.kco-planner-style-edj-wedding-editorial .kco-dj-service-choices button.is-active{border-color:#aa5c9e!important;background:#fbf6fa!important;box-shadow:none!important}.kco-mode-edj.kco-planner-style-edj-wedding-editorial .kco-dj-step-next,.kco-mode-edj.kco-planner-style-edj-wedding-editorial .kco-dj-primary{background:#7158d8!important;border-color:#7158d8!important;color:#fff!important}.kco-mode-edj.kco-planner-style-edj-wedding-editorial .kco-dj-step-back{color:#5e5966!important;border-color:#dedbe1!important;background:#fff!important}

/* Corporate Night */
.kco-mode-edj.kco-planner-style-edj-corporate-night .kco-dj-planner-panel{background:#101521!important;border:1px solid #283141!important;box-shadow:0 22px 58px rgba(4,10,20,.25)!important}.kco-mode-edj.kco-planner-style-edj-corporate-night .kco-dj-wizard-head{background:#121a27!important;border-bottom-color:rgba(255,255,255,.08)!important}.kco-mode-edj.kco-planner-style-edj-corporate-night .kco-dj-wizard-head-copy strong,.kco-mode-edj.kco-planner-style-edj-corporate-night .kco-dj-wizard-count{color:#fff!important}.kco-mode-edj.kco-planner-style-edj-corporate-night .kco-dj-wizard-head-copy>span{color:#55d4ec!important}.kco-mode-edj.kco-planner-style-edj-corporate-night .kco-dj-progress-track{background:#26303d!important}.kco-mode-edj.kco-planner-style-edj-corporate-night .kco-dj-progress-track i{background:linear-gradient(90deg,#35c6e5,#6b65f1,#df3ab0)!important;box-shadow:0 0 14px rgba(53,198,229,.25)!important}.kco-mode-edj.kco-planner-style-edj-corporate-night .kco-dj-question{background:#101521!important}.kco-mode-edj.kco-planner-style-edj-corporate-night .kco-dj-question-copy strong{color:#fff!important}.kco-mode-edj.kco-planner-style-edj-corporate-night .kco-dj-question-copy small,.kco-mode-edj.kco-planner-style-edj-corporate-night .kco-dj-step-hint,.kco-mode-edj.kco-planner-style-edj-corporate-night .kco-dj-step-footer{color:rgba(255,255,255,.54)!important}.kco-mode-edj.kco-planner-style-edj-corporate-night .kco-dj-choice-strip button,.kco-mode-edj.kco-planner-style-edj-corporate-night .kco-dj-service-choices button{background:#17202d!important;border-color:#303a49!important}.kco-mode-edj.kco-planner-style-edj-corporate-night .kco-dj-choice-strip button strong,.kco-mode-edj.kco-planner-style-edj-corporate-night .kco-dj-service-choices button strong{color:#fff!important}.kco-mode-edj.kco-planner-style-edj-corporate-night .kco-dj-choice-strip button.is-active,.kco-mode-edj.kco-planner-style-edj-corporate-night .kco-dj-service-choices button.is-active{background:#172d39!important;border-color:#42c7e2!important;box-shadow:0 0 0 3px rgba(66,199,226,.10)!important}.kco-mode-edj.kco-planner-style-edj-corporate-night .kco-dj-step-next,.kco-mode-edj.kco-planner-style-edj-corporate-night .kco-dj-primary{background:#41c7e3!important;border-color:#41c7e3!important;color:#071621!important;box-shadow:0 9px 26px rgba(65,199,227,.18)!important}.kco-mode-edj.kco-planner-style-edj-corporate-night .kco-dj-step-back{background:#161e2a!important;border-color:#344253!important;color:#b7c3d1!important}
.kco-mode-edj.kco-planner-style-edj-corporate-night .kco-dj-result{background:#111722!important;border-color:#2b3544!important;color:#fff!important}.kco-mode-edj.kco-planner-style-edj-corporate-night .kco-dj-result-copy h2,.kco-mode-edj.kco-planner-style-edj-corporate-night .kco-dj-price-value,.kco-mode-edj.kco-planner-style-edj-corporate-night .kco-dj-price-box strong{color:#fff!important}

/* Corporate Electric */
.kco-mode-edj.kco-planner-style-edj-corporate-electric .kco-dj-planner-panel{background:linear-gradient(180deg,#fff,#f6fcff)!important;border:1px solid #dcebf1!important;box-shadow:0 16px 44px rgba(29,82,103,.065)!important}.kco-mode-edj.kco-planner-style-edj-corporate-electric .kco-dj-wizard-head{background:#f2fbfe!important;border-bottom-color:#ddeff4!important}.kco-mode-edj.kco-planner-style-edj-corporate-electric .kco-dj-wizard-head-copy>span{color:#258da5!important}.kco-mode-edj.kco-planner-style-edj-corporate-electric .kco-dj-progress-track{background:#dfeff3!important}.kco-mode-edj.kco-planner-style-edj-corporate-electric .kco-dj-progress-track i{background:linear-gradient(90deg,#29bddb,#5a72f0,#d73baa)!important;box-shadow:0 0 11px rgba(41,189,219,.22)!important}.kco-mode-edj.kco-planner-style-edj-corporate-electric .kco-dj-choice-strip button.is-active,.kco-mode-edj.kco-planner-style-edj-corporate-electric .kco-dj-service-choices button.is-active{border-color:#2cb8d4!important;background:#f0fbfd!important;box-shadow:0 0 0 3px rgba(44,184,212,.08)!important}.kco-mode-edj.kco-planner-style-edj-corporate-electric .kco-dj-step-next,.kco-mode-edj.kco-planner-style-edj-corporate-electric .kco-dj-primary{background:#2bb7d2!important;border-color:#2bb7d2!important;color:#fff!important;box-shadow:0 9px 22px rgba(43,183,210,.16)!important}.kco-mode-edj.kco-planner-style-edj-corporate-electric .kco-dj-step-back{background:#fff!important;border-color:#b9dfe7!important;color:#258da5!important}

/* 3.5.0 — media CTA is shown immediately below the package visual, before price/quote. */
.kco-dj-result-media-actions{display:flex;align-items:center;gap:8px;margin:8px 0 12px}.kco-dj-result-media-actions[hidden]{display:none!important}.kco-dj-result-media-button{appearance:none;min-height:44px;padding:10px 16px;border:1px solid color-mix(in srgb,var(--kco-accent) 48%,#dfe4ef);border-radius:12px;background:linear-gradient(135deg,color-mix(in srgb,var(--kco-accent) 10%,#fff),#fff);color:var(--kco-accent);font-size:11px;font-weight:950;letter-spacing:.01em;text-decoration:none!important;display:inline-flex;align-items:center;justify-content:center;gap:7px;box-shadow:0 7px 18px color-mix(in srgb,var(--kco-accent) 9%,transparent);transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.kco-dj-result-media-button:hover{transform:translateY(-1px);border-color:var(--kco-accent);box-shadow:0 10px 24px color-mix(in srgb,var(--kco-accent) 15%,transparent)}.kco-dj-result-media-button[hidden]{display:none!important}
.kco-dj-extra-action{gap:6px;flex-wrap:wrap}.kco-dj-extra-media{appearance:none!important;min-height:34px!important;padding:7px 9px!important;border:1px solid #dedfed!important;border-radius:10px!important;background:#f8f7ff!important;color:var(--kco-accent)!important;font-size:8px!important;font-weight:900!important;white-space:nowrap!important;cursor:pointer!important}.kco-dj-extra-media:hover{border-color:var(--kco-accent)!important;background:#f2efff!important}
@media(max-width:720px){.kco-dj-result-media-actions{margin:7px 0 10px}.kco-dj-result-media-button{width:100%;min-height:42px}.kco-dj-extra-action{gap:6px}.kco-dj-extra-media{flex:1 1 100%;width:100%!important}}


/* 3.5.1 — a videó/média CTA legyen egyértelmű, fix cián másodlagos gomb minden kalkulátor-stílusban. */
.kco-dj-result-media-button{border-color:#0891b2!important;background:linear-gradient(135deg,#06b6d4,#0891b2)!important;color:#fff!important;box-shadow:0 8px 22px rgba(8,145,178,.22)!important;cursor:pointer!important}
.kco-dj-result-media-button:hover,.kco-dj-result-media-button:focus-visible{border-color:#067f9b!important;background:linear-gradient(135deg,#10c5e4,#0788a8)!important;color:#fff!important;box-shadow:0 11px 28px rgba(8,145,178,.32)!important;outline:none}
.kco-dj-extra-media{border-color:#0891b2!important;background:linear-gradient(135deg,#06b6d4,#0891b2)!important;color:#fff!important;box-shadow:0 5px 14px rgba(8,145,178,.18)!important}
.kco-dj-extra-media:hover,.kco-dj-extra-media:focus-visible{border-color:#067f9b!important;background:linear-gradient(135deg,#10c5e4,#0788a8)!important;color:#fff!important;outline:none}

/* =====================================================================
   3.5.18 — compact recommendation header (Karaoke DJ + EseményDJ)
   Pure spacing/type changes; montage geometry stays untouched.
   ===================================================================== */
.kco-dj-planner-app .kco-dj-result-copy{padding:22px 26px 26px!important}
.kco-dj-planner-app .kco-dj-result-kicker{margin-bottom:3px!important}
.kco-dj-planner-app .kco-dj-result-copy h2{margin-bottom:3px!important;padding-bottom:4px!important}
.kco-dj-planner-app .kco-dj-result-subtitle{margin:3px 0 8px!important;font-size:12px!important;line-height:1.34!important}
.kco-dj-planner-app .kco-dj-result-promise{align-items:center!important;gap:8px!important;margin:0 0 7px!important;padding:8px 10px!important;border-radius:12px!important}
.kco-dj-planner-app .kco-dj-result-promise>span{flex:0 0 22px!important;width:22px!important;height:22px!important;font-size:11px!important}
.kco-dj-planner-app .kco-dj-result-promise strong{font-size:11.5px!important;line-height:1.25!important}
.kco-dj-planner-app .kco-dj-result-promise small{margin-top:1px!important;font-size:9.5px!important;line-height:1.32!important}
.kco-dj-planner-app .kco-dj-result-visual{margin:8px 0 6px!important}
@media(max-width:780px){
  .kco-dj-planner-app .kco-dj-result-copy{padding:14px 12px 16px!important}
  .kco-dj-planner-app .kco-dj-result-copy h2{margin-bottom:2px!important;padding-bottom:4px!important}
  .kco-dj-planner-app .kco-dj-result-subtitle{margin:2px 0 7px!important;font-size:11.5px!important;line-height:1.32!important}
  .kco-dj-planner-app .kco-dj-result-promise{grid-template-columns:26px minmax(0,1fr)!important;gap:7px!important;padding:8px 9px!important;margin-bottom:6px!important}
  .kco-dj-planner-app .kco-dj-result-promise>span{width:21px!important;height:21px!important;flex-basis:21px!important}
  .kco-dj-planner-app .kco-dj-result-promise strong{font-size:11px!important}
  .kco-dj-planner-app .kco-dj-result-promise small{font-size:9px!important;line-height:1.3!important}
  .kco-dj-planner-app .kco-dj-result-visual{margin:7px 0 5px!important}
}


/* =====================================================================
   3.5.19 — mobile optional-extra stepper + cold-load guard
   The older mobile rule targeted every button inside an extra card and made
   the nested +/- stepper buttons span the full grid, stacking them vertically.
   Keep media/add actions full-width, but the quantity control stays one row.
   ===================================================================== */
@media(max-width:720px){
  .kco-dj-planner-app .kco-dj-extra-action{display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:7px!important;width:100%!important}
  .kco-dj-planner-app .kco-dj-extra-media,
  .kco-dj-planner-app .kco-dj-extra-add{width:100%!important;grid-column:auto!important}
  .kco-dj-planner-app .kco-dj-extra-stepper{
    display:grid!important;grid-template-columns:42px minmax(0,1fr) 42px!important;grid-template-rows:44px!important;
    align-items:stretch!important;width:100%!important;max-width:none!important;min-width:0!important;height:44px!important;
    border:1px solid #d8d9e5!important;border-radius:12px!important;background:#fff!important;overflow:hidden!important
  }
  .kco-dj-planner-app .kco-dj-extra-stepper button{
    grid-column:auto!important;grid-row:1!important;width:42px!important;min-width:42px!important;max-width:42px!important;
    height:44px!important;min-height:44px!important;margin:0!important;padding:0!important;border:0!important;border-radius:0!important
  }
  .kco-dj-planner-app .kco-dj-extra-stepper strong{
    grid-column:auto!important;grid-row:1!important;display:flex!important;align-items:center!important;justify-content:center!important;
    min-width:0!important;width:auto!important;height:44px!important;line-height:1!important;margin:0!important;padding:0 8px!important
  }
}


/* 3.5.21 — quote modal motion only: reliable first-open + success state cross-slide. */
.kco-dj-modal{transition:opacity .24s cubic-bezier(.22,.61,.36,1)!important}
.kco-dj-modal-card{opacity:1;transform:translateY(22px) scale(.985);transition:transform .24s cubic-bezier(.22,.61,.36,1),opacity .16s ease!important;will-change:transform,opacity}
.kco-dj-modal.is-open .kco-dj-modal-card{opacity:1;transform:translateY(0) scale(1)}
.kco-dj-modal.is-open .kco-dj-modal-card.is-state-transitioning{opacity:0;transform:translateY(-10px) scale(.99)!important}
@media(prefers-reduced-motion:reduce){.kco-dj-modal,.kco-dj-modal-card{transition:none!important}}


/* ========================================================================
   3.5.24 — DJ/EDJ quote modal motion only.
   Same deterministic open/close and no-flash success transition as Rental.
   ======================================================================== */
@keyframes kcoDjQuoteModalIn{from{opacity:0}to{opacity:1}}
@keyframes kcoDjQuoteModalOut{from{opacity:1}to{opacity:0}}
@keyframes kcoDjQuoteCardIn{from{opacity:0;transform:translateY(24px) scale(.982)}to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes kcoDjQuoteCardOut{from{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(14px) scale(.988)}}
@keyframes kcoDjQuoteStateOut{from{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(-10px) scale(.992)}}
@keyframes kcoDjQuoteStateIn{from{opacity:0;transform:translateY(12px) scale(.992)}to{opacity:1;transform:translateY(0) scale(1)}}
.kco-dj-modal.is-open:not(.is-closing){animation:kcoDjQuoteModalIn .26s cubic-bezier(.22,.61,.36,1) both!important}
.kco-dj-modal.is-open:not(.is-closing) .kco-dj-modal-card:not(.is-state-leaving):not(.is-state-entering){animation:kcoDjQuoteCardIn .30s cubic-bezier(.22,.61,.36,1) both!important}
.kco-dj-modal.is-closing{pointer-events:none!important;animation:kcoDjQuoteModalOut .22s ease both!important}
.kco-dj-modal.is-closing .kco-dj-modal-card{animation:kcoDjQuoteCardOut .22s ease both!important}
.kco-dj-modal .kco-dj-modal-card.is-state-leaving{animation:kcoDjQuoteStateOut .18s ease both!important}
.kco-dj-modal .kco-dj-modal-card.is-state-entering{animation:kcoDjQuoteStateIn .26s cubic-bezier(.22,.61,.36,1) both!important}
@media(prefers-reduced-motion:reduce){.kco-dj-modal.is-open,.kco-dj-modal.is-closing,.kco-dj-modal .kco-dj-modal-card{animation:none!important}}


/* ========================================================================
   3.5.25 — DJ/EDJ mobile ready-package media ratio only.
   Keep the recommendation media in the same 680:410 landscape coordinate
   system as the Rental ready-package scene. Scene-cover photos use contain on
   phones so their edges are never cropped; the assembled montage gets the
   identical frame, allowing the existing whole-scene fitter to use the full
   width instead of shrinking into a near-square box.
   ======================================================================== */
@media(max-width:780px){
  .kco-dj-planner-app .kco-dj-package-visuals{
    width:100%!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    aspect-ratio:680 / 410!important;
    overflow:hidden!important;
  }
  .kco-dj-planner-app .kco-dj-package-visual,
  .kco-dj-planner-app .kco-dj-dynamic-visual{
    inset:0!important;
    width:100%!important;
    height:100%!important;
    min-height:0!important;
    max-height:none!important;
  }
  .kco-dj-planner-app .kco-dj-ready-card,
  .kco-dj-planner-app .kco-dj-ready-card.is-expanded{
    width:100%!important;
    height:100%!important;
    min-height:0!important;
    max-height:none!important;
  }
  .kco-dj-planner-app .kco-dj-ready-card .kco-package-visual,
  .kco-dj-planner-app .kco-dj-ready-card.is-expanded .kco-package-visual,
  .kco-dj-planner-app .kco-dj-dynamic-visual > .kco-dj-ready-card > .kco-package-visual{
    width:100%!important;
    height:100%!important;
    min-height:0!important;
    max-height:none!important;
    aspect-ratio:680 / 410!important;
  }
  .kco-dj-planner-app .kco-dj-ready-card .kco-package-visual-slides,
  .kco-dj-planner-app .kco-dj-ready-card .kco-package-visual-slide{
    width:100%!important;
    height:100%!important;
  }
  .kco-dj-planner-app .kco-dj-ready-card .kco-package-visual-slide.is-scene-cover{
    background:#0d111b!important;
  }
  .kco-dj-planner-app .kco-dj-ready-card .kco-dj-package-scene-cover{
    width:100%!important;
    height:100%!important;
    object-fit:contain!important;
    object-position:center center!important;
  }
}

/* ========================================================================
   3.5.27 — optional-extra card hierarchy + selectable alternative-package CTA.
   Only the optional add-on cards and the "Megnézem a többi csomagot" button
   are touched here.  Package montage / pricing / wizard geometry is unchanged.
   ======================================================================== */
.kco-dj-planner-app .kco-dj-extra-card{
  grid-template-columns:92px minmax(0,1fr)!important;
  grid-template-areas:"thumb copy" "action action"!important;
  align-items:start!important;
  gap:10px 12px!important;
  padding:11px!important;
}
.kco-dj-planner-app .kco-dj-extra-thumb{
  grid-area:thumb!important;
  width:92px!important;
  height:92px!important;
}
.kco-dj-planner-app .kco-dj-extra-copy{
  grid-area:copy!important;
  min-width:0!important;
  padding-top:2px!important;
}
.kco-dj-planner-app .kco-dj-extra-copy strong{
  white-space:normal!important;
  overflow:visible!important;
  text-overflow:clip!important;
  font-size:13px!important;
  line-height:1.22!important;
}
.kco-dj-planner-app .kco-dj-extra-copy span{font-size:11px!important;line-height:1.2!important}
.kco-dj-planner-app .kco-dj-extra-copy em{font-size:9px!important;line-height:1.3!important}
.kco-dj-planner-app .kco-dj-extra-action{
  grid-area:action!important;
  grid-column:1/-1!important;
  display:flex!important;
  flex-direction:row!important;
  flex-wrap:nowrap!important;
  align-items:stretch!important;
  justify-content:stretch!important;
  gap:7px!important;
  width:100%!important;
  min-width:0!important;
}
.kco-dj-planner-app .kco-dj-extra-action>.kco-dj-extra-add,
.kco-dj-planner-app .kco-dj-extra-action>.kco-dj-extra-media,
.kco-dj-planner-app .kco-dj-extra-action>.kco-dj-extra-stepper{
  flex:1 1 0!important;
  min-width:0!important;
  width:auto!important;
  max-width:none!important;
}
.kco-dj-planner-app .kco-dj-extra-add,
.kco-dj-planner-app .kco-dj-extra-media{
  min-height:40px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:8px 9px!important;
  font-size:8.5px!important;
  line-height:1.15!important;
}
.kco-dj-planner-app .kco-dj-extra-stepper{
  min-height:40px!important;
  grid-template-columns:38px minmax(0,1fr) 38px!important;
  grid-template-rows:40px!important;
}
.kco-dj-planner-app .kco-dj-extra-stepper button{width:38px!important;min-width:38px!important;height:40px!important;min-height:40px!important}
.kco-dj-planner-app .kco-dj-extra-stepper strong{height:40px!important;padding:0 5px!important}

/* The tile option keeps its large-image character, but still uses copy above a
   single horizontal action row. */
.kco-dj-planner-app .kco-dj-extra-style-tiles .kco-dj-extra-card{
  display:flex!important;
  flex-direction:column!important;
  align-items:stretch!important;
  gap:9px!important;
}
.kco-dj-planner-app .kco-dj-extra-style-tiles .kco-dj-extra-thumb{width:100%!important;height:138px!important}
.kco-dj-planner-app .kco-dj-extra-style-tiles .kco-dj-extra-copy{width:100%!important;padding:0 2px!important}
.kco-dj-planner-app .kco-dj-extra-style-tiles .kco-dj-extra-action{width:100%!important}

/* Additional optional-extra visual treatments. */
.kco-dj-extra-style-neon{padding:16px!important;border:1px solid #cfd0ff!important;border-radius:20px!important;background:linear-gradient(135deg,#f7f6ff 0%,#f0fbff 54%,#fff 100%)!important;box-shadow:0 13px 34px rgba(77,68,220,.08)!important}
.kco-dj-extra-style-neon .kco-dj-extra-card{border-color:#d8d8ff!important;background:linear-gradient(145deg,#fff,#f9f8ff)!important;box-shadow:0 7px 24px rgba(85,73,224,.09)!important}
.kco-dj-extra-style-neon .kco-dj-extra-thumb{background:linear-gradient(145deg,#f3f1ff,#eafaff)!important}

.kco-dj-extra-style-cyan-glass{padding:16px!important;border:1px solid #cfeaf0!important;border-radius:20px!important;background:linear-gradient(135deg,#effbfe,#fff 66%)!important}
.kco-dj-extra-style-cyan-glass .kco-dj-extra-card{border-color:#d5edf2!important;background:rgba(255,255,255,.86)!important;box-shadow:0 8px 22px rgba(14,139,167,.07)!important}
.kco-dj-extra-style-cyan-glass .kco-dj-extra-thumb{background:#eefbfe!important}
.kco-dj-extra-style-cyan-glass .kco-dj-extra-copy span{color:#078da9!important}

.kco-dj-extra-style-magenta{padding:16px!important;border:1px solid #f0cfe7!important;border-radius:20px!important;background:linear-gradient(135deg,#fff4fb,#fff 62%)!important}
.kco-dj-extra-style-magenta .kco-dj-extra-card{border-color:#efd7e8!important;background:#fff!important;box-shadow:0 9px 25px rgba(190,53,148,.08)!important}
.kco-dj-extra-style-magenta .kco-dj-extra-thumb{background:#fff0f9!important}
.kco-dj-extra-style-magenta .kco-dj-extra-copy span{color:#c22e91!important}

.kco-dj-extra-style-outline{padding:12px!important;border:1px solid #e1e4eb!important;border-radius:18px!important;background:#fff!important}
.kco-dj-extra-style-outline .kco-dj-extra-card{border:1px solid #dfe3ea!important;background:#fff!important;box-shadow:none!important}
.kco-dj-extra-style-outline .kco-dj-extra-thumb{background:#fff!important;border:1px solid #e5e8ee!important}

.kco-dj-extra-style-compact{padding:12px!important;border:1px solid #e5e7ee!important;border-radius:17px!important;background:#fafbfe!important}
.kco-dj-extra-style-compact .kco-dj-recommended-extras-grid{gap:8px!important}
.kco-dj-extra-style-compact .kco-dj-extra-card{grid-template-columns:72px minmax(0,1fr)!important;padding:9px!important;gap:8px 10px!important}
.kco-dj-extra-style-compact .kco-dj-extra-thumb{width:72px!important;height:72px!important}
.kco-dj-extra-style-compact .kco-dj-extra-copy strong{font-size:11.5px!important}
.kco-dj-extra-style-compact .kco-dj-extra-action{gap:6px!important}
.kco-dj-extra-style-compact .kco-dj-extra-add,.kco-dj-extra-style-compact .kco-dj-extra-media{min-height:36px!important}

/* Six administrator-selectable styles for the secondary package selector CTA. */
.kco-dj-other-packages-callout .kco-dj-other-packages-toggle.kco-dj-other-btn-cyan{background:linear-gradient(135deg,#12bfe8 0%,#4f67ff 100%)!important;box-shadow:0 9px 22px rgba(42,101,226,.22)!important}
.kco-dj-other-packages-callout .kco-dj-other-packages-toggle.kco-dj-other-btn-violet{background:linear-gradient(135deg,#6d4aff 0%,#8b38ef 100%)!important;box-shadow:0 9px 22px rgba(107,66,224,.25)!important}
.kco-dj-other-packages-callout .kco-dj-other-packages-toggle.kco-dj-other-btn-magenta{background:linear-gradient(135deg,#ee3ca8 0%,#b63bea 100%)!important;box-shadow:0 9px 22px rgba(202,51,159,.23)!important}
.kco-dj-other-packages-callout .kco-dj-other-packages-toggle.kco-dj-other-btn-emerald{background:linear-gradient(135deg,#00bfa5 0%,#13a8c5 100%)!important;box-shadow:0 9px 22px rgba(0,159,156,.22)!important}
.kco-dj-other-packages-callout .kco-dj-other-packages-toggle.kco-dj-other-btn-gold{background:linear-gradient(135deg,#f5a623 0%,#f06a2a 100%)!important;box-shadow:0 9px 22px rgba(226,120,30,.24)!important}
.kco-dj-other-packages-callout .kco-dj-other-packages-toggle.kco-dj-other-btn-dark{background:linear-gradient(135deg,#22283a 0%,#3e3a66 100%)!important;box-shadow:0 9px 22px rgba(24,29,48,.25)!important}

@media(max-width:720px){
  .kco-dj-planner-app .kco-dj-extra-card{grid-template-columns:82px minmax(0,1fr)!important;gap:9px 10px!important}
  .kco-dj-planner-app .kco-dj-extra-thumb{width:82px!important;height:82px!important}
  .kco-dj-planner-app .kco-dj-extra-action{flex-direction:row!important;flex-wrap:nowrap!important;gap:6px!important}
  .kco-dj-planner-app .kco-dj-extra-add,.kco-dj-planner-app .kco-dj-extra-media{width:auto!important;flex:1 1 0!important;font-size:8px!important;padding:8px 5px!important}
  .kco-dj-planner-app .kco-dj-extra-stepper{width:auto!important;flex:1 1 0!important;grid-template-columns:38px minmax(0,1fr) 38px!important}
  .kco-dj-planner-app .kco-dj-extra-style-tiles .kco-dj-extra-thumb{height:128px!important}
  .kco-dj-extra-style-compact .kco-dj-extra-card{grid-template-columns:68px minmax(0,1fr)!important}
  .kco-dj-extra-style-compact .kco-dj-extra-thumb{width:68px!important;height:68px!important}
}

/* ==========================================================
   3.5.28 — ESEMÉNYDJ / DJ VÁLASZTÓ
   A személyválasztó teljesen EseményDJ-nézetű, és nem vesz át
   Karaoke One-specifikus szöveget vagy vizuális megnevezést.
   ========================================================== */
.kco-mode-edj .kco-edj-dj-selector{
  --edj-dj-accent:#ed05ab;
  --edj-dj-cyan:#55d8ee;
  margin:18px 0 16px;
  padding:20px;
  border:1px solid rgba(237,5,171,.14);
  border-radius:18px;
  background:#fff;
  box-shadow:0 14px 38px rgba(14,18,31,.055);
}
.kco-mode-edj .kco-edj-dj-selector-head{margin:0 0 14px;max-width:760px}
.kco-mode-edj .kco-edj-dj-selector-head>small{display:block;margin:0 0 5px;color:var(--edj-dj-accent);font-size:10px;line-height:1;font-weight:900;letter-spacing:.14em;text-transform:uppercase}
.kco-mode-edj .kco-edj-dj-selector-head>strong{display:block;color:#181a22;font-size:24px;line-height:1.12;font-weight:850;letter-spacing:-.035em}
.kco-mode-edj .kco-edj-dj-selector-head>p{margin:7px 0 0!important;max-width:690px;color:#71757f;font-size:13.5px;line-height:1.5}
.kco-mode-edj .kco-edj-dj-selector-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.kco-mode-edj .kco-edj-dj-card{position:relative;display:grid;grid-template-columns:74px minmax(0,1fr) 24px;gap:13px;align-items:center;width:100%;min-height:96px;padding:10px 12px;border:1px solid #e6e7ec;border-radius:14px;background:#fff;color:#1b1d25;text-align:left;cursor:pointer;transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease,background .18s ease}
.kco-mode-edj .kco-edj-dj-card:hover{transform:translateY(-1px);border-color:rgba(237,5,171,.34);box-shadow:0 9px 22px rgba(29,22,40,.07)}
.kco-mode-edj .kco-edj-dj-card.is-selected{border-color:rgba(237,5,171,.7);box-shadow:0 0 0 3px rgba(237,5,171,.075),0 11px 25px rgba(31,20,42,.08)}
.kco-mode-edj .kco-edj-dj-photo{display:flex;align-items:center;justify-content:center;width:74px;height:74px;overflow:hidden;border-radius:11px;background:#f1f2f5;color:#9a9da5;font-weight:900}
.kco-mode-edj .kco-edj-dj-photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
.kco-mode-edj .kco-edj-dj-card-copy{min-width:0;display:flex;flex-direction:column;align-items:flex-start}
.kco-mode-edj .kco-edj-dj-card-copy>em{display:inline-flex;margin:0 0 4px;padding:3px 6px;border-radius:999px;background:rgba(237,5,171,.075);color:#c5008f;font-size:8px;line-height:1;font-style:normal;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
.kco-mode-edj .kco-edj-dj-card-copy>strong{display:block;color:#1b1d24;font-size:16px;line-height:1.18;font-weight:850}
.kco-mode-edj .kco-edj-dj-card-copy>small{display:block;margin-top:3px;color:#858891;font-size:11.5px;line-height:1.3}
.kco-mode-edj .kco-edj-dj-promo{display:block;margin-top:7px;color:#bd087f;font-size:12px;line-height:1.35;font-weight:800}
.kco-mode-edj .kco-edj-dj-card-copy>i{display:block;margin-top:5px;color:#747780;font-size:11px;line-height:1.35;font-style:normal}
.kco-mode-edj .kco-edj-dj-select-mark{display:flex;align-items:center;justify-content:center;width:22px;height:22px;border:1px solid #d8dae1;border-radius:50%;color:transparent;background:#fff;font-size:11px;font-weight:900;transition:.18s ease}
.kco-mode-edj .kco-edj-dj-card.is-selected .kco-edj-dj-select-mark{border-color:var(--edj-dj-accent);background:var(--edj-dj-accent);color:#fff}
.kco-mode-edj .kco-edj-dj-card.is-no-preference .kco-edj-dj-photo{background:#f6f6f8;color:#a0a2aa}
.kco-mode-edj .kco-edj-dj-selected-summary{margin:12px 0 0;padding:10px 12px;border-radius:10px;background:#fff6fc;border:1px solid rgba(237,5,171,.12);color:#555963;font-size:12.5px;line-height:1.45}
.kco-mode-edj .kco-edj-dj-selected-summary strong{color:#b5077b}
.kco-mode-edj .kco-edj-dj-original-price{display:block!important;margin:3px 0 2px;color:#999ca5;font-size:11px;font-weight:650}
.kco-mode-edj .kco-edj-dj-original-price[hidden]{display:none!important}
.kco-mode-edj .kco-edj-dj-discount-row{background:rgba(237,5,171,.045);border-radius:8px}
.kco-mode-edj .kco-edj-dj-discount-row>span,.kco-mode-edj .kco-edj-dj-discount-row>strong{color:#ba087e!important}

/* Portrékártya — kiegyensúlyozott, emberközpontú. */
.kco-mode-edj .kco-edj-dj-style-portrait .kco-edj-dj-card{grid-template-columns:86px minmax(0,1fr) 24px;min-height:108px}
.kco-mode-edj .kco-edj-dj-style-portrait .kco-edj-dj-photo{width:86px;height:86px}

/* Letisztult — kevés keret, a személy neve a fő elem. */
.kco-mode-edj .kco-edj-dj-style-clean{box-shadow:none;border-color:#ececf0;background:#fcfcfd}
.kco-mode-edj .kco-edj-dj-style-clean .kco-edj-dj-card{border-color:transparent;background:#fff;border-radius:10px;box-shadow:0 1px 0 #e8e8ec}
.kco-mode-edj .kco-edj-dj-style-clean .kco-edj-dj-card.is-selected{box-shadow:inset 3px 0 0 var(--edj-dj-accent),0 1px 0 #e8e8ec}

/* Magenta — ha a kedvezményt láthatóbbá akarod tenni. */
.kco-mode-edj .kco-edj-dj-style-magenta{background:linear-gradient(145deg,#fff 0%,#fff8fd 100%);border-color:rgba(237,5,171,.2)}
.kco-mode-edj .kco-edj-dj-style-magenta .kco-edj-dj-card{background:rgba(255,255,255,.92);border-color:rgba(237,5,171,.16)}
.kco-mode-edj .kco-edj-dj-style-magenta .kco-edj-dj-card.is-selected{background:#fff7fc;border-color:var(--edj-dj-accent)}

/* Sötét prémium — visszafogott, nem neon-diszkó. */
.kco-mode-edj .kco-edj-dj-style-dark{background:linear-gradient(145deg,#151822,#0c0f17);border-color:rgba(255,255,255,.09);box-shadow:0 18px 42px rgba(5,7,13,.16)}
.kco-mode-edj .kco-edj-dj-style-dark .kco-edj-dj-selector-head>strong{color:#fff}
.kco-mode-edj .kco-edj-dj-style-dark .kco-edj-dj-selector-head>p{color:rgba(255,255,255,.57)}
.kco-mode-edj .kco-edj-dj-style-dark .kco-edj-dj-card{background:rgba(255,255,255,.045);border-color:rgba(255,255,255,.10);color:#fff}
.kco-mode-edj .kco-edj-dj-style-dark .kco-edj-dj-card:hover,.kco-mode-edj .kco-edj-dj-style-dark .kco-edj-dj-card.is-selected{border-color:rgba(237,5,171,.7);background:rgba(237,5,171,.06)}
.kco-mode-edj .kco-edj-dj-style-dark .kco-edj-dj-card-copy>strong{color:#fff}
.kco-mode-edj .kco-edj-dj-style-dark .kco-edj-dj-card-copy>small,.kco-mode-edj .kco-edj-dj-style-dark .kco-edj-dj-card-copy>i{color:rgba(255,255,255,.54)}
.kco-mode-edj .kco-edj-dj-style-dark .kco-edj-dj-promo{color:#ff68ce}
.kco-mode-edj .kco-edj-dj-style-dark .kco-edj-dj-select-mark{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.18)}
.kco-mode-edj .kco-edj-dj-style-dark .kco-edj-dj-selected-summary{background:rgba(237,5,171,.06);border-color:rgba(237,5,171,.22);color:rgba(255,255,255,.68)}
.kco-mode-edj .kco-edj-dj-style-dark .kco-edj-dj-selected-summary strong{color:#ff65cf}

/* Kompakt vízszintes — sok DJ-nél jó. */
.kco-mode-edj .kco-edj-dj-style-compact .kco-edj-dj-selector-grid{grid-template-columns:1fr}
.kco-mode-edj .kco-edj-dj-style-compact .kco-edj-dj-card{grid-template-columns:56px minmax(0,1fr) 24px;min-height:72px;padding:8px 11px}
.kco-mode-edj .kco-edj-dj-style-compact .kco-edj-dj-photo{width:56px;height:56px;border-radius:9px}
.kco-mode-edj .kco-edj-dj-style-compact .kco-edj-dj-promo{margin-top:4px}

/* Nagy portré — két ember összehasonlításához látványos. */
.kco-mode-edj .kco-edj-dj-style-split .kco-edj-dj-card{display:flex;min-height:210px;padding:0;overflow:hidden;align-items:stretch}
.kco-mode-edj .kco-edj-dj-style-split .kco-edj-dj-photo{flex:0 0 42%;width:auto;height:auto;min-height:210px;border-radius:0}
.kco-mode-edj .kco-edj-dj-style-split .kco-edj-dj-card-copy{justify-content:center;padding:18px 12px 18px 16px}
.kco-mode-edj .kco-edj-dj-style-split .kco-edj-dj-select-mark{position:absolute;right:12px;top:12px}

@media(max-width:760px){
  .kco-mode-edj .kco-edj-dj-selector{padding:15px;border-radius:15px}
  .kco-mode-edj .kco-edj-dj-selector-grid{grid-template-columns:1fr}
  .kco-mode-edj .kco-edj-dj-selector-head>strong{font-size:21px}
  .kco-mode-edj .kco-edj-dj-card,.kco-mode-edj .kco-edj-dj-style-portrait .kco-edj-dj-card{grid-template-columns:68px minmax(0,1fr) 23px;min-height:88px}
  .kco-mode-edj .kco-edj-dj-photo,.kco-mode-edj .kco-edj-dj-style-portrait .kco-edj-dj-photo{width:68px;height:68px}
  .kco-mode-edj .kco-edj-dj-style-split .kco-edj-dj-card{min-height:170px}
  .kco-mode-edj .kco-edj-dj-style-split .kco-edj-dj-photo{width:auto;height:auto;min-height:170px}
}
@media(max-width:460px){
  .kco-mode-edj .kco-edj-dj-style-split .kco-edj-dj-card{display:grid;grid-template-columns:98px minmax(0,1fr);min-height:130px}
  .kco-mode-edj .kco-edj-dj-style-split .kco-edj-dj-photo{width:98px;min-height:130px}
  .kco-mode-edj .kco-edj-dj-style-split .kco-edj-dj-card-copy{padding:12px}
}

/* ==========================================================
   3.5.30 — DJ TERVEZŐK KOMPAKT KÉTHASÁBOS VÉGEREDMÉNY
   Karaoke DJ és EseményDJ módban adminból kapcsolható. Az első
   hasáb az „EZT VISSZÜK MAGUNKKAL” blokknál zárul; a másodikban
   jönnek az extrák, opciók és az ár. Mobilon mindig egy hasáb marad.
   ========================================================== */
.kco-dj-result-column{display:contents}
.kco-edj-result-options{display:grid;gap:8px;margin:12px 0}
.kco-edj-result-options .kco-edj-speech-mic{margin:0}
.kco-dj-price-box>.kco-edj-dj-selector{margin:14px 16px 4px;box-shadow:none}

@media(min-width:981px){
  .kco-dj-planner-app .kco-dj-result.kco-dj-result-layout-two .kco-dj-result-copy{
    display:grid!important;
    grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr)!important;
    column-gap:20px!important;
    align-items:start!important;
  }
  .kco-dj-planner-app .kco-dj-result.kco-dj-result-layout-two .kco-dj-result-column{
    display:block!important;
    min-width:0!important;
  }
  .kco-dj-planner-app .kco-dj-result.kco-dj-result-layout-two .kco-dj-result-column-secondary{
    align-self:start!important;
  }
  .kco-dj-planner-app .kco-dj-result.kco-dj-result-layout-two .kco-dj-result-column-secondary>:first-child{
    margin-top:0!important;
  }
  .kco-dj-planner-app .kco-dj-result.kco-dj-result-layout-two .kco-dj-result-visual{
    margin-top:10px!important;
  }
  .kco-dj-planner-app .kco-dj-result.kco-dj-result-layout-two .kco-dj-other-packages,
  .kco-dj-planner-app .kco-dj-result.kco-dj-result-layout-two .kco-dj-recommended-extras,
  .kco-dj-planner-app .kco-dj-result.kco-dj-result-layout-two .kco-edj-speech-mic,
  .kco-dj-planner-app .kco-dj-result.kco-dj-result-layout-two .kco-edj-result-options,
  .kco-dj-planner-app .kco-dj-result.kco-dj-result-layout-two .kco-dj-price-box{
    width:100%!important;
    max-width:100%!important;
  }
  .kco-dj-planner-app .kco-dj-result.kco-dj-result-layout-two .kco-edj-dj-selector{
    margin:12px 12px 3px!important;
    padding:13px!important;
    border-radius:14px!important;
  }
  .kco-dj-planner-app .kco-dj-result.kco-dj-result-layout-two .kco-edj-dj-selector-head{
    margin-bottom:10px!important;
  }
  .kco-dj-planner-app .kco-dj-result.kco-dj-result-layout-two .kco-edj-dj-selector-head>strong{
    font-size:19px!important;
  }
  .kco-dj-planner-app .kco-dj-result.kco-dj-result-layout-two .kco-edj-dj-selector-head>p{
    font-size:11.5px!important;
    line-height:1.4!important;
  }
  .kco-dj-planner-app .kco-dj-result.kco-dj-result-layout-two .kco-edj-dj-selector-grid{
    grid-template-columns:1fr!important;
    gap:7px!important;
  }
  .kco-dj-planner-app .kco-dj-result.kco-dj-result-layout-two .kco-edj-dj-card,
  .kco-dj-planner-app .kco-dj-result.kco-dj-result-layout-two .kco-edj-dj-style-portrait .kco-edj-dj-card{
    grid-template-columns:56px minmax(0,1fr) 22px!important;
    min-height:74px!important;
    padding:8px 9px!important;
    gap:9px!important;
  }
  .kco-dj-planner-app .kco-dj-result.kco-dj-result-layout-two .kco-edj-dj-photo,
  .kco-dj-planner-app .kco-dj-result.kco-dj-result-layout-two .kco-edj-dj-style-portrait .kco-edj-dj-photo{
    width:56px!important;
    height:56px!important;
  }
  .kco-dj-planner-app .kco-dj-result.kco-dj-result-layout-two .kco-edj-dj-card-copy>strong{font-size:14px!important}
  .kco-dj-planner-app .kco-dj-result.kco-dj-result-layout-two .kco-edj-dj-card-copy>small{font-size:10px!important}
  .kco-dj-planner-app .kco-dj-result.kco-dj-result-layout-two .kco-edj-dj-promo{font-size:10.5px!important;margin-top:4px!important}
  .kco-dj-planner-app .kco-dj-result.kco-dj-result-layout-two .kco-dj-price-main{
    flex-wrap:wrap!important;
    row-gap:6px!important;
  }
  .kco-dj-planner-app .kco-dj-result.kco-dj-result-layout-two .kco-dj-price-main>strong{
    margin-left:auto!important;
    font-size:clamp(25px,2.5vw,32px)!important;
  }
  .kco-dj-planner-app .kco-dj-result.kco-dj-result-layout-two .kco-dj-result-actions{
    display:grid!important;
    grid-template-columns:1fr!important;
  }
  .kco-dj-planner-app .kco-dj-result.kco-dj-result-layout-two .kco-dj-result-actions>*{
    width:100%!important;
  }
}

@media(max-width:980px){
  .kco-dj-planner-app .kco-dj-result.kco-dj-result-layout-two .kco-dj-result-copy{display:block!important}
  .kco-dj-planner-app .kco-dj-result.kco-dj-result-layout-two .kco-dj-result-column{display:contents!important}
  .kco-dj-price-box>.kco-edj-dj-selector{margin:12px 12px 4px}
}


/* ==========================================================
   3.5.31 — SZÉLES, ARÁNYOS KÉTHASÁBOS DJ VÉGEREDMÉNY
   - Karaoke DJ + EseményDJ ugyanazt a desktop rácsot használja.
   - A kártya kitör a keskeny theme/content konténerből és a böngésző
     hasznos szélességét használja, felesleges oldalsó margó nélkül.
   - Bal oldal: ajánlat + látvány/összeállítás + „Ezt visszük” + extrák
     + EDJ opcionális kérdések.
   - Jobb oldal: „Ajánlott választás” / másik csomag + eseményösszesítő
     + DJ-választás + ár + CTA.
   - A 680:410 fekvő vizuál desktopon is valódi oldalarányt kap; a
     látványkép nem cropolódik. Mobil szabályokat nem írjuk felül.
   ========================================================== */

/* Keskeny desktop/tablet: ne erőltessünk két keskeny hasábot. */
@media (min-width:781px){
  .kco-dj-planner-app.kco-result-layout-two,
  .kco-dj-planner-app.kco-result-layout-two .kco-dj-shell{
    overflow:visible!important;
  }
}

@media (min-width:781px) and (max-width:1179px){
  .kco-dj-planner-app .kco-dj-result.kco-dj-result-layout-two{
    position:relative!important;
    left:50%!important;
    width:min(1080px,calc(100vw - 24px))!important;
    max-width:none!important;
    margin:30px 0 54px!important;
    transform:translateX(-50%)!important;
  }
  .kco-dj-planner-app .kco-dj-result.kco-dj-result-layout-two .kco-dj-result-copy{
    display:block!important;
    padding:26px!important;
  }
  .kco-dj-planner-app .kco-dj-result.kco-dj-result-layout-two .kco-dj-result-column{
    display:contents!important;
  }
}

@media (min-width:1180px){
  .kco-dj-planner-app .kco-dj-result.kco-dj-result-layout-two{
    position:relative!important;
    left:50%!important;
    width:min(1480px,calc(100vw - 24px))!important;
    max-width:none!important;
    margin:28px 0 58px!important;
    transform:translateX(-50%)!important;
    gap:10px!important;
  }
  .kco-dj-planner-app .kco-dj-result.kco-dj-result-layout-two .kco-dj-result-toolbar{
    width:100%!important;
    max-width:none!important;
    padding:0 4px!important;
  }
  .kco-dj-planner-app .kco-dj-result.kco-dj-result-layout-two .kco-dj-result-copy{
    display:grid!important;
    grid-template-columns:minmax(0,1.28fr) minmax(440px,.92fr)!important;
    column-gap:28px!important;
    align-items:start!important;
    width:100%!important;
    max-width:none!important;
    padding:28px 30px 30px!important;
    border-radius:24px!important;
    overflow:visible!important;
  }
  .kco-dj-planner-app .kco-dj-result.kco-dj-result-layout-two .kco-dj-result-column{
    display:block!important;
    min-width:0!important;
    width:100%!important;
    max-width:none!important;
  }
  .kco-dj-planner-app .kco-dj-result.kco-dj-result-layout-two .kco-dj-result-column-primary{
    padding-right:2px!important;
  }
  .kco-dj-planner-app .kco-dj-result.kco-dj-result-layout-two .kco-dj-result-column-secondary{
    align-self:start!important;
    padding-left:28px!important;
    border-left:1px solid #e8ebf2!important;
  }

  /* A csomag vizuálja fekvő, arányos és a teljes bal hasábot kihasználja. */
  .kco-dj-planner-app .kco-dj-result.kco-dj-result-layout-two .kco-dj-result-visual{
    margin:15px 0 10px!important;
    padding:14px 14px 12px!important;
    border-radius:18px!important;
  }
  .kco-dj-planner-app .kco-dj-result.kco-dj-result-layout-two .kco-dj-package-visuals{
    width:100%!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    aspect-ratio:680 / 410!important;
    overflow:hidden!important;
  }
  .kco-dj-planner-app .kco-dj-result.kco-dj-result-layout-two .kco-dj-package-visual,
  .kco-dj-planner-app .kco-dj-result.kco-dj-result-layout-two .kco-dj-dynamic-visual,
  .kco-dj-planner-app .kco-dj-result.kco-dj-result-layout-two .kco-dj-ready-card,
  .kco-dj-planner-app .kco-dj-result.kco-dj-result-layout-two .kco-dj-ready-card.is-expanded,
  .kco-dj-planner-app .kco-dj-result.kco-dj-result-layout-two .kco-dj-ready-card .kco-package-visual,
  .kco-dj-planner-app .kco-dj-result.kco-dj-result-layout-two .kco-dj-ready-card.is-expanded .kco-package-visual,
  .kco-dj-planner-app .kco-dj-result.kco-dj-result-layout-two .kco-dj-dynamic-visual>.kco-dj-ready-card>.kco-package-visual{
    width:100%!important;
    height:100%!important;
    min-height:0!important;
    max-height:none!important;
  }
  .kco-dj-planner-app .kco-dj-result.kco-dj-result-layout-two .kco-dj-rental-scene{
    width:100%!important;
    height:100%!important;
    min-height:0!important;
    max-height:none!important;
    aspect-ratio:auto!important;
    margin:0!important;
  }
  .kco-dj-planner-app .kco-dj-result.kco-dj-result-layout-two .kco-package-visual-slides,
  .kco-dj-planner-app .kco-dj-result.kco-dj-result-layout-two .kco-package-visual-slide{
    width:100%!important;
    height:100%!important;
  }
  .kco-dj-planner-app .kco-dj-result.kco-dj-result-layout-two .kco-package-visual-slide.is-scene-cover{
    background:#f3f5f9!important;
  }
  .kco-dj-planner-app .kco-dj-result.kco-dj-result-layout-two .kco-dj-package-scene-cover,
  .kco-dj-planner-app .kco-dj-result.kco-dj-result-layout-two .kco-dj-package-cover{
    width:100%!important;
    height:100%!important;
    max-width:100%!important;
    max-height:100%!important;
    padding:0!important;
    object-fit:contain!important;
    object-position:center center!important;
  }

  /* Extrák: nem két keskeny minikártya a jobb oszlopban, hanem olvasható
     kártyák a vizuál alatt. Automatikusan csak akkor lesz két oszlop, ha fér. */
  .kco-dj-planner-app .kco-dj-result.kco-dj-result-layout-two .kco-dj-result-column-primary>.kco-dj-recommended-extras{
    width:100%!important;
    max-width:none!important;
    margin:16px 0 10px!important;
    padding:16px!important;
    border-radius:18px!important;
  }
  .kco-dj-planner-app .kco-dj-result.kco-dj-result-layout-two .kco-dj-result-column-primary .kco-dj-recommended-extras-grid{
    grid-template-columns:repeat(auto-fit,minmax(270px,1fr))!important;
    gap:12px!important;
  }
  .kco-dj-planner-app .kco-dj-result.kco-dj-result-layout-two .kco-dj-result-column-primary .kco-dj-extra-card{
    grid-template-columns:88px minmax(0,1fr)!important;
    gap:10px 12px!important;
    min-width:0!important;
    padding:12px!important;
    border-radius:15px!important;
  }
  .kco-dj-planner-app .kco-dj-result.kco-dj-result-layout-two .kco-dj-result-column-primary .kco-dj-extra-thumb{
    width:88px!important;
    height:88px!important;
  }
  .kco-dj-planner-app .kco-dj-result.kco-dj-result-layout-two .kco-dj-result-column-primary .kco-dj-extra-copy strong{
    font-size:13.5px!important;
    line-height:1.25!important;
  }

  /* EDJ opcionális kérdések a bal hasáb részei, az ajánlás/ár előtt. */
  .kco-dj-planner-app .kco-dj-result.kco-dj-result-layout-two .kco-dj-result-column-primary>.kco-edj-speech-mic,
  .kco-dj-planner-app .kco-dj-result.kco-dj-result-layout-two .kco-dj-result-column-primary>.kco-edj-result-options{
    width:100%!important;
    max-width:none!important;
    margin:10px 0 0!important;
  }
  .kco-dj-planner-app .kco-dj-result.kco-dj-result-layout-two .kco-dj-result-column-primary>.kco-edj-result-options{
    grid-template-columns:repeat(auto-fit,minmax(280px,1fr))!important;
    gap:10px!important;
  }

  /* A jobb hasáb ténylegesen az AJÁNLOTT VÁLASZTÁS blokknál kezdődik. */
  .kco-dj-planner-app .kco-dj-result.kco-dj-result-layout-two .kco-dj-result-column-secondary>.kco-dj-other-packages{
    width:100%!important;
    max-width:none!important;
    margin:0 0 15px!important;
    padding-top:0!important;
    border-top:0!important;
  }
  .kco-dj-planner-app .kco-dj-result.kco-dj-result-layout-two .kco-dj-other-packages-callout{
    padding:15px!important;
    border-radius:17px!important;
  }
  .kco-dj-planner-app .kco-dj-result.kco-dj-result-layout-two .kco-dj-other-packages-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:10px!important;
  }

  .kco-dj-planner-app .kco-dj-result.kco-dj-result-layout-two .kco-dj-price-box{
    width:100%!important;
    max-width:none!important;
    margin-top:0!important;
    border-radius:18px!important;
    overflow:hidden!important;
  }
  .kco-dj-planner-app .kco-dj-result.kco-dj-result-layout-two .kco-dj-price-context{
    padding:16px!important;
  }
  .kco-dj-planner-app .kco-dj-result.kco-dj-result-layout-two .kco-edj-dj-selector{
    margin:14px 14px 5px!important;
    padding:14px!important;
    border-radius:15px!important;
  }
  .kco-dj-planner-app .kco-dj-result.kco-dj-result-layout-two .kco-edj-dj-selector-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:9px!important;
  }
  .kco-dj-planner-app .kco-dj-result.kco-dj-result-layout-two .kco-edj-dj-card,
  .kco-dj-planner-app .kco-dj-result.kco-dj-result-layout-two .kco-edj-dj-style-portrait .kco-edj-dj-card{
    grid-template-columns:58px minmax(0,1fr) 22px!important;
    min-height:78px!important;
    padding:9px!important;
    gap:9px!important;
  }
  .kco-dj-planner-app .kco-dj-result.kco-dj-result-layout-two .kco-edj-dj-photo,
  .kco-dj-planner-app .kco-dj-result.kco-dj-result-layout-two .kco-edj-dj-style-portrait .kco-edj-dj-photo{
    width:58px!important;
    height:58px!important;
  }
  .kco-dj-planner-app .kco-dj-result.kco-dj-result-layout-two .kco-edj-dj-selector-head>strong{
    font-size:20px!important;
  }
  .kco-dj-planner-app .kco-dj-result.kco-dj-result-layout-two .kco-edj-dj-selector-head>p{
    font-size:12px!important;
  }
  .kco-dj-planner-app .kco-dj-result.kco-dj-result-layout-two .kco-dj-price-main{
    flex-wrap:nowrap!important;
    gap:12px!important;
    align-items:flex-end!important;
  }
  .kco-dj-planner-app .kco-dj-result.kco-dj-result-layout-two .kco-dj-price-main>strong{
    margin-left:auto!important;
    font-size:clamp(30px,2.6vw,38px)!important;
    white-space:nowrap!important;
  }
  .kco-dj-planner-app .kco-dj-result.kco-dj-result-layout-two .kco-dj-result-actions{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:10px!important;
    width:100%!important;
    margin-top:12px!important;
  }
  .kco-dj-planner-app .kco-dj-result.kco-dj-result-layout-two .kco-dj-result-actions>*{
    width:100%!important;
    min-width:0!important;
    white-space:normal!important;
  }
}


/* ==========================================================
   3.5.32 — KÉTHASÁBOS VÉGEREDMÉNY FINOMHANGOLÁS
   - A média CTA desktopon a vizuál fejlécében látszik, így nem kerül a hajtás alá.
   - A technikai kép 16:9 arányú, a kész fotó továbbra sem cropolódik.
   - Az ajánlott / eredeti ajánlás kártya nem engedi, hogy a gombok
     összenyomják a szöveget.
   - EseményDJ: minden DJ-választó stílus olvasható, egyoszlopos kártyalistát
     használ a keskenyebb jobb hasábban.
   - A fő CTA-k kompaktabbak és kisebb tipográfiát kapnak.
   ========================================================== */

/* A média blokk bekerült a vizuálba. Egyhasábos és mobil nézetben ugyanott
   marad vizuálisan, ahol korábban: a kép alatt. */
.kco-dj-result-visual>.kco-dj-result-label{order:1}
.kco-dj-result-visual>.kco-dj-package-visuals{order:2}
.kco-dj-result-visual>.kco-dj-result-media-actions{order:3}

@media (min-width:1180px){
  /* Vizuál: rövidebb, szabványosabb fekvő arány + mindig látható média CTA. */
  .kco-dj-planner-app .kco-dj-result.kco-dj-result-layout-two .kco-dj-result-visual{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto!important;
    grid-template-rows:auto auto!important;
    align-items:center!important;
    gap:8px 12px!important;
    padding:11px 12px 12px!important;
    overflow:hidden!important;
  }
  .kco-dj-planner-app .kco-dj-result.kco-dj-result-layout-two .kco-dj-result-label{
    grid-column:1!important;
    grid-row:1!important;
    margin:0!important;
    align-self:center!important;
  }
  .kco-dj-planner-app .kco-dj-result.kco-dj-result-layout-two .kco-dj-result-media-actions{
    grid-column:2!important;
    grid-row:1!important;
    display:flex!important;
    align-items:center!important;
    justify-content:flex-end!important;
    gap:7px!important;
    margin:0!important;
    min-width:0!important;
  }
  .kco-dj-planner-app .kco-dj-result.kco-dj-result-layout-two .kco-dj-result-media-actions[hidden]{display:none!important}
  .kco-dj-planner-app .kco-dj-result.kco-dj-result-layout-two .kco-dj-result-media-button{
    min-height:34px!important;
    padding:7px 11px!important;
    border-radius:10px!important;
    font-size:10px!important;
    line-height:1.1!important;
    box-shadow:0 6px 16px rgba(8,145,178,.18)!important;
    white-space:nowrap!important;
  }
  .kco-dj-planner-app .kco-dj-result.kco-dj-result-layout-two .kco-dj-package-visuals{
    grid-column:1/-1!important;
    grid-row:2!important;
    width:100%!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    aspect-ratio:16 / 9!important;
    border-radius:12px!important;
  }

  /* Ajánlott / eredeti ajánlás: a szöveg mindig teljes használható szélességet kap,
     a gombok pedig külön sorba kerülnek. */
  .kco-dj-planner-app .kco-dj-result.kco-dj-result-layout-two .kco-dj-other-packages-callout{
    display:grid!important;
    grid-template-columns:34px minmax(0,1fr)!important;
    grid-template-areas:"mark copy" "actions actions"!important;
    align-items:start!important;
    gap:9px 11px!important;
    padding:14px!important;
  }
  .kco-dj-planner-app .kco-dj-result.kco-dj-result-layout-two .kco-dj-other-packages-mark{
    grid-area:mark!important;
    width:32px!important;
    height:32px!important;
    margin:0!important;
  }
  .kco-dj-planner-app .kco-dj-result.kco-dj-result-layout-two .kco-dj-other-packages-copy{
    grid-area:copy!important;
    width:100%!important;
    min-width:0!important;
  }
  .kco-dj-planner-app .kco-dj-result.kco-dj-result-layout-two .kco-dj-other-packages-copy small{
    display:block!important;
    margin:0 0 3px!important;
    font-size:8px!important;
    line-height:1.15!important;
  }
  .kco-dj-planner-app .kco-dj-result.kco-dj-result-layout-two .kco-dj-other-packages-copy strong{
    display:block!important;
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
    font-size:15px!important;
    line-height:1.25!important;
    overflow-wrap:normal!important;
    word-break:normal!important;
    white-space:normal!important;
  }
  .kco-dj-planner-app .kco-dj-result.kco-dj-result-layout-two .kco-dj-other-packages-copy p{
    margin:4px 0 0!important;
    font-size:11px!important;
    line-height:1.45!important;
    overflow-wrap:normal!important;
    word-break:normal!important;
  }
  .kco-dj-planner-app .kco-dj-result.kco-dj-result-layout-two .kco-dj-other-packages-actions{
    grid-area:actions!important;
    display:flex!important;
    align-items:center!important;
    justify-content:flex-end!important;
    gap:7px!important;
    flex-wrap:wrap!important;
    width:100%!important;
    min-width:0!important;
    padding-top:2px!important;
  }
  .kco-dj-planner-app .kco-dj-result.kco-dj-result-layout-two .kco-dj-other-packages-actions>*{
    flex:0 1 auto!important;
    width:auto!important;
    max-width:100%!important;
    min-height:38px!important;
    padding:8px 12px!important;
    border-radius:10px!important;
    font-size:10.5px!important;
    line-height:1.15!important;
    white-space:nowrap!important;
  }
  .kco-dj-planner-app .kco-dj-result.kco-dj-result-layout-two .kco-dj-other-packages.is-viewing-alternative .kco-dj-other-packages-callout{
    background:linear-gradient(135deg,#fbfaff 0%,#f6f7ff 100%)!important;
    border-color:color-mix(in srgb,var(--kco-accent) 24%,#e2e5ef)!important;
  }

  /* EseményDJ DJ-választó: a jobb hasábban minden megjelenési stílus
     egységesen olvasható egyoszlopos listává válik. */
  .kco-mode-edj .kco-dj-result.kco-dj-result-layout-two .kco-edj-dj-selector{
    margin:12px 12px 5px!important;
    padding:13px!important;
    border-radius:15px!important;
  }
  .kco-mode-edj .kco-dj-result.kco-dj-result-layout-two .kco-edj-dj-selector-head{
    margin:0 0 10px!important;
    max-width:none!important;
  }
  .kco-mode-edj .kco-dj-result.kco-dj-result-layout-two .kco-edj-dj-selector-head>strong{
    font-size:19px!important;
    line-height:1.15!important;
  }
  .kco-mode-edj .kco-dj-result.kco-dj-result-layout-two .kco-edj-dj-selector-head>p{
    margin-top:5px!important;
    font-size:11.5px!important;
    line-height:1.4!important;
  }
  .kco-mode-edj .kco-dj-result.kco-dj-result-layout-two .kco-edj-dj-selector-grid,
  .kco-mode-edj .kco-dj-result.kco-dj-result-layout-two .kco-edj-dj-style-compact .kco-edj-dj-selector-grid{
    grid-template-columns:1fr!important;
    gap:8px!important;
  }
  .kco-mode-edj .kco-dj-result.kco-dj-result-layout-two .kco-edj-dj-card{
    display:grid!important;
    grid-template-columns:62px minmax(0,1fr) 22px!important;
    align-items:center!important;
    gap:10px!important;
    width:100%!important;
    min-width:0!important;
    min-height:80px!important;
    padding:9px 10px!important;
    border-radius:12px!important;
  }
  .kco-mode-edj .kco-dj-result.kco-dj-result-layout-two .kco-edj-dj-photo{
    width:62px!important;
    height:62px!important;
    min-width:62px!important;
    min-height:62px!important;
    border-radius:10px!important;
  }
  .kco-mode-edj .kco-dj-result.kco-dj-result-layout-two .kco-edj-dj-card-copy{
    min-width:0!important;
    width:100%!important;
  }
  .kco-mode-edj .kco-dj-result.kco-dj-result-layout-two .kco-edj-dj-card-copy>em{
    max-width:100%!important;
    margin-bottom:3px!important;
    font-size:7.5px!important;
    white-space:normal!important;
  }
  .kco-mode-edj .kco-dj-result.kco-dj-result-layout-two .kco-edj-dj-card-copy>strong{
    font-size:14.5px!important;
    line-height:1.18!important;
    overflow-wrap:normal!important;
    word-break:normal!important;
  }
  .kco-mode-edj .kco-dj-result.kco-dj-result-layout-two .kco-edj-dj-card-copy>small{
    font-size:10.5px!important;
    line-height:1.3!important;
  }
  .kco-mode-edj .kco-dj-result.kco-dj-result-layout-two .kco-edj-dj-promo{
    margin-top:4px!important;
    font-size:10.8px!important;
    line-height:1.3!important;
  }
  .kco-mode-edj .kco-dj-result.kco-dj-result-layout-two .kco-edj-dj-card-copy>i{
    margin-top:3px!important;
    font-size:10px!important;
    line-height:1.3!important;
  }

  /* Portré: kicsit nagyobb kép, de továbbra is vízszintes és olvasható. */
  .kco-mode-edj .kco-dj-result.kco-dj-result-layout-two .kco-edj-dj-style-portrait .kco-edj-dj-card{
    grid-template-columns:70px minmax(0,1fr) 22px!important;
    min-height:88px!important;
  }
  .kco-mode-edj .kco-dj-result.kco-dj-result-layout-two .kco-edj-dj-style-portrait .kco-edj-dj-photo{
    width:70px!important;
    height:70px!important;
    min-width:70px!important;
    min-height:70px!important;
  }

  /* Kompakt: valóban kompakt sor, több DJ esetén sem lesz hosszú. */
  .kco-mode-edj .kco-dj-result.kco-dj-result-layout-two .kco-edj-dj-style-compact .kco-edj-dj-card{
    grid-template-columns:50px minmax(0,1fr) 22px!important;
    min-height:66px!important;
    padding:7px 9px!important;
  }
  .kco-mode-edj .kco-dj-result.kco-dj-result-layout-two .kco-edj-dj-style-compact .kco-edj-dj-photo{
    width:50px!important;
    height:50px!important;
    min-width:50px!important;
    min-height:50px!important;
  }

  /* Split / nagy portré: kétoszlopos végeredményben nem engedjük 210 px magas
     minikártyává nőni; a karaktere megmarad, de vízszintes kártyává alakul. */
  .kco-mode-edj .kco-dj-result.kco-dj-result-layout-two .kco-edj-dj-style-split .kco-edj-dj-card{
    display:grid!important;
    grid-template-columns:86px minmax(0,1fr) 22px!important;
    align-items:center!important;
    min-height:104px!important;
    padding:8px 9px!important;
    overflow:visible!important;
  }
  .kco-mode-edj .kco-dj-result.kco-dj-result-layout-two .kco-edj-dj-style-split .kco-edj-dj-photo{
    width:86px!important;
    height:86px!important;
    min-width:86px!important;
    min-height:86px!important;
    border-radius:11px!important;
  }
  .kco-mode-edj .kco-dj-result.kco-dj-result-layout-two .kco-edj-dj-style-split .kco-edj-dj-card-copy{
    justify-content:center!important;
    padding:0!important;
  }
  .kco-mode-edj .kco-dj-result.kco-dj-result-layout-two .kco-edj-dj-style-split .kco-edj-dj-select-mark{
    position:static!important;
    right:auto!important;
    top:auto!important;
  }

  /* Fő CTA-k: nem uralják a jobb hasábot. */
  .kco-dj-planner-app .kco-dj-result.kco-dj-result-layout-two .kco-dj-result-actions{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:8px!important;
    margin-top:10px!important;
  }
  .kco-dj-planner-app .kco-dj-result.kco-dj-result-layout-two .kco-dj-result-actions .kco-dj-primary,
  .kco-dj-planner-app .kco-dj-result.kco-dj-result-layout-two .kco-dj-result-actions .kco-dj-secondary{
    min-height:46px!important;
    height:auto!important;
    padding:9px 12px!important;
    border-radius:12px!important;
    font-size:12.8px!important;
    line-height:1.2!important;
    font-weight:850!important;
  }
  .kco-dj-planner-app .kco-dj-result.kco-dj-result-layout-two .kco-dj-result-actions .kco-dj-primary span{
    margin-left:5px!important;
  }
  .kco-dj-planner-app .kco-dj-result.kco-dj-result-layout-two .kco-dj-edit-tech-cta>span{
    margin-right:5px!important;
    font-size:10px!important;
  }
}

/* 1180 alatt a média CTA ismét a kép után jelenik meg, így a mobil/single nézet
   logikája és érintési céljai változatlanok maradnak. */
@media (max-width:1179px){
  .kco-dj-result-visual>.kco-dj-result-media-actions{
    width:100%!important;
    margin:8px 0 0!important;
  }
}


/* 3.5.33 — event summary minimal/off. Minimal is intentionally one compact strip. */
.kco-dj-event-style-minimal{display:flex!important;align-items:center!important;gap:12px!important;flex-wrap:wrap!important;padding:8px 14px!important;background:#fff!important;border-bottom:1px solid #e9ebf1!important}
.kco-dj-event-style-minimal .kco-dj-event-context-copy{display:block!important;flex:0 0 auto!important}
.kco-dj-event-style-minimal .kco-dj-event-context-copy>small,.kco-dj-event-style-minimal .kco-dj-event-context-copy>p,.kco-dj-event-style-minimal .kco-dj-event-value-points{display:none!important}
.kco-dj-event-style-minimal .kco-dj-event-context-copy>strong{display:block!important;margin:0!important;font-size:12px!important;line-height:1.2!important;white-space:nowrap!important;color:#596174!important}
.kco-dj-event-style-minimal .kco-dj-event-summary{display:flex!important;align-items:center!important;gap:5px!important;margin:0!important;flex:1 1 420px!important}
.kco-dj-event-style-minimal .kco-dj-event-summary span{padding:4px 7px!important;border:0!important;border-radius:8px!important;background:#f4f5f8!important;color:#4d5568!important;font-size:9px!important}
@media(max-width:640px){.kco-dj-event-style-minimal{display:block!important;padding:9px 11px!important}.kco-dj-event-style-minimal .kco-dj-event-context-copy>strong{white-space:normal!important}.kco-dj-event-style-minimal .kco-dj-event-summary{margin-top:6px!important}}


/* ==========================================================
   3.5.34 — 50/50 KÉTHASÁBOS EREDMÉNY
   Karaoke DJ + EseményDJ közös, valóban egyenlő desktop hasábok.
   Az extrák hamarabb látszanak; az „EZT VISSZÜK MAGUNKKAL” lista
   50/50 módban az extrák/opcionális kérdések alá kerül.
   ========================================================== */
@media (min-width:1180px){
  .kco-dj-planner-app .kco-dj-result.kco-dj-result-layout-two.kco-dj-result-layout-two-equal .kco-dj-result-copy{
    grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
    column-gap:24px!important;
    padding:24px 26px 28px!important;
  }
  .kco-dj-planner-app .kco-dj-result.kco-dj-result-layout-two.kco-dj-result-layout-two-equal .kco-dj-result-column-secondary{
    padding-left:24px!important;
  }
  .kco-dj-planner-app .kco-dj-result.kco-dj-result-layout-two.kco-dj-result-layout-two-equal .kco-dj-result-visual{
    margin-bottom:12px!important;
  }
  .kco-dj-planner-app .kco-dj-result.kco-dj-result-layout-two.kco-dj-result-layout-two-equal .kco-dj-package-visuals{
    aspect-ratio:16 / 9!important;
  }
  .kco-dj-planner-app .kco-dj-result.kco-dj-result-layout-two.kco-dj-result-layout-two-equal .kco-dj-result-column-primary>.kco-dj-recommended-extras{
    margin:14px 0 10px!important;
    padding:15px!important;
  }
  .kco-dj-planner-app .kco-dj-result.kco-dj-result-layout-two.kco-dj-result-layout-two-equal .kco-dj-result-column-primary .kco-dj-recommended-extras-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:10px!important;
  }
  .kco-dj-planner-app .kco-dj-result.kco-dj-result-layout-two.kco-dj-result-layout-two-equal .kco-dj-result-column-primary .kco-dj-extra-card{
    grid-template-columns:76px minmax(0,1fr)!important;
    gap:9px 10px!important;
    padding:10px!important;
  }
  .kco-dj-planner-app .kco-dj-result.kco-dj-result-layout-two.kco-dj-result-layout-two-equal .kco-dj-result-column-primary .kco-dj-extra-thumb{
    width:76px!important;
    height:76px!important;
  }
  .kco-dj-planner-app .kco-dj-result.kco-dj-result-layout-two.kco-dj-result-layout-two-equal .kco-dj-equipment-list{
    margin-top:12px!important;
    padding-top:13px!important;
    border-top:1px solid #eceef4!important;
  }
  .kco-dj-planner-app .kco-dj-result.kco-dj-result-layout-two.kco-dj-result-layout-two-equal .kco-dj-equipment-list>small{
    margin-bottom:7px!important;
  }
  .kco-dj-planner-app .kco-dj-result.kco-dj-result-layout-two.kco-dj-result-layout-two-equal .kco-dj-other-packages-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  .kco-mode-edj .kco-dj-result.kco-dj-result-layout-two.kco-dj-result-layout-two-equal .kco-edj-dj-selector{
    margin-left:12px!important;
    margin-right:12px!important;
  }
}

/* Ha a fél hasáb ténylegesen szűkebb (pl. 1180–1280 px körül), az extra kártyák
   ne préselődjenek: maradjanak olvasható egy oszlopban. */
@media (min-width:1180px) and (max-width:1279px){
  .kco-dj-planner-app .kco-dj-result.kco-dj-result-layout-two.kco-dj-result-layout-two-equal .kco-dj-result-column-primary .kco-dj-recommended-extras-grid{
    grid-template-columns:1fr!important;
  }
}

/* ==========================================================
   3.5.35 — EGYSÉGES AJÁNLÁSI BLOKK + TERVEZŐ KONTRASZT
   - A külön eredmény-pipa sáv megszűnt; az ajánlási üzenet az
     AJÁNLOTT VÁLASZTÁS blokkban él, a csomagváltó gomb mellett.
   - A blokk a teljes tervező stílusát követi Karaoke DJ és EDJ módban.
   - A "Válassz egyet a folytatáshoz" útmutató minden témában
     garantáltan kontrasztos, a sötét témák segédszövegeivel együtt.
   ========================================================== */
.kco-dj-planner-app{
  --kco-rec-bg:linear-gradient(135deg,#fbfaff 0%,#fff 72%);
  --kco-rec-border:#ddd8ff;
  --kco-rec-accent:#7558df;
  --kco-rec-title:#252a3b;
  --kco-rec-copy:#697184;
  --kco-rec-shadow:0 10px 28px rgba(53,45,116,.07);
  --kco-guide-bg:#f5f1ff;
  --kco-guide-border:#ddd4ff;
  --kco-guide-fg:#654bd0;
}
.kco-dj-planner-app.kco-planner-style-neon-light{
  --kco-rec-bg:linear-gradient(135deg,#fff8fd 0%,#f8f6ff 48%,#f4fcff 100%);
  --kco-rec-border:#dcd4ff;
  --kco-rec-accent:#7658df;
  --kco-rec-title:#24283a;
  --kco-rec-copy:#677084;
  --kco-guide-bg:#f6f2ff;
  --kco-guide-border:#dfd6ff;
  --kco-guide-fg:#674bd2;
}
.kco-dj-planner-app.kco-planner-style-neon-dark{
  --kco-rec-bg:linear-gradient(135deg,#191d2a 0%,#151923 100%);
  --kco-rec-border:#343a4e;
  --kco-rec-accent:#ad91ff;
  --kco-rec-title:#fff;
  --kco-rec-copy:rgba(255,255,255,.68);
  --kco-rec-shadow:0 12px 30px rgba(0,0,0,.16);
  --kco-guide-bg:#201e34;
  --kco-guide-border:#4a3f71;
  --kco-guide-fg:#c8b7ff;
}
.kco-dj-planner-app.kco-planner-style-violet{
  --kco-rec-bg:linear-gradient(135deg,#f8f5ff,#fff);
  --kco-rec-border:#ded6f5;
  --kco-rec-accent:#7558df;
  --kco-rec-title:#29233c;
  --kco-rec-copy:#6e687e;
  --kco-guide-bg:#f2edff;
  --kco-guide-border:#d9cef5;
  --kco-guide-fg:#674cc8;
}
.kco-dj-planner-app.kco-planner-style-cyan{
  --kco-rec-bg:linear-gradient(135deg,#f2fcfe,#fff);
  --kco-rec-border:#cfe9ef;
  --kco-rec-accent:#238fa8;
  --kco-rec-title:#20323a;
  --kco-rec-copy:#61767d;
  --kco-guide-bg:#eaf8fb;
  --kco-guide-border:#c7e7ee;
  --kco-guide-fg:#247f94;
}
.kco-dj-planner-app.kco-planner-style-minimal{
  --kco-rec-bg:#fff;
  --kco-rec-border:#e0e2e8;
  --kco-rec-accent:#303443;
  --kco-rec-title:#232631;
  --kco-rec-copy:#737887;
  --kco-rec-shadow:0 8px 22px rgba(25,28,38,.045);
  --kco-guide-bg:#f3f4f6;
  --kco-guide-border:#dedfe4;
  --kco-guide-fg:#454957;
}
.kco-dj-planner-app.kco-mode-edj.kco-planner-style-edj-wedding-elegant{
  --kco-rec-bg:linear-gradient(135deg,#fff8fc 0%,#fff 58%,#f8fbff 100%);
  --kco-rec-border:#efd5e9;
  --kco-rec-accent:#bb3da5;
  --kco-rec-title:#33263a;
  --kco-rec-copy:#796b7c;
  --kco-guide-bg:#fff1fa;
  --kco-guide-border:#efcfe5;
  --kco-guide-fg:#a83292;
}
.kco-dj-planner-app.kco-mode-edj.kco-planner-style-edj-wedding-editorial{
  --kco-rec-bg:#fff;
  --kco-rec-border:#e8e1e8;
  --kco-rec-accent:#9b4b90;
  --kco-rec-title:#302a33;
  --kco-rec-copy:#766f78;
  --kco-rec-shadow:0 8px 22px rgba(50,39,52,.045);
  --kco-guide-bg:#f8f3f7;
  --kco-guide-border:#e7dce5;
  --kco-guide-fg:#8e467f;
}
.kco-dj-planner-app.kco-mode-edj.kco-planner-style-edj-corporate-night{
  --kco-rec-bg:linear-gradient(135deg,#17202b 0%,#111923 100%);
  --kco-rec-border:#2b4250;
  --kco-rec-accent:#52cde6;
  --kco-rec-title:#fff;
  --kco-rec-copy:rgba(230,241,246,.68);
  --kco-rec-shadow:0 12px 30px rgba(2,8,16,.20);
  --kco-guide-bg:#172833;
  --kco-guide-border:#2d5965;
  --kco-guide-fg:#65d7ed;
}
.kco-dj-planner-app.kco-mode-edj.kco-planner-style-edj-corporate-electric{
  --kco-rec-bg:linear-gradient(135deg,#effbfe,#fff);
  --kco-rec-border:#cde9ef;
  --kco-rec-accent:#249ab2;
  --kco-rec-title:#20323a;
  --kco-rec-copy:#62767d;
  --kco-guide-bg:#eaf8fb;
  --kco-guide-border:#c9e8ef;
  --kco-guide-fg:#268aa0;
}

.kco-dj-planner-app .kco-dj-other-packages{
  margin:12px 0!important;
}
.kco-dj-planner-app .kco-dj-other-packages-callout{
  gap:10px!important;
  padding:12px 13px!important;
  border-color:var(--kco-rec-border)!important;
  background:var(--kco-rec-bg)!important;
  box-shadow:var(--kco-rec-shadow)!important;
}
.kco-dj-planner-app .kco-dj-other-packages-mark{
  width:29px!important;
  height:29px!important;
  background:var(--kco-rec-accent)!important;
  color:#fff!important;
  font-size:13px!important;
  box-shadow:0 6px 16px color-mix(in srgb,var(--kco-rec-accent) 22%,transparent)!important;
}
.kco-dj-planner-app .kco-dj-other-packages-copy small{
  margin-bottom:2px!important;
  color:var(--kco-rec-accent)!important;
  font-size:7.5px!important;
  line-height:1.1!important;
  letter-spacing:.145em!important;
}
.kco-dj-planner-app .kco-dj-other-packages-copy strong{
  color:var(--kco-rec-title)!important;
  font-size:13.5px!important;
  line-height:1.24!important;
}
.kco-dj-planner-app .kco-dj-other-packages-copy p{
  margin:3px 0 0!important;
  color:var(--kco-rec-copy)!important;
  font-size:10.25px!important;
  line-height:1.38!important;
}
.kco-dj-planner-app .kco-dj-other-packages-actions{
  gap:7px!important;
}
.kco-dj-planner-app .kco-dj-other-packages-actions>*{
  min-height:36px!important;
  padding:8px 11px!important;
  border-radius:10px!important;
  font-size:10px!important;
  line-height:1.1!important;
}
.kco-dj-planner-app .kco-dj-return-recommended{
  background:var(--kco-rec-accent)!important;
  color:#fff!important;
}
.kco-dj-planner-app .kco-dj-other-packages.is-viewing-alternative .kco-dj-other-packages-callout{
  border-color:var(--kco-rec-border)!important;
  background:var(--kco-rec-bg)!important;
}

/* A teljes tervező témája a választási útmutatót is vezérli. */
.kco-dj-planner-app .kco-dj-step-hint.kco-dj-step-hint-primary{
  background:var(--kco-guide-bg)!important;
  border:1px solid var(--kco-guide-border)!important;
  color:var(--kco-guide-fg)!important;
  box-shadow:none!important;
}
.kco-dj-planner-app .kco-dj-step-hint.kco-dj-step-hint-primary span{
  color:inherit!important;
}

/* Sötét témák: ne maradjon világos háttéren világos szöveg, és a kártyák
   kisebb segédszövegei se essenek vissza a világos téma szürkéjére. */
.kco-dj-planner-app.kco-planner-style-neon-dark .kco-dj-choice-strip button small,
.kco-dj-planner-app.kco-planner-style-neon-dark .kco-dj-service-choices button small,
.kco-dj-planner-app.kco-planner-style-neon-dark .kco-dj-step-footer>span,
.kco-dj-planner-app.kco-mode-edj.kco-planner-style-edj-corporate-night .kco-dj-choice-strip button small,
.kco-dj-planner-app.kco-mode-edj.kco-planner-style-edj-corporate-night .kco-dj-service-choices button small,
.kco-dj-planner-app.kco-mode-edj.kco-planner-style-edj-corporate-night .kco-dj-step-footer>span{
  color:rgba(238,244,249,.64)!important;
}

/* Széles desktopon az ajánlás valóban egy kompakt sor: üzenet + csomagváltó.
   A keskenyebb kétoszlopos tartományban az akciók biztonságosan a következő
   sorba esnek, így soha nem nyomják össze a szöveget. */
@media (min-width:1320px){
  .kco-dj-planner-app .kco-dj-result.kco-dj-result-layout-two .kco-dj-other-packages-callout{
    grid-template-columns:29px minmax(0,1fr) auto!important;
    grid-template-areas:"mark copy actions"!important;
    align-items:center!important;
    gap:10px 12px!important;
    padding:11px 12px!important;
  }
  .kco-dj-planner-app .kco-dj-result.kco-dj-result-layout-two .kco-dj-other-packages-mark{grid-area:mark!important}
  .kco-dj-planner-app .kco-dj-result.kco-dj-result-layout-two .kco-dj-other-packages-copy{grid-area:copy!important}
  .kco-dj-planner-app .kco-dj-result.kco-dj-result-layout-two .kco-dj-other-packages-actions{
    grid-area:actions!important;
    width:auto!important;
    padding-top:0!important;
    flex-wrap:nowrap!important;
  }
  .kco-dj-planner-app .kco-dj-result.kco-dj-result-layout-two .kco-dj-other-packages-actions>*{
    width:auto!important;
    white-space:nowrap!important;
  }
}
@media (min-width:1180px) and (max-width:1319px){
  .kco-dj-planner-app .kco-dj-result.kco-dj-result-layout-two .kco-dj-other-packages-callout{
    padding:11px 12px!important;
    gap:8px 10px!important;
  }
  .kco-dj-planner-app .kco-dj-result.kco-dj-result-layout-two .kco-dj-other-packages-actions{
    padding-top:0!important;
  }
}

/* A planner-téma szándékosan felülírja a régebbi, külön EDJ result-style
   ajánláskártya-színeket, így a teljes tervező dizájn valóban erre a blokkra is kiterjed. */
.kco-dj-planner-app[class*="kco-planner-style-"] .kco-dj-other-packages-callout{
  border-color:var(--kco-rec-border)!important;
  background:var(--kco-rec-bg)!important;
  box-shadow:var(--kco-rec-shadow)!important;
}
.kco-dj-planner-app[class*="kco-planner-style-"] .kco-dj-other-packages-mark{
  background:var(--kco-rec-accent)!important;
  color:#fff!important;
}
.kco-dj-planner-app[class*="kco-planner-style-"] .kco-dj-other-packages-copy small{color:var(--kco-rec-accent)!important}
.kco-dj-planner-app[class*="kco-planner-style-"] .kco-dj-other-packages-copy strong{color:var(--kco-rec-title)!important}
.kco-dj-planner-app[class*="kco-planner-style-"] .kco-dj-other-packages-copy p{color:var(--kco-rec-copy)!important}

/* ==========================================================
   3.5.36 — SÖTÉT TERVEZŐ KONTRASZT + EXTRÁK HELYE
   - A vissza gomb és az időtartam pill sötét témában nem lehet
     fehér alapon fehér / halvány szöveg.
   - Kétoszlopos desktop nézetben az extrák adminból a technikai
     hasáb alatt vagy a jobb oldali CTA-gombok után jelenhetnek meg.
   - Mobilon a DOM-sorrend és az eddigi megjelenés változatlan.
   ========================================================== */

/* Karaoke DJ – Sötét neon: explicit felület + szövegszínek Safariban is. */
.kco-dj-planner-app.kco-planner-style-neon-dark .kco-dj-step-back{
  background:#181c29!important;
  border-color:#3a4054!important;
  color:#e6e9f4!important;
  box-shadow:none!important;
}
.kco-dj-planner-app.kco-planner-style-neon-dark .kco-dj-step-back:hover{
  background:#211f34!important;
  border-color:#7865ba!important;
  color:#fff!important;
}
.kco-dj-planner-app.kco-planner-style-neon-dark .kco-dj-duration-pill{
  background:#181c29!important;
  border:1px solid #303749!important;
  color:#f4f6ff!important;
}
.kco-dj-planner-app.kco-planner-style-neon-dark .kco-dj-duration-pill small{color:#9ea7bb!important}
.kco-dj-planner-app.kco-planner-style-neon-dark .kco-dj-duration-pill strong{color:#fff!important}
.kco-dj-planner-app.kco-planner-style-neon-dark .kco-dj-duration-pill.is-warning{background:#3a2819!important;border-color:#69472a!important;color:#ffd1a0!important}
.kco-dj-planner-app.kco-planner-style-neon-dark .kco-dj-duration-pill.is-warning small,
.kco-dj-planner-app.kco-planner-style-neon-dark .kco-dj-duration-pill.is-warning strong{color:#ffd1a0!important}

/* EseményDJ – Corporate Night ugyanilyen biztos kontrasztot kap. */
.kco-dj-planner-app.kco-mode-edj.kco-planner-style-edj-corporate-night .kco-dj-step-back{
  background:#17202d!important;
  border-color:#354458!important;
  color:#d8e2ec!important;
}
.kco-dj-planner-app.kco-mode-edj.kco-planner-style-edj-corporate-night .kco-dj-step-back:hover{
  background:#1c2a39!important;
  border-color:#49c6df!important;
  color:#fff!important;
}
.kco-dj-planner-app.kco-mode-edj.kco-planner-style-edj-corporate-night .kco-dj-duration-pill{
  background:#17202d!important;
  border:1px solid #303d4d!important;
  color:#f2f8fb!important;
}
.kco-dj-planner-app.kco-mode-edj.kco-planner-style-edj-corporate-night .kco-dj-duration-pill small{color:#8fa4b6!important}
.kco-dj-planner-app.kco-mode-edj.kco-planner-style-edj-corporate-night .kco-dj-duration-pill strong{color:#fff!important}
.kco-dj-planner-app.kco-mode-edj.kco-planner-style-edj-corporate-night .kco-dj-duration-pill.is-warning{background:#39291b!important;border-color:#65492e!important;color:#ffd5aa!important}
.kco-dj-planner-app.kco-mode-edj.kco-planner-style-edj-corporate-night .kco-dj-duration-pill.is-warning small,
.kco-dj-planner-app.kco-mode-edj.kco-planner-style-edj-corporate-night .kco-dj-duration-pill.is-warning strong{color:#ffd5aa!important}

@media (min-width:1180px){
  /* Ha a jobb oldalra kérjük az extrákat, a CTA-k után kapjanak saját,
     jól elkülönülő blokkot, ne tapadjanak a gombokra. */
  .kco-dj-planner-app .kco-dj-result.kco-dj-result-layout-two .kco-dj-result-column-secondary>.kco-dj-recommended-extras.is-desktop-after-actions{
    width:100%!important;
    max-width:none!important;
    margin:14px 0 0!important;
    padding:15px!important;
    border-radius:18px!important;
  }
  .kco-dj-planner-app .kco-dj-result.kco-dj-result-layout-two .kco-dj-result-column-secondary>.kco-dj-recommended-extras.is-desktop-after-actions .kco-dj-recommended-extras-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:10px!important;
  }
  .kco-dj-planner-app .kco-dj-result.kco-dj-result-layout-two .kco-dj-result-column-secondary>.kco-dj-recommended-extras.is-desktop-after-actions .kco-dj-extra-card{
    grid-template-columns:76px minmax(0,1fr)!important;
    gap:9px 10px!important;
    min-width:0!important;
    padding:10px!important;
  }
  .kco-dj-planner-app .kco-dj-result.kco-dj-result-layout-two .kco-dj-result-column-secondary>.kco-dj-recommended-extras.is-desktop-after-actions .kco-dj-extra-thumb{
    width:76px!important;
    height:76px!important;
  }
  .kco-dj-planner-app .kco-dj-result.kco-dj-result-layout-two .kco-dj-result-column-secondary>.kco-dj-recommended-extras.is-desktop-after-actions .kco-dj-extra-copy strong{
    font-size:13px!important;
    line-height:1.24!important;
  }
}
@media (min-width:1180px) and (max-width:1279px){
  .kco-dj-planner-app .kco-dj-result.kco-dj-result-layout-two .kco-dj-result-column-secondary>.kco-dj-recommended-extras.is-desktop-after-actions .kco-dj-recommended-extras-grid{
    grid-template-columns:1fr!important;
  }
}



/* ==========================================================
   3.5.37.6 — ALTERNATÍV CSOMAG AJÁNLÓ TÉMAÖRÖKLÉS
   A régebbi kétoszlopos szabály az "eredeti ajánlás" állapotban
   fix világos hátteret kényszerített a kártyára. Emiatt a Sötét neon
   téma fehér szövege világos háttérre került. Az alternatív csomag
   megtekintése most ugyanazokat a planner-téma változókat használja,
   mint az alap ajánlott állapot.
   ========================================================== */
.kco-dj-planner-app[class*="kco-planner-style-"]
.kco-dj-result.kco-dj-result-layout-two
.kco-dj-other-packages.is-viewing-alternative
.kco-dj-other-packages-callout{
  background:var(--kco-rec-bg)!important;
  border-color:var(--kco-rec-border)!important;
  box-shadow:var(--kco-rec-shadow)!important;
}
.kco-dj-planner-app[class*="kco-planner-style-"]
.kco-dj-result.kco-dj-result-layout-two
.kco-dj-other-packages.is-viewing-alternative
.kco-dj-other-packages-copy small{color:var(--kco-rec-accent)!important}
.kco-dj-planner-app[class*="kco-planner-style-"]
.kco-dj-result.kco-dj-result-layout-two
.kco-dj-other-packages.is-viewing-alternative
.kco-dj-other-packages-copy strong{color:var(--kco-rec-title)!important}
.kco-dj-planner-app[class*="kco-planner-style-"]
.kco-dj-result.kco-dj-result-layout-two
.kco-dj-other-packages.is-viewing-alternative
.kco-dj-other-packages-copy p{color:var(--kco-rec-copy)!important}

/* 3.5.38 — only the mobile "Módosítom a technikai összeállítást" CTA is made more compact. */
@media (max-width:780px){
  .kco-dj-planner-app .kco-dj-result-actions .kco-dj-edit-tech-cta{
    min-height:46px!important;
    padding:8px 12px!important;
    border-radius:12px!important;
    font-size:13px!important;
    line-height:1.15!important;
    gap:5px!important;
  }
  .kco-dj-planner-app .kco-dj-result-actions .kco-dj-edit-tech-cta>span{
    font-size:11px!important;
    margin-right:2px!important;
  }
}


/* 3.5.39 — EseményDJ quote modal: brand-magenta palette + stricter iPhone form ergonomics.
   The underlying submit/scroll behavior is unchanged; these rules only improve the EDJ modal UI. */
.kco-dj-modal.kco-dj-modal-edj .kco-dj-modal-card{
  border:1px solid rgba(230,43,184,.16);
  box-shadow:0 30px 100px rgba(45,18,56,.34),0 0 0 1px rgba(230,43,184,.04);
}
.kco-dj-modal.kco-dj-modal-edj .kco-dj-modal-head>span,
.kco-dj-modal.kco-dj-modal-edj .kco-dj-modal-summary-main strong{
  color:#e62bb8!important;
}
.kco-dj-modal.kco-dj-modal-edj .kco-dj-modal-summary{
  border-color:rgba(230,43,184,.16)!important;
  background:linear-gradient(135deg,#fff8fd 0%,#fbf8ff 100%)!important;
}
.kco-dj-modal.kco-dj-modal-edj .kco-dj-modal-summary-tags span{
  border-color:rgba(230,43,184,.15)!important;
  background:#fff!important;
}
.kco-dj-modal.kco-dj-modal-edj .kco-dj-cf7 input:focus,
.kco-dj-modal.kco-dj-modal-edj .kco-dj-cf7 select:focus,
.kco-dj-modal.kco-dj-modal-edj .kco-dj-cf7 textarea:focus{
  border-color:#e62bb8!important;
  box-shadow:0 0 0 3px rgba(230,43,184,.09)!important;
}
.kco-dj-modal.kco-dj-modal-edj .kco-dj-cf7 input[type=submit],
.kco-dj-modal.kco-dj-modal-edj .kco-dj-cf7 button[type=submit],
.kco-dj-modal.kco-dj-modal-edj .kco-dj-submit{
  background:linear-gradient(135deg,#e62bb8 0%,#9a3cf2 100%)!important;
  box-shadow:0 10px 24px rgba(202,45,180,.20)!important;
}

@media(max-width:780px){
  .kco-dj-modal.kco-dj-modal-edj .kco-dj-modal-card{
    width:calc(100vw - 10px)!important;
    padding:16px 12px calc(28px + env(safe-area-inset-bottom))!important;
    border-radius:16px!important;
  }
  .kco-dj-modal.kco-dj-modal-edj .kco-dj-modal-head h2{
    font-size:25px!important;
    line-height:1.08!important;
    margin-right:42px!important;
  }
  .kco-dj-modal.kco-dj-modal-edj .kco-dj-modal-head p{
    font-size:13px!important;
    line-height:1.5!important;
  }
  .kco-dj-modal.kco-dj-modal-edj .kco-dj-modal-summary{
    margin:14px 0!important;
    padding:12px!important;
  }
  .kco-dj-modal.kco-dj-modal-edj .kco-dj-cf7 label{
    font-size:12px!important;
  }
  .kco-dj-modal.kco-dj-modal-edj .kco-dj-cf7 input:not([type=submit]):not([type=checkbox]):not([type=radio]),
  .kco-dj-modal.kco-dj-modal-edj .kco-dj-cf7 select,
  .kco-dj-modal.kco-dj-modal-edj .kco-dj-cf7 textarea{
    min-height:48px!important;
    padding:12px 13px!important;
    border-radius:12px!important;
    font-size:16px!important;
    line-height:1.25!important;
  }
  .kco-dj-modal.kco-dj-modal-edj .kco-dj-cf7 input[type=date],
  .kco-dj-modal.kco-dj-modal-edj .kco-dj-cf7 input[type=time]{
    min-height:48px!important;
    font-size:16px!important;
  }
  .kco-dj-modal.kco-dj-modal-edj .kco-dj-cf7 textarea{
    min-height:120px!important;
  }
  .kco-dj-modal.kco-dj-modal-edj .kco-dj-cf7 input[type=submit],
  .kco-dj-modal.kco-dj-modal-edj .kco-dj-cf7 button[type=submit],
  .kco-dj-modal.kco-dj-modal-edj .kco-dj-submit{
    min-height:52px!important;
    margin:8px 0 calc(16px + env(safe-area-inset-bottom))!important;
    padding:13px 16px!important;
    border-radius:13px!important;
    font-size:16px!important;
  }
}
