/* Your Digital Designs – Interactive Solution Studio */
.ydd-iss,
.ydd-iss * { box-sizing: border-box; }

.ydd-iss {
    --ydd-ink: #101828;
    --ydd-muted: #667085;
    --ydd-line: #e6e9f0;
    --ydd-soft: #f7f8fb;
    --ydd-white: #ffffff;
    --ydd-brand: #6d5dfc;
    --ydd-accent: #10b981;
    --ydd-deep: #0b1020;
    --ydd-radius-sm: 12px;
    --ydd-radius: 20px;
    --ydd-radius-lg: 30px;
    --ydd-shadow-sm: 0 8px 28px rgba(16, 24, 40, .07);
    --ydd-shadow: 0 24px 70px rgba(16, 24, 40, .12);
    position: relative;
    isolation: isolate;
    width: 100%;
    overflow: hidden;
    color: var(--ydd-ink);
    font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    background:
        radial-gradient(circle at 0 0, rgba(109, 93, 252, .08), transparent 35%),
        radial-gradient(circle at 100% 30%, rgba(16, 185, 129, .07), transparent 28%),
        #fff;
}

.ydd-iss button,
.ydd-iss input,
.ydd-iss select,
.ydd-iss textarea { font: inherit; }

.ydd-iss button { -webkit-tap-highlight-color: transparent; }
.ydd-iss svg { display: block; }

.ydd-iss__shell {
    position: relative;
    z-index: 2;
    width: min(1420px, calc(100% - 36px));
    margin: 0 auto;
    padding: 86px 0 60px;
}

.ydd-iss__ambient {
    position: absolute;
    z-index: 0;
    border-radius: 999px;
    filter: blur(70px);
    opacity: .42;
    pointer-events: none;
}
.ydd-iss__ambient--one { width: 420px; height: 420px; background: #c8c2ff; top: 50px; left: -220px; }
.ydd-iss__ambient--two { width: 380px; height: 380px; background: #b7f4df; top: 640px; right: -190px; }

.ydd-iss__hero {
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) minmax(430px, .95fr);
    gap: 80px;
    align-items: center;
    min-height: 560px;
    padding: 10px 34px 70px;
}

.ydd-iss__eyebrow,
.ydd-iss__section-label {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    color: #5948ea;
    font-size: 12px;
    font-weight: 800;
    line-height: 1.2;
    letter-spacing: .13em;
    text-transform: uppercase;
}

.ydd-iss__eyebrow {
    margin-bottom: 24px;
    padding: 9px 13px;
    border: 1px solid rgba(109, 93, 252, .18);
    border-radius: 999px;
    background: rgba(109, 93, 252, .07);
}

.ydd-iss__pulse {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--ydd-accent);
    box-shadow: 0 0 0 6px rgba(16, 185, 129, .12);
    animation: yddPulse 2s infinite;
}

@keyframes yddPulse {
    0%, 100% { box-shadow: 0 0 0 5px rgba(16, 185, 129, .12); }
    50% { box-shadow: 0 0 0 10px rgba(16, 185, 129, 0); }
}

.ydd-iss__title {
    max-width: 760px;
    margin: 0;
    color: var(--ydd-ink);
    font-size: clamp(42px, 5vw, 74px);
    font-weight: 650;
    line-height: 1.01;
    letter-spacing: -.055em;
}
.ydd-iss__title strong {
    display: block;
    margin-top: 8px;
    color: transparent;
    font-weight: 850;
    background: linear-gradient(115deg, #5847e8 8%, #8b5cf6 48%, #0b9f79 100%);
    -webkit-background-clip: text;
    background-clip: text;
}

.ydd-iss__lead {
    max-width: 660px;
    margin: 26px 0 0;
    color: var(--ydd-muted);
    font-size: clamp(17px, 1.6vw, 21px);
    line-height: 1.72;
}

.ydd-iss__hero-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 34px;
}

.ydd-iss__button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 11px;
    min-height: 52px;
    padding: 14px 22px;
    border: 0;
    border-radius: 14px;
    cursor: pointer;
    font-weight: 780;
    line-height: 1;
    text-decoration: none;
    transition: transform .22s ease, box-shadow .22s ease, background .22s ease, opacity .22s ease;
}
.ydd-iss__button svg { width: 19px; height: 19px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.ydd-iss__button:hover { transform: translateY(-2px); }
.ydd-iss__button:disabled { cursor: wait; opacity: .65; transform: none; }
.ydd-iss__button--primary {
    color: #fff;
    background: linear-gradient(135deg, #6554ed, #7868ff);
    box-shadow: 0 14px 30px rgba(109, 93, 252, .26);
}
.ydd-iss__button--primary:hover { box-shadow: 0 18px 38px rgba(109, 93, 252, .35); }
.ydd-iss__button--ghost { color: var(--ydd-ink); border: 1px solid var(--ydd-line); background: rgba(255, 255, 255, .8); }
.ydd-iss__button--ghost:hover { background: #fff; box-shadow: var(--ydd-shadow-sm); }
.ydd-iss__button--wide { width: 100%; min-height: 58px; }

.ydd-iss__trust-row {
    display: flex;
    flex-wrap: wrap;
    gap: 16px 26px;
    margin-top: 30px;
    color: #475467;
    font-size: 13px;
    font-weight: 700;
}
.ydd-iss__trust-row > span { display: inline-flex; align-items: center; gap: 7px; }
.ydd-iss__trust-row svg { width: 17px; height: 17px; fill: none; stroke: var(--ydd-accent); stroke-width: 3; stroke-linecap: round; stroke-linejoin: round; }

.ydd-iss__hero-visual {
    position: relative;
    min-height: 500px;
    perspective: 1200px;
}
.ydd-iss__orbit { position: absolute; border: 1px dashed rgba(109, 93, 252, .24); border-radius: 50%; }
.ydd-iss__orbit--one { width: 450px; height: 450px; right: 18px; top: 22px; animation: yddSpin 30s linear infinite; }
.ydd-iss__orbit--two { width: 320px; height: 320px; right: 83px; top: 87px; animation: yddSpinReverse 22s linear infinite; }
@keyframes yddSpin { to { transform: rotate(360deg); } }
@keyframes yddSpinReverse { to { transform: rotate(-360deg); } }

.ydd-iss__hero-card {
    position: absolute;
    border: 1px solid rgba(255, 255, 255, .82);
    background: rgba(255, 255, 255, .88);
    box-shadow: 0 32px 90px rgba(23, 32, 56, .17);
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
}
.ydd-iss__hero-card--main {
    width: min(530px, 94%);
    height: 350px;
    top: 72px;
    right: 0;
    overflow: hidden;
    border-radius: 26px;
    transform: rotateY(-9deg) rotateX(4deg) rotateZ(1deg);
    animation: yddFloat 6s ease-in-out infinite;
}
@keyframes yddFloat { 0%, 100% { transform: rotateY(-9deg) rotateX(4deg) rotateZ(1deg) translateY(0); } 50% { transform: rotateY(-7deg) rotateX(3deg) rotateZ(.5deg) translateY(-10px); } }

.ydd-iss__mini-browser-bar { display: flex; align-items: center; gap: 6px; height: 42px; padding: 0 14px; border-bottom: 1px solid #edf0f5; background: #fbfcfe; }
.ydd-iss__mini-browser-bar i { width: 8px; height: 8px; border-radius: 50%; background: #e7e9ef; }
.ydd-iss__mini-browser-bar i:first-child { background: #ff6b6b; }
.ydd-iss__mini-browser-bar i:nth-child(2) { background: #fbbf24; }
.ydd-iss__mini-browser-bar i:nth-child(3) { background: #34d399; }
.ydd-iss__mini-browser-bar span { flex: 1; max-width: 220px; margin: 0 auto; padding: 5px 10px; border-radius: 7px; color: #98a2b3; background: #f2f4f7; font-size: 9px; text-align: center; }
.ydd-iss__mini-layout { display: grid; grid-template-columns: 112px 1fr; height: calc(100% - 42px); }
.ydd-iss__mini-sidebar { background: linear-gradient(180deg, #131a2d, #20284a); }
.ydd-iss__mini-sidebar::before,
.ydd-iss__mini-sidebar::after { content: ""; display: block; width: 70%; height: 8px; margin: 28px auto 0; border-radius: 10px; background: rgba(255,255,255,.18); box-shadow: 0 28px 0 rgba(255,255,255,.09), 0 56px 0 rgba(255,255,255,.09), 0 84px 0 rgba(255,255,255,.09); }
.ydd-iss__mini-content { padding: 42px 34px; background: linear-gradient(145deg, #fff, #f5f6fb); }
.ydd-iss__mini-kicker { width: 80px; height: 8px; border-radius: 10px; background: #8b7df4; }
.ydd-iss__mini-heading { width: 90%; height: 18px; margin-top: 16px; border-radius: 12px; background: #1d2939; }
.ydd-iss__mini-heading--short { width: 58%; margin-top: 8px; }
.ydd-iss__mini-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; margin-top: 38px; }
.ydd-iss__mini-grid i { height: 90px; border: 1px solid #e4e7ec; border-radius: 13px; background: #fff; box-shadow: 0 8px 18px rgba(16,24,40,.04); }
.ydd-iss__mini-grid i:nth-child(2) { background: linear-gradient(145deg, rgba(109,93,252,.14), #fff); }

.ydd-iss__hero-card--metric {
    top: 18px;
    right: 52px;
    width: 168px;
    padding: 18px;
    border-radius: 19px;
    animation: yddFloatSmall 5s ease-in-out infinite;
}
.ydd-iss__hero-card--metric span { color: #667085; font-size: 10px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.ydd-iss__hero-card--metric strong { display: block; margin: 5px 0 2px; color: var(--ydd-brand); font-size: 31px; line-height: 1; }
.ydd-iss__hero-card--metric small { color: #667085; font-size: 10px; }
.ydd-iss__hero-card--success {
    display: flex;
    align-items: center;
    gap: 12px;
    right: 170px;
    bottom: 4px;
    min-width: 250px;
    padding: 17px 20px;
    border-radius: 18px;
    animation: yddFloatSmall 5.6s ease-in-out infinite reverse;
}
@keyframes yddFloatSmall { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-8px); } }
.ydd-iss__success-icon { display: grid; place-items: center; width: 35px; height: 35px; flex: 0 0 auto; border-radius: 50%; color: #fff; background: var(--ydd-accent); box-shadow: 0 8px 18px rgba(16,185,129,.22); font-weight: 900; }
.ydd-iss__hero-card--success strong { display: block; font-size: 13px; }
.ydd-iss__hero-card--success small { display: block; margin-top: 3px; color: #667085; font-size: 10px; }

.ydd-iss__proof-strip {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1px;
    margin: 0 0 80px;
    overflow: hidden;
    border: 1px solid var(--ydd-line);
    border-radius: 22px;
    background: var(--ydd-line);
    box-shadow: var(--ydd-shadow-sm);
}
.ydd-iss__proof-item {
    display: flex;
    align-items: flex-start;
    gap: 18px;
    min-height: 128px;
    padding: 28px;
    background: rgba(255,255,255,.96);
}
.ydd-iss__proof-item > strong { color: rgba(109,93,252,.42); font-size: 14px; font-weight: 900; }
.ydd-iss__proof-item b { display: block; margin-bottom: 7px; color: #1d2939; font-size: 15px; }
.ydd-iss__proof-item small { display: block; color: var(--ydd-muted); font-size: 13px; line-height: 1.55; }

.ydd-iss__studio {
    scroll-margin-top: 30px;
    padding: 54px;
    border: 1px solid rgba(228, 231, 236, .9);
    border-radius: 34px;
    background: rgba(255,255,255,.94);
    box-shadow: 0 38px 100px rgba(16,24,40,.1);
}

.ydd-iss__studio-header {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 20px;
    margin-bottom: 30px;
}
.ydd-iss__studio-header h3,
.ydd-iss__value-copy h3,
.ydd-iss__consultation h3,
.ydd-iss__conversion-copy h3 {
    margin: 8px 0 0;
    color: var(--ydd-ink);
    font-size: clamp(29px, 3vw, 42px);
    line-height: 1.12;
    letter-spacing: -.035em;
}

.ydd-iss__language-switch,
.ydd-iss__device-switch {
    display: inline-flex;
    gap: 3px;
    padding: 4px;
    border: 1px solid var(--ydd-line);
    border-radius: 12px;
    background: #f8fafc;
}
.ydd-iss__language-switch button,
.ydd-iss__device-switch button {
    border: 0;
    border-radius: 8px;
    color: #667085;
    background: transparent;
    cursor: pointer;
    font-size: 12px;
    font-weight: 800;
}
.ydd-iss__language-switch button { min-width: 46px; padding: 9px 10px; }
.ydd-iss__language-switch button.is-active,
.ydd-iss__device-switch button.is-active { color: #fff; background: var(--ydd-ink); box-shadow: 0 4px 10px rgba(16,24,40,.15); }

.ydd-iss__solution-tabs {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 12px;
    margin-bottom: 22px;
}
.ydd-iss__solution-tab {
    position: relative;
    display: flex;
    align-items: center;
    gap: 13px;
    min-height: 86px;
    padding: 15px;
    overflow: hidden;
    border: 1px solid var(--ydd-line);
    border-radius: 17px;
    color: #344054;
    background: #fff;
    cursor: pointer;
    text-align: left;
    transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease, color .2s ease;
}
.ydd-iss__solution-tab:hover { transform: translateY(-2px); border-color: #cfd3dc; box-shadow: var(--ydd-shadow-sm); }
.ydd-iss__solution-tab.is-active { border-color: rgba(109,93,252,.42); color: #4f3fe0; box-shadow: 0 13px 28px rgba(109,93,252,.12); }
.ydd-iss__solution-tab > i { position: absolute; right: -22px; bottom: -34px; width: 82px; height: 82px; border-radius: 50%; background: rgba(109,93,252,.08); opacity: 0; transform: scale(.7); transition: .25s ease; }
.ydd-iss__solution-tab.is-active > i { opacity: 1; transform: scale(1); }
.ydd-iss__solution-icon { display: grid; place-items: center; width: 42px; height: 42px; flex: 0 0 auto; border-radius: 12px; color: #5948ea; background: rgba(109,93,252,.09); }
.ydd-iss__solution-icon svg { width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.ydd-iss__solution-tab b { position: relative; z-index: 1; display: block; font-size: 13px; line-height: 1.25; }
.ydd-iss__solution-tab small { position: relative; z-index: 1; display: block; margin-top: 5px; color: #98a2b3; font-size: 10px; line-height: 1.35; }

.ydd-iss__builder-grid {
    display: grid;
    grid-template-columns: 335px minmax(0, 1fr);
    min-height: 720px;
    overflow: hidden;
    border: 1px solid var(--ydd-line);
    border-radius: 24px;
    background: #f7f8fb;
}
.ydd-iss__customizer { position: relative; z-index: 2; padding: 25px; border-right: 1px solid var(--ydd-line); background: #fff; }
.ydd-iss__panel-heading { display: flex; align-items: flex-start; gap: 12px; margin-bottom: 22px; }
.ydd-iss__panel-heading--inline { margin: 0; }
.ydd-iss__step { display: grid; place-items: center; width: 27px; height: 27px; flex: 0 0 auto; border-radius: 9px; color: #fff; background: var(--ydd-brand); font-size: 12px; font-weight: 900; box-shadow: 0 7px 15px rgba(109,93,252,.24); }
.ydd-iss__panel-heading h4 { margin: 1px 0 4px; color: #1d2939; font-size: 15px; }
.ydd-iss__panel-heading p { margin: 0; color: #98a2b3; font-size: 11px; line-height: 1.4; }

.ydd-iss__field { margin-bottom: 17px; }
.ydd-iss__field label { display: block; margin-bottom: 7px; color: #475467; font-size: 11px; font-weight: 800; letter-spacing: .02em; }
.ydd-iss__field input[type="text"],
.ydd-iss__field input[type="email"],
.ydd-iss__field input[type="url"],
.ydd-iss__field select,
.ydd-iss__field textarea {
    width: 100%;
    border: 1px solid #dfe3ea;
    border-radius: 11px;
    outline: 0;
    color: #1d2939;
    background: #fff;
    box-shadow: 0 1px 2px rgba(16,24,40,.03);
    transition: border-color .2s ease, box-shadow .2s ease;
}
.ydd-iss__field input[type="text"],
.ydd-iss__field input[type="email"],
.ydd-iss__field input[type="url"],
.ydd-iss__field select { height: 43px; padding: 0 12px; font-size: 12px; }
.ydd-iss__field textarea { min-height: 104px; padding: 12px; resize: vertical; font-size: 13px; line-height: 1.55; }
.ydd-iss__field input:focus,
.ydd-iss__field select:focus,
.ydd-iss__field textarea:focus { border-color: var(--ydd-brand); box-shadow: 0 0 0 4px rgba(109,93,252,.09); }
.ydd-iss__field input.is-invalid { border-color: #f04438; box-shadow: 0 0 0 4px rgba(240,68,56,.08); }

.ydd-iss__field-row { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.ydd-iss__color-control { display: flex; align-items: center; gap: 8px; height: 43px; padding: 5px 8px; border: 1px solid #dfe3ea; border-radius: 11px; background: #fff; }
.ydd-iss__color-control input { width: 31px; height: 31px; padding: 0; overflow: hidden; border: 0; border-radius: 8px; background: transparent; cursor: pointer; }
.ydd-iss__color-control span { color: #667085; font-size: 10px; font-weight: 800; }

.ydd-iss__segmented { display: grid; grid-template-columns: repeat(3, 1fr); gap: 4px; padding: 4px; border: 1px solid #e4e7ec; border-radius: 11px; background: #f8fafc; }
.ydd-iss__segmented button { min-height: 34px; padding: 6px 5px; border: 0; border-radius: 8px; color: #667085; background: transparent; cursor: pointer; font-size: 10px; font-weight: 800; }
.ydd-iss__segmented button.is-active { color: #fff; background: #1d2939; box-shadow: 0 3px 8px rgba(16,24,40,.16); }
.ydd-iss__segmented[data-control-group="previewLanguage"] { grid-template-columns: 1fr 1fr; }

.ydd-iss__upload { display: flex !important; align-items: center; gap: 10px; margin: 0 !important; padding: 11px; border: 1px dashed #ccd2dc; border-radius: 11px; background: #fafbfc; cursor: pointer; }
.ydd-iss__upload input { position: absolute; width: 1px; height: 1px; opacity: 0; pointer-events: none; }
.ydd-iss__upload-icon { display: grid; place-items: center; width: 34px; height: 34px; border-radius: 9px; color: var(--ydd-brand); background: rgba(109,93,252,.1); font-size: 19px; font-weight: 500; }
.ydd-iss__upload b { display: block; color: #344054; font-size: 10px; }
.ydd-iss__upload small { display: block; margin-top: 2px; color: #98a2b3; font-size: 9px; font-weight: 500; }
.ydd-iss__upload.has-file { border-color: rgba(16,185,129,.5); background: rgba(16,185,129,.05); }

.ydd-iss__customizer-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-top: 5px; }
.ydd-iss__mini-button { display: inline-flex; align-items: center; justify-content: center; gap: 6px; min-height: 37px; padding: 7px; border: 1px solid #e2e6ec; border-radius: 10px; color: #475467; background: #fff; cursor: pointer; font-size: 9px; font-weight: 800; }
.ydd-iss__mini-button:hover { color: #4f3fe0; border-color: rgba(109,93,252,.35); }

.ydd-iss__preview-panel { min-width: 0; padding: 25px; background: linear-gradient(145deg, #f9fafc, #f1f3f7); }
.ydd-iss__preview-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-bottom: 20px; }
.ydd-iss__device-switch button { display: grid; place-items: center; width: 38px; height: 34px; }
.ydd-iss__device-switch svg { width: 17px; height: 17px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }

.ydd-iss__device {
    width: 100%;
    min-height: 600px;
    margin: 0 auto;
    overflow: hidden;
    border: 1px solid #d8dde6;
    border-radius: 18px;
    background: #fff;
    box-shadow: 0 24px 60px rgba(16,24,40,.14);
    transition: width .35s ease, border-radius .35s ease;
}
.ydd-iss__device--mobile { width: min(390px, 100%); border-radius: 30px; }
.ydd-iss__browser-bar { display: flex; align-items: center; gap: 12px; height: 43px; padding: 0 14px; border-bottom: 1px solid #eaecf0; background: #fbfcfd; }
.ydd-iss__browser-dots { display: inline-flex; gap: 5px; }
.ydd-iss__browser-dots i { width: 7px; height: 7px; border-radius: 50%; background: #d0d5dd; }
.ydd-iss__browser-dots i:first-child { background: #ff6b6b; }
.ydd-iss__browser-dots i:nth-child(2) { background: #fbbf24; }
.ydd-iss__browser-dots i:nth-child(3) { background: #34d399; }
.ydd-iss__address { display: flex; align-items: center; gap: 6px; min-width: 180px; max-width: 310px; height: 25px; margin: 0 auto; padding: 0 10px; border-radius: 7px; color: #98a2b3; background: #f2f4f7; font-size: 8px; }
.ydd-iss__address svg { width: 10px; height: 10px; fill: none; stroke: #98a2b3; stroke-width: 2; }
.ydd-iss__address b { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-weight: 700; }
.ydd-iss__live-badge { display: inline-flex; align-items: center; gap: 5px; color: #667085; font-size: 8px; font-weight: 800; white-space: nowrap; }
.ydd-iss__live-badge i { width: 6px; height: 6px; border-radius: 50%; background: #12b76a; box-shadow: 0 0 0 3px rgba(18,183,106,.13); }
.ydd-iss__preview-canvas { min-height: 557px; background: #fff; }

/* Preview app */
.ydd-demo { --demo-primary: #6d5dfc; --demo-accent: #10b981; --demo-radius: 15px; min-height: 557px; color: #162033; background: #fff; font-family: Inter, ui-sans-serif, system-ui, sans-serif; }
.ydd-demo[data-style="bold"] { --demo-radius: 7px; }
.ydd-demo[data-style="luxury"] { --demo-radius: 2px; font-family: Georgia, "Times New Roman", serif; }
.ydd-demo__topbar { display: flex; align-items: center; justify-content: space-between; gap: 18px; height: 63px; padding: 0 24px; border-bottom: 1px solid #eef0f4; background: rgba(255,255,255,.94); }
.ydd-demo__brand { display: flex; align-items: center; gap: 10px; min-width: 0; }
.ydd-demo__logo { display: grid; place-items: center; width: 32px; height: 32px; overflow: hidden; border-radius: 10px; color: #fff; background: var(--demo-primary); font-size: 13px; font-weight: 900; }
.ydd-demo__logo img { width: 100%; height: 100%; object-fit: contain; background: #fff; }
.ydd-demo[data-style="luxury"] .ydd-demo__logo { border-radius: 50%; }
.ydd-demo__brand strong { display: block; overflow: hidden; color: #1d2939; font-family: inherit; font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
.ydd-demo__brand small { display: block; margin-top: 2px; color: #98a2b3; font-family: Inter, sans-serif; font-size: 7px; }
.ydd-demo__nav { display: flex; align-items: center; gap: 17px; color: #667085; font-family: Inter, sans-serif; font-size: 8px; font-weight: 700; }
.ydd-demo__nav b { color: var(--demo-primary); }
.ydd-demo__nav-button { padding: 7px 12px; border-radius: 999px; color: #fff; background: var(--demo-primary); }
.ydd-demo__body { padding: 28px; }
.ydd-demo__intro { display: flex; align-items: flex-end; justify-content: space-between; gap: 20px; margin-bottom: 24px; }
.ydd-demo__eyebrow { display: inline-flex; align-items: center; gap: 6px; color: var(--demo-primary); font-family: Inter, sans-serif; font-size: 7px; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
.ydd-demo__eyebrow::before { content: ""; width: 13px; height: 2px; border-radius: 10px; background: var(--demo-accent); }
.ydd-demo__intro h2 { margin: 7px 0 5px; color: #162033; font-family: inherit; font-size: 24px; line-height: 1.08; letter-spacing: -.03em; }
.ydd-demo__intro p { max-width: 420px; margin: 0; color: #7a8497; font-family: Inter, sans-serif; font-size: 9px; line-height: 1.55; }
.ydd-demo__secure { display: inline-flex; align-items: center; gap: 5px; padding: 6px 9px; border-radius: 999px; color: #067647; background: #ecfdf3; font-family: Inter, sans-serif; font-size: 7px; font-weight: 800; white-space: nowrap; }
.ydd-demo__secure i { width: 5px; height: 5px; border-radius: 50%; background: #12b76a; }
.ydd-demo__card { border: 1px solid #e7eaf0; border-radius: var(--demo-radius); background: #fff; box-shadow: 0 10px 24px rgba(16,24,40,.05); }
.ydd-demo__muted { color: #98a2b3; }

/* Booking preview */
.ydd-demo-booking__layout { display: grid; grid-template-columns: .78fr 1.22fr; gap: 18px; }
.ydd-demo-booking__services { padding: 17px; }
.ydd-demo__card-title { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 13px; font-family: Inter, sans-serif; }
.ydd-demo__card-title strong { color: #344054; font-size: 9px; }
.ydd-demo__card-title span { color: #98a2b3; font-size: 7px; }
.ydd-demo-service { display: flex; align-items: center; gap: 10px; width: 100%; margin-top: 8px; padding: 10px; border: 1px solid #e8ebf0; border-radius: calc(var(--demo-radius) - 3px); color: #475467; background: #fff; cursor: pointer; text-align: left; transition: .18s ease; }
.ydd-demo-service:hover { transform: translateX(2px); border-color: var(--demo-primary); }
.ydd-demo-service.is-active { border-color: var(--demo-primary); background: color-mix(in srgb, var(--demo-primary) 7%, white); box-shadow: 0 0 0 2px color-mix(in srgb, var(--demo-primary) 10%, transparent); }
.ydd-demo-service__icon { display: grid; place-items: center; width: 29px; height: 29px; flex: 0 0 auto; border-radius: 9px; color: var(--demo-primary); background: color-mix(in srgb, var(--demo-primary) 10%, white); font-size: 12px; }
.ydd-demo-service strong { display: block; font-size: 8px; }
.ydd-demo-service small { display: block; margin-top: 3px; color: #98a2b3; font-size: 6px; }
.ydd-demo-service > b { margin-left: auto; color: #344054; font-size: 7px; }
.ydd-demo-booking__calendar { padding: 17px; }
.ydd-demo-calendar-head { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 11px; }
.ydd-demo-calendar-head strong { font-size: 9px; }
.ydd-demo-calendar-head div { display: flex; gap: 5px; }
.ydd-demo-calendar-head button { display: grid; place-items: center; width: 24px; height: 24px; border: 1px solid #e4e7ec; border-radius: 7px; color: #667085; background: #fff; cursor: pointer; font-size: 11px; }
.ydd-demo-days { display: grid; grid-template-columns: repeat(5, 1fr); gap: 6px; }
.ydd-demo-day { min-height: 51px; padding: 7px 3px; border: 1px solid #eaecf0; border-radius: 9px; color: #667085; background: #fff; cursor: pointer; text-align: center; }
.ydd-demo-day span { display: block; font-size: 6px; font-weight: 800; text-transform: uppercase; }
.ydd-demo-day strong { display: block; margin-top: 4px; font-size: 11px; }
.ydd-demo-day.is-active { border-color: var(--demo-primary); color: #fff; background: var(--demo-primary); box-shadow: 0 7px 15px color-mix(in srgb, var(--demo-primary) 22%, transparent); }
.ydd-demo-times-label { margin: 13px 0 7px; color: #667085; font-size: 7px; font-weight: 800; }
.ydd-demo-times { display: grid; grid-template-columns: repeat(3, 1fr); gap: 6px; }
.ydd-demo-time { min-height: 30px; border: 1px solid #e7eaf0; border-radius: 8px; color: #667085; background: #fff; cursor: pointer; font-size: 7px; font-weight: 800; }
.ydd-demo-time.is-active { border-color: var(--demo-accent); color: #067647; background: color-mix(in srgb, var(--demo-accent) 8%, white); }
.ydd-demo-booking__summary { display: flex; align-items: center; justify-content: space-between; gap: 15px; margin-top: 16px; padding-top: 13px; border-top: 1px solid #eef0f3; }
.ydd-demo-booking__summary span { display: block; color: #98a2b3; font-size: 6px; }
.ydd-demo-booking__summary strong { display: block; margin-top: 3px; color: #344054; font-size: 8px; }
.ydd-demo-action { min-height: 35px; padding: 8px 13px; border: 0; border-radius: calc(var(--demo-radius) - 4px); color: #fff; background: var(--demo-primary); cursor: pointer; font-size: 7px; font-weight: 900; box-shadow: 0 8px 18px color-mix(in srgb, var(--demo-primary) 22%, transparent); }
.ydd-demo-action.is-success { background: var(--demo-accent); }
.ydd-demo-booking__impact { display: grid; grid-template-columns: repeat(3, 1fr); gap: 9px; margin-top: 14px; }
.ydd-demo-stat { padding: 11px; border: 1px solid #eef0f4; border-radius: calc(var(--demo-radius) - 4px); background: #fafbfc; }
.ydd-demo-stat span { display: block; color: #98a2b3; font-size: 6px; }
.ydd-demo-stat strong { display: block; margin-top: 4px; color: #344054; font-size: 11px; }
.ydd-demo-stat i { display: inline-block; margin-left: 3px; color: #12b76a; font-size: 6px; font-style: normal; }

/* Verification preview */
.ydd-demo-verification { background: linear-gradient(145deg, #f8f9fc, #fff); }
.ydd-demo-verification__hero { max-width: 560px; margin: 18px auto 0; text-align: center; }
.ydd-demo-verification__seal { display: grid; place-items: center; width: 48px; height: 48px; margin: 0 auto 13px; border: 1px solid color-mix(in srgb, var(--demo-primary) 30%, white); border-radius: 50%; color: var(--demo-primary); background: color-mix(in srgb, var(--demo-primary) 7%, white); font-size: 19px; }
.ydd-demo-verification__hero h2 { margin: 0; font-size: 24px; letter-spacing: -.03em; }
.ydd-demo-verification__hero p { max-width: 430px; margin: 7px auto 0; color: #7a8497; font-family: Inter, sans-serif; font-size: 8px; line-height: 1.55; }
.ydd-demo-verify-box { max-width: 520px; margin: 20px auto 0; padding: 18px; }
.ydd-demo-verify-box label { display: block; margin-bottom: 7px; color: #475467; font-family: Inter, sans-serif; font-size: 7px; font-weight: 800; text-align: left; }
.ydd-demo-verify-form { display: flex; gap: 7px; }
.ydd-demo-verify-form input { flex: 1; min-width: 0; height: 36px; padding: 0 11px; border: 1px solid #dde1e8; border-radius: calc(var(--demo-radius) - 4px); outline: 0; color: #344054; font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 8px; letter-spacing: .06em; }
.ydd-demo-verify-form input:focus { border-color: var(--demo-primary); box-shadow: 0 0 0 3px color-mix(in srgb, var(--demo-primary) 10%, transparent); }
.ydd-demo-verify-hint { margin: 8px 0 0; color: #98a2b3; font-family: Inter, sans-serif; font-size: 6px; text-align: left; }
.ydd-demo-verify-hint button { padding: 0; border: 0; color: var(--demo-primary); background: transparent; cursor: pointer; font-size: inherit; font-weight: 800; }
.ydd-demo-verify-result { display: none; max-width: 520px; margin: 12px auto 0; overflow: hidden; }
.ydd-demo-verify-result.is-visible { display: block; animation: yddResultIn .35s ease; }
@keyframes yddResultIn { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }
.ydd-demo-verify-result__bar { display: flex; align-items: center; gap: 8px; padding: 10px 14px; color: #067647; background: #ecfdf3; font-family: Inter, sans-serif; font-size: 8px; font-weight: 900; }
.ydd-demo-verify-result__check { display: grid; place-items: center; width: 20px; height: 20px; border-radius: 50%; color: #fff; background: var(--demo-accent); }
.ydd-demo-verify-result__body { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; padding: 16px; }
.ydd-demo-record-field span { display: block; color: #98a2b3; font-family: Inter, sans-serif; font-size: 6px; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; }
.ydd-demo-record-field strong { display: block; margin-top: 4px; color: #344054; font-size: 8px; line-height: 1.35; }
.ydd-demo-record-field--wide { grid-column: 1 / -1; padding-top: 10px; border-top: 1px solid #eef0f3; }
.ydd-demo-verification__trust { display: grid; grid-template-columns: repeat(3, 1fr); gap: 9px; max-width: 520px; margin: 13px auto 0; }
.ydd-demo-trust-item { padding: 10px; border: 1px solid #eaecf0; border-radius: 10px; background: rgba(255,255,255,.8); text-align: center; }
.ydd-demo-trust-item b { display: block; color: var(--demo-primary); font-family: Inter, sans-serif; font-size: 10px; }
.ydd-demo-trust-item span { display: block; margin-top: 3px; color: #98a2b3; font-family: Inter, sans-serif; font-size: 6px; }

/* Portal preview */
.ydd-demo-portal { display: grid; grid-template-columns: 132px 1fr; min-height: 557px; background: #f6f7fa; }
.ydd-demo-portal__side { padding: 19px 13px; color: #fff; background: linear-gradient(180deg, color-mix(in srgb, var(--demo-primary) 64%, #0b1020), #101728); }
.ydd-demo-portal__brand { display: flex; align-items: center; gap: 7px; margin-bottom: 25px; }
.ydd-demo-portal__brand .ydd-demo__logo { width: 26px; height: 26px; font-size: 10px; }
.ydd-demo-portal__brand strong { overflow: hidden; font-size: 8px; text-overflow: ellipsis; white-space: nowrap; }
.ydd-demo-portal__nav { display: grid; gap: 5px; }
.ydd-demo-portal__nav button { display: flex; align-items: center; gap: 8px; min-height: 31px; padding: 7px 8px; border: 0; border-radius: 8px; color: rgba(255,255,255,.62); background: transparent; cursor: pointer; font-size: 7px; font-weight: 700; text-align: left; }
.ydd-demo-portal__nav button span { display: grid; place-items: center; width: 16px; height: 16px; border-radius: 5px; background: rgba(255,255,255,.08); }
.ydd-demo-portal__nav button.is-active { color: #fff; background: rgba(255,255,255,.12); }
.ydd-demo-portal__main { min-width: 0; padding: 20px; }
.ydd-demo-portal__header { display: flex; align-items: center; justify-content: space-between; gap: 14px; margin-bottom: 17px; }
.ydd-demo-portal__header h2 { margin: 0; font-family: Inter, sans-serif; font-size: 17px; letter-spacing: -.02em; }
.ydd-demo-portal__header p { margin: 4px 0 0; color: #98a2b3; font-size: 7px; }
.ydd-demo-avatar { display: grid; place-items: center; width: 30px; height: 30px; border: 2px solid #fff; border-radius: 50%; color: #fff; background: var(--demo-primary); box-shadow: 0 4px 12px rgba(16,24,40,.12); font-size: 8px; font-weight: 900; }
.ydd-demo-portal__stats { display: grid; grid-template-columns: repeat(3, 1fr); gap: 9px; }
.ydd-demo-portal-stat { padding: 12px; border: 1px solid #e9ebf0; border-radius: calc(var(--demo-radius) - 3px); background: #fff; }
.ydd-demo-portal-stat span { display: block; color: #98a2b3; font-size: 6px; }
.ydd-demo-portal-stat strong { display: block; margin-top: 6px; font-size: 15px; }
.ydd-demo-portal-stat small { display: block; margin-top: 4px; color: #12b76a; font-size: 6px; }
.ydd-demo-portal__grid { display: grid; grid-template-columns: 1.15fr .85fr; gap: 10px; margin-top: 10px; }
.ydd-demo-portal-card { padding: 13px; border: 1px solid #e9ebf0; border-radius: calc(var(--demo-radius) - 3px); background: #fff; }
.ydd-demo-portal-card__head { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-bottom: 10px; }
.ydd-demo-portal-card__head strong { font-size: 8px; }
.ydd-demo-portal-card__head span { color: var(--demo-primary); font-size: 6px; font-weight: 800; }
.ydd-demo-task { display: flex; align-items: center; gap: 8px; padding: 8px 0; border-top: 1px solid #f0f1f4; }
.ydd-demo-task:first-of-type { border-top: 0; }
.ydd-demo-task button { display: grid; place-items: center; width: 18px; height: 18px; flex: 0 0 auto; border: 1px solid #d8dde5; border-radius: 6px; color: transparent; background: #fff; cursor: pointer; font-size: 8px; }
.ydd-demo-task.is-complete { opacity: .55; }
.ydd-demo-task.is-complete button { color: #fff; border-color: var(--demo-accent); background: var(--demo-accent); }
.ydd-demo-task.is-complete strong { text-decoration: line-through; }
.ydd-demo-task strong { display: block; font-size: 7px; }
.ydd-demo-task small { display: block; margin-top: 2px; color: #98a2b3; font-size: 6px; }
.ydd-demo-task > span:last-child { margin-left: auto; padding: 4px 6px; border-radius: 999px; color: #6941c6; background: #f4f3ff; font-size: 5px; font-weight: 900; }
.ydd-demo-activity { position: relative; display: grid; gap: 10px; padding-left: 13px; }
.ydd-demo-activity::before { content: ""; position: absolute; left: 3px; top: 4px; bottom: 4px; width: 1px; background: #e4e7ec; }
.ydd-demo-activity-item { position: relative; }
.ydd-demo-activity-item::before { content: ""; position: absolute; left: -13px; top: 3px; width: 7px; height: 7px; border: 2px solid #fff; border-radius: 50%; background: var(--demo-primary); box-shadow: 0 0 0 1px #dfe3ea; }
.ydd-demo-activity-item strong { display: block; font-size: 7px; line-height: 1.35; }
.ydd-demo-activity-item span { display: block; margin-top: 2px; color: #98a2b3; font-size: 6px; }

/* Custom system preview */
.ydd-demo-custom { background: linear-gradient(145deg, #f8f9fc, #fff); }
.ydd-demo-custom__body { padding: 26px; }
.ydd-demo-custom__heading { max-width: 580px; margin: 0 auto 18px; text-align: center; }
.ydd-demo-custom__heading h2 { margin: 7px 0 5px; font-size: 23px; }
.ydd-demo-custom__heading p { margin: 0; color: #7a8497; font-size: 8px; line-height: 1.5; }
.ydd-demo-modules { display: grid; grid-template-columns: repeat(3, 1fr); gap: 9px; max-width: 620px; margin: 0 auto; }
.ydd-demo-module { position: relative; min-height: 88px; padding: 12px; border: 1px solid #e5e8ee; border-radius: calc(var(--demo-radius) - 2px); color: #475467; background: #fff; cursor: pointer; text-align: left; transition: .2s ease; }
.ydd-demo-module:hover { transform: translateY(-2px); box-shadow: 0 10px 18px rgba(16,24,40,.07); }
.ydd-demo-module.is-active { border-color: var(--demo-primary); background: color-mix(in srgb, var(--demo-primary) 6%, white); box-shadow: 0 0 0 2px color-mix(in srgb, var(--demo-primary) 10%, transparent); }
.ydd-demo-module__check { position: absolute; top: 8px; right: 8px; display: grid; place-items: center; width: 15px; height: 15px; border: 1px solid #d7dce4; border-radius: 5px; color: transparent; background: #fff; font-size: 7px; }
.ydd-demo-module.is-active .ydd-demo-module__check { color: #fff; border-color: var(--demo-accent); background: var(--demo-accent); }
.ydd-demo-module__icon { display: grid; place-items: center; width: 28px; height: 28px; margin-bottom: 9px; border-radius: 8px; color: var(--demo-primary); background: color-mix(in srgb, var(--demo-primary) 10%, white); font-size: 12px; }
.ydd-demo-module strong { display: block; font-size: 7px; }
.ydd-demo-module small { display: block; margin-top: 4px; color: #98a2b3; font-size: 6px; line-height: 1.35; }
.ydd-demo-custom__flow { display: flex; align-items: center; justify-content: center; gap: 7px; max-width: 620px; margin: 14px auto 0; padding: 12px; border: 1px solid #e8ebf0; border-radius: calc(var(--demo-radius) - 2px); background: #fff; }
.ydd-demo-flow-node { padding: 8px 10px; border-radius: 8px; color: #475467; background: #f5f7fa; font-size: 6px; font-weight: 800; text-align: center; }
.ydd-demo-flow-node.is-primary { color: #fff; background: var(--demo-primary); }
.ydd-demo-flow-node.is-accent { color: #fff; background: var(--demo-accent); }
.ydd-demo-custom__flow > span { color: #b2b8c2; font-size: 10px; }

.ydd-iss__device--mobile .ydd-iss__browser-bar { padding: 0 10px; }
.ydd-iss__device--mobile .ydd-iss__browser-dots,
.ydd-iss__device--mobile .ydd-iss__live-badge { display: none; }
.ydd-iss__device--mobile .ydd-iss__address { min-width: 0; max-width: none; }
.ydd-iss__device--mobile .ydd-demo__nav { display: none; }
.ydd-iss__device--mobile .ydd-demo__topbar { padding: 0 16px; }
.ydd-iss__device--mobile .ydd-demo__body { padding: 18px 14px; }
.ydd-iss__device--mobile .ydd-demo__intro { display: block; }
.ydd-iss__device--mobile .ydd-demo__secure { margin-top: 9px; }
.ydd-iss__device--mobile .ydd-demo-booking__layout { grid-template-columns: 1fr; }
.ydd-iss__device--mobile .ydd-demo-booking__services { display: none; }
.ydd-iss__device--mobile .ydd-demo-days { grid-template-columns: repeat(4, 1fr); }
.ydd-iss__device--mobile .ydd-demo-days .ydd-demo-day:nth-child(5) { display: none; }
.ydd-iss__device--mobile .ydd-demo-times { grid-template-columns: repeat(2, 1fr); }
.ydd-iss__device--mobile .ydd-demo-booking__impact { grid-template-columns: 1fr 1fr; }
.ydd-iss__device--mobile .ydd-demo-booking__impact .ydd-demo-stat:last-child { display: none; }
.ydd-iss__device--mobile .ydd-demo-verification__hero { margin-top: 6px; }
.ydd-iss__device--mobile .ydd-demo-verify-form { display: grid; }
.ydd-iss__device--mobile .ydd-demo-verify-result__body { grid-template-columns: 1fr; }
.ydd-iss__device--mobile .ydd-demo-record-field--wide { grid-column: auto; }
.ydd-iss__device--mobile .ydd-demo-verification__trust { grid-template-columns: 1fr; }
.ydd-iss__device--mobile .ydd-demo-portal { grid-template-columns: 1fr; }
.ydd-iss__device--mobile .ydd-demo-portal__side { display: none; }
.ydd-iss__device--mobile .ydd-demo-portal__stats { grid-template-columns: 1fr 1fr; }
.ydd-iss__device--mobile .ydd-demo-portal__stats .ydd-demo-portal-stat:last-child { display: none; }
.ydd-iss__device--mobile .ydd-demo-portal__grid { grid-template-columns: 1fr; }
.ydd-iss__device--mobile .ydd-demo-modules { grid-template-columns: 1fr 1fr; }
.ydd-iss__device--mobile .ydd-demo-custom__flow { flex-wrap: wrap; }

.ydd-iss__value-grid {
    display: grid;
    grid-template-columns: 1.08fr .92fr;
    gap: 50px;
    align-items: center;
    padding: 72px 4px 58px;
}
.ydd-iss__value-copy > p { max-width: 680px; margin: 16px 0 0; color: var(--ydd-muted); font-size: 15px; line-height: 1.72; }
.ydd-iss__feature-list { display: grid; gap: 12px; margin-top: 26px; }
.ydd-iss__feature { display: flex; align-items: flex-start; gap: 12px; }
.ydd-iss__feature > span { display: grid; place-items: center; width: 24px; height: 24px; flex: 0 0 auto; border-radius: 8px; color: #fff; background: var(--ydd-accent); font-size: 11px; font-weight: 900; }
.ydd-iss__feature p { margin: 2px 0 0; color: #344054; font-size: 13px; font-weight: 690; line-height: 1.48; }

.ydd-iss__outcome-card { padding: 28px; border: 1px solid #e4e7ec; border-radius: 22px; background: linear-gradient(145deg, #fff, #f8f9fc); box-shadow: var(--ydd-shadow-sm); }
.ydd-iss__outcome-top { display: flex; align-items: center; justify-content: space-between; gap: 15px; color: #667085; font-size: 10px; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.ydd-iss__outcome-spark { color: var(--ydd-brand); font-size: 18px; }
.ydd-iss__outcome-flow { display: grid; grid-template-columns: 1fr auto 1fr; gap: 14px; align-items: center; margin-top: 20px; }
.ydd-iss__outcome-flow > div { min-height: 112px; padding: 17px; border: 1px solid #e7eaf0; border-radius: 15px; background: #fff; }
.ydd-iss__outcome-flow > div:last-child { border-color: rgba(16,185,129,.25); background: rgba(16,185,129,.055); }
.ydd-iss__outcome-flow span { display: block; margin-bottom: 9px; color: #98a2b3; font-size: 8px; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.ydd-iss__outcome-flow strong { color: #344054; font-size: 12px; line-height: 1.45; }
.ydd-iss__outcome-flow svg { width: 20px; height: 20px; fill: none; stroke: var(--ydd-brand); stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.ydd-iss__ideal-for { margin-top: 21px; padding-top: 18px; border-top: 1px solid #e8ebef; }
.ydd-iss__ideal-for > span { display: block; margin-bottom: 10px; color: #98a2b3; font-size: 8px; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.ydd-iss__ideal-for > div { display: flex; flex-wrap: wrap; gap: 7px; }
.ydd-iss__ideal-for b { padding: 6px 9px; border-radius: 999px; color: #475467; background: #eef1f5; font-size: 8px; }

.ydd-iss__conversion-card {
    position: relative;
    display: grid;
    grid-template-columns: 1fr 390px;
    gap: 40px;
    align-items: center;
    overflow: hidden;
    padding: 40px;
    border-radius: 25px;
    color: #fff;
    background:
        radial-gradient(circle at 80% 0, rgba(124,102,255,.55), transparent 28%),
        linear-gradient(135deg, #10172a, #171f36 60%, #202a48);
}
.ydd-iss__conversion-card::after { content: ""; position: absolute; right: -70px; bottom: -100px; width: 280px; height: 280px; border: 1px solid rgba(255,255,255,.08); border-radius: 50%; box-shadow: 0 0 0 45px rgba(255,255,255,.025), 0 0 0 90px rgba(255,255,255,.018); }
.ydd-iss__conversion-copy,
.ydd-iss__conversion-actions { position: relative; z-index: 1; }
.ydd-iss__conversion-card .ydd-iss__section-label { color: #bcb5ff; }
.ydd-iss__conversion-copy h3 { color: #fff; }
.ydd-iss__conversion-copy p { max-width: 650px; margin: 14px 0 0; color: rgba(255,255,255,.64); font-size: 13px; line-height: 1.65; }
.ydd-iss__configuration-pills { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 20px; }
.ydd-iss__configuration-pills span { padding: 7px 10px; border: 1px solid rgba(255,255,255,.1); border-radius: 999px; color: rgba(255,255,255,.78); background: rgba(255,255,255,.055); font-size: 8px; font-weight: 800; }
.ydd-iss__conversion-actions { padding: 22px; border: 1px solid rgba(255,255,255,.1); border-radius: 18px; background: rgba(255,255,255,.06); backdrop-filter: blur(12px); }
.ydd-iss__price-box { margin-bottom: 16px; text-align: center; }
.ydd-iss__price-box > span { display: block; color: rgba(255,255,255,.55); font-size: 9px; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; }
.ydd-iss__price-box strong { display: block; margin: 6px 0 4px; color: #fff; font-size: 25px; }
.ydd-iss__price-box strong .woocommerce-Price-amount { color: #fff; }
.ydd-iss__price-box small { color: rgba(255,255,255,.48); font-size: 8px; }
.ydd-iss__custom-quote { color: #fff; }
.ydd-iss__text-button { display: block; width: 100%; margin-top: 11px; padding: 5px; border: 0; color: rgba(255,255,255,.64); background: transparent; cursor: pointer; font-size: 9px; text-align: center; text-decoration: underline; text-underline-offset: 3px; }

.ydd-iss__consultation {
    display: grid;
    grid-template-columns: .78fr 1.22fr;
    gap: 70px;
    align-items: start;
    scroll-margin-top: 30px;
    padding: 95px 54px 60px;
}
.ydd-iss__consultation-copy > p { max-width: 480px; margin: 18px 0 0; color: var(--ydd-muted); font-size: 14px; line-height: 1.7; }
.ydd-iss__contact-options { display: flex; flex-wrap: wrap; gap: 9px; margin-top: 26px; }
.ydd-iss__contact-options a { display: inline-flex; align-items: center; gap: 7px; padding: 10px 13px; border: 1px solid #e3e6eb; border-radius: 11px; color: #344054; background: #fff; box-shadow: 0 5px 14px rgba(16,24,40,.04); font-size: 10px; font-weight: 800; text-decoration: none; }
.ydd-iss__contact-options a:hover { border-color: rgba(109,93,252,.4); color: #5948ea; }

.ydd-iss__form { padding: 29px; border: 1px solid var(--ydd-line); border-radius: 22px; background: #fff; box-shadow: var(--ydd-shadow-sm); }
.ydd-iss__form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 0 14px; }
.ydd-iss__form .ydd-iss__field label { font-size: 10px; }
.ydd-iss__form .ydd-iss__field input { height: 46px; font-size: 13px; }
.ydd-iss__form-footer { display: flex; align-items: center; justify-content: space-between; gap: 18px; margin-top: 6px; }
.ydd-iss__form-footer p { max-width: 290px; margin: 0; color: #98a2b3; font-size: 9px; line-height: 1.45; }
.ydd-iss__form-status { display: none; margin-top: 16px; padding: 11px 13px; border-radius: 10px; font-size: 11px; font-weight: 700; }
.ydd-iss__form-status.is-success { display: block; color: #067647; background: #ecfdf3; }
.ydd-iss__form-status.is-error { display: block; color: #b42318; background: #fef3f2; }
.ydd-iss__honeypot { position: absolute !important; left: -9999px !important; width: 1px !important; height: 1px !important; opacity: 0 !important; }

.ydd-iss__footer-note { display: flex; align-items: center; justify-content: center; gap: 10px; padding: 35px 20px 0; color: #98a2b3; font-size: 10px; }
.ydd-iss__footer-note strong { color: #475467; }

.ydd-iss__toast { position: fixed; z-index: 99999; left: 50%; bottom: 24px; max-width: min(420px, calc(100% - 32px)); padding: 12px 16px; border-radius: 12px; color: #fff; background: #101828; box-shadow: 0 20px 50px rgba(16,24,40,.25); font-size: 12px; font-weight: 750; opacity: 0; pointer-events: none; transform: translate(-50%, 20px); transition: .25s ease; }
.ydd-iss__toast.is-visible { opacity: 1; transform: translate(-50%, 0); }
.ydd-iss__toast.is-error { background: #b42318; }

.ydd-iss--compact .ydd-iss__hero { min-height: auto; padding-top: 0; }
.ydd-iss--compact .ydd-iss__proof-strip { margin-bottom: 45px; }

@media (max-width: 1180px) {
    .ydd-iss__hero { grid-template-columns: 1fr 430px; gap: 38px; padding-left: 10px; padding-right: 10px; }
    .ydd-iss__solution-tabs { grid-template-columns: 1fr 1fr; }
    .ydd-iss__studio { padding: 35px; }
    .ydd-iss__builder-grid { grid-template-columns: 305px minmax(0, 1fr); }
    .ydd-iss__conversion-card { grid-template-columns: 1fr 340px; }
}

@media (max-width: 980px) {
    .ydd-iss__shell { padding-top: 55px; }
    .ydd-iss__hero { grid-template-columns: 1fr; gap: 30px; min-height: auto; padding-bottom: 40px; text-align: center; }
    .ydd-iss__hero-copy { display: flex; flex-direction: column; align-items: center; }
    .ydd-iss__hero-visual { width: min(650px, 100%); min-height: 460px; margin: 0 auto; }
    .ydd-iss__hero-card--main { right: 50%; transform: translateX(50%) rotateY(-6deg) rotateX(3deg); animation: none; }
    .ydd-iss__hero-card--metric { right: 12%; }
    .ydd-iss__hero-card--success { right: 23%; }
    .ydd-iss__proof-strip { grid-template-columns: 1fr; }
    .ydd-iss__proof-item { min-height: auto; }
    .ydd-iss__studio { padding: 28px; }
    .ydd-iss__builder-grid { grid-template-columns: 1fr; }
    .ydd-iss__customizer { border-right: 0; border-bottom: 1px solid var(--ydd-line); }
    .ydd-iss__customizer { display: grid; grid-template-columns: repeat(2, 1fr); gap: 0 16px; }
    .ydd-iss__customizer > .ydd-iss__panel-heading,
    .ydd-iss__customizer > .ydd-iss__customizer-actions { grid-column: 1 / -1; }
    .ydd-iss__value-grid { grid-template-columns: 1fr; gap: 35px; }
    .ydd-iss__conversion-card { grid-template-columns: 1fr; }
    .ydd-iss__conversion-actions { max-width: 520px; }
    .ydd-iss__consultation { grid-template-columns: 1fr; gap: 35px; padding-top: 70px; }
}

@media (max-width: 720px) {
    .ydd-iss__shell { width: min(100% - 20px, 1420px); padding-top: 36px; }
    .ydd-iss__hero { padding-left: 5px; padding-right: 5px; }
    .ydd-iss__title { font-size: clamp(38px, 11vw, 58px); }
    .ydd-iss__lead { font-size: 16px; }
    .ydd-iss__hero-actions { width: 100%; }
    .ydd-iss__hero-actions .ydd-iss__button { width: 100%; }
    .ydd-iss__trust-row { justify-content: center; gap: 11px 18px; }
    .ydd-iss__hero-visual { min-height: 360px; }
    .ydd-iss__hero-card--main { top: 45px; height: 280px; }
    .ydd-iss__mini-layout { grid-template-columns: 82px 1fr; }
    .ydd-iss__mini-content { padding: 30px 20px; }
    .ydd-iss__hero-card--metric { top: 0; right: 4%; transform: scale(.85); transform-origin: top right; }
    .ydd-iss__hero-card--success { right: 4%; bottom: 2px; min-width: 220px; transform: scale(.86); transform-origin: bottom right; }
    .ydd-iss__proof-strip { margin-bottom: 45px; }
    .ydd-iss__proof-item { padding: 22px; }
    .ydd-iss__studio { padding: 18px; border-radius: 24px; }
    .ydd-iss__studio-header { align-items: flex-start; }
    .ydd-iss__studio-header h3 { font-size: 30px; }
    .ydd-iss__solution-tabs { grid-template-columns: 1fr; }
    .ydd-iss__solution-tab { min-height: 76px; }
    .ydd-iss__customizer { grid-template-columns: 1fr; padding: 20px; }
    .ydd-iss__customizer > .ydd-iss__panel-heading,
    .ydd-iss__customizer > .ydd-iss__customizer-actions { grid-column: auto; }
    .ydd-iss__field-row { grid-template-columns: 1fr 1fr; }
    .ydd-iss__preview-panel { padding: 17px; }
    .ydd-iss__preview-toolbar { align-items: flex-start; }
    .ydd-iss__device { min-height: 540px; }
    .ydd-iss__preview-canvas,
    .ydd-demo { min-height: 497px; }
    .ydd-iss__value-grid { padding-top: 55px; }
    .ydd-iss__outcome-flow { grid-template-columns: 1fr; }
    .ydd-iss__outcome-flow svg { margin: 0 auto; transform: rotate(90deg); }
    .ydd-iss__conversion-card { padding: 26px; }
    .ydd-iss__consultation { padding: 65px 10px 35px; }
    .ydd-iss__form { padding: 20px; }
    .ydd-iss__form-grid { grid-template-columns: 1fr; }
    .ydd-iss__form-footer { align-items: stretch; flex-direction: column; }
    .ydd-iss__form-footer .ydd-iss__button { width: 100%; }
    .ydd-iss__footer-note { flex-direction: column; text-align: center; }
}

@media (max-width: 450px) {
    .ydd-iss__studio-header { display: block; }
    .ydd-iss__language-switch { margin-top: 16px; }
    .ydd-iss__field-row { grid-template-columns: 1fr; }
    .ydd-iss__preview-toolbar .ydd-iss__panel-heading p { display: none; }
    .ydd-iss__browser-bar { gap: 5px; }
    .ydd-iss__address { min-width: 0; }
}

@media (prefers-reduced-motion: reduce) {
    .ydd-iss *, .ydd-iss *::before, .ydd-iss *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}


/* ==========================================================================
   Featured work: end-to-end interactive case study
   ========================================================================== */
.ydd-iss__case-study {
    scroll-margin-top: 24px;
    margin: 0 0 82px;
    padding: 52px;
    border: 1px solid rgba(109, 93, 252, .14);
    border-radius: 34px;
    background:
        radial-gradient(circle at 8% 0, rgba(109, 93, 252, .11), transparent 27%),
        radial-gradient(circle at 100% 12%, rgba(16, 185, 129, .09), transparent 24%),
        linear-gradient(180deg, #fbfbfe, #f5f7fb);
    box-shadow: 0 35px 90px rgba(16, 24, 40, .09);
}
.ydd-iss__case-head {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 50px;
    align-items: end;
}
.ydd-iss__case-intro h3 {
    max-width: 820px;
    margin: 15px 0 0;
    color: #101828;
    font-size: clamp(34px, 4vw, 56px);
    line-height: 1.04;
    letter-spacing: -.045em;
}
.ydd-iss__case-intro p {
    max-width: 850px;
    margin: 20px 0 0;
    color: #667085;
    font-size: 16px;
    line-height: 1.75;
}
.ydd-iss__case-badges {
    display: grid;
    grid-template-columns: repeat(3, minmax(104px, 1fr));
    gap: 10px;
}
.ydd-iss__case-badges span {
    min-width: 112px;
    padding: 17px 14px;
    border: 1px solid #e3e6ee;
    border-radius: 17px;
    background: rgba(255,255,255,.78);
    box-shadow: 0 9px 24px rgba(16,24,40,.045);
    text-align: center;
}
.ydd-iss__case-badges b {
    display: block;
    color: #5b4ce5;
    font-size: 22px;
    line-height: 1;
}
.ydd-iss__case-badges small {
    display: block;
    margin-top: 7px;
    color: #667085;
    font-size: 9px;
    font-weight: 750;
    line-height: 1.35;
}

.ydd-iss__case-personalizer {
    display: grid;
    grid-template-columns: 280px 1fr;
    gap: 24px;
    align-items: center;
    margin-top: 34px;
    padding: 20px;
    border: 1px solid #e0e4ec;
    border-radius: 21px;
    background: rgba(255,255,255,.9);
}
.ydd-iss__case-personalizer-copy {
    display: flex;
    align-items: center;
    gap: 13px;
}
.ydd-iss__case-personalizer-copy > span {
    display: grid;
    place-items: center;
    width: 42px;
    height: 42px;
    flex: 0 0 auto;
    border-radius: 13px;
    color: #fff;
    background: linear-gradient(135deg, #6554ed, #0e9f79);
    box-shadow: 0 9px 22px rgba(109,93,252,.22);
}
.ydd-iss__case-personalizer-copy strong,
.ydd-iss__case-personalizer-copy small { display: block; }
.ydd-iss__case-personalizer-copy strong { color: #1d2939; font-size: 12px; }
.ydd-iss__case-personalizer-copy small { margin-top: 4px; color: #98a2b3; font-size: 9px; line-height: 1.4; }
.ydd-iss__case-fields {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 11px;
}
.ydd-iss__case-fields label span {
    display: block;
    margin: 0 0 6px 2px;
    color: #667085;
    font-size: 8px;
    font-weight: 850;
    letter-spacing: .06em;
    text-transform: uppercase;
}
.ydd-iss__case-fields input {
    width: 100%;
    height: 42px;
    padding: 0 12px;
    border: 1px solid #dfe3ea;
    border-radius: 11px;
    outline: none;
    color: #1d2939;
    background: #fbfcfe;
    font-size: 11px;
    font-weight: 700;
    transition: border .2s, box-shadow .2s, background .2s;
}
.ydd-iss__case-fields input:focus {
    border-color: rgba(109,93,252,.55);
    background: #fff;
    box-shadow: 0 0 0 4px rgba(109,93,252,.09);
}

.ydd-iss__case-journey {
    position: relative;
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 8px;
    margin-top: 22px;
}
.ydd-iss__case-journey::before {
    content: "";
    position: absolute;
    z-index: 0;
    top: 27px;
    left: 8%;
    right: 8%;
    height: 1px;
    background: #dfe3ea;
}
.ydd-iss__case-journey button {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: 34px 1fr;
    grid-template-rows: auto auto;
    column-gap: 10px;
    align-items: center;
    padding: 13px 11px;
    border: 1px solid transparent;
    border-radius: 15px;
    color: #667085;
    background: transparent;
    cursor: pointer;
    text-align: left;
    transition: .22s ease;
}
.ydd-iss__case-journey button:hover { background: rgba(255,255,255,.7); }
.ydd-iss__case-journey button > span {
    grid-row: 1 / 3;
    display: grid;
    place-items: center;
    width: 34px;
    height: 34px;
    border: 2px solid #dfe3ea;
    border-radius: 50%;
    color: #98a2b3;
    background: #f8f9fc;
    font-size: 8px;
    font-weight: 900;
    transition: .22s ease;
}
.ydd-iss__case-journey b { color: #475467; font-size: 10px; line-height: 1.25; }
.ydd-iss__case-journey small { color: #98a2b3; font-size: 8px; line-height: 1.25; }
.ydd-iss__case-journey button.is-active {
    border-color: rgba(109,93,252,.2);
    background: #fff;
    box-shadow: 0 9px 22px rgba(16,24,40,.055);
}
.ydd-iss__case-journey button.is-active > span {
    border-color: #6d5dfc;
    color: #fff;
    background: #6d5dfc;
    box-shadow: 0 0 0 5px rgba(109,93,252,.1);
}
.ydd-iss__case-journey button.is-active b { color: #4e3ed8; }
.ydd-iss__case-journey button.is-complete > span {
    border-color: #10b981;
    color: #fff;
    background: #10b981;
}
.ydd-iss__case-journey button.is-complete > span { font-size: 0; }
.ydd-iss__case-journey button.is-complete > span::after { content: "✓"; font-size: 11px; }

.ydd-iss__case-workspace {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 290px;
    gap: 20px;
    margin-top: 20px;
}
.ydd-iss__case-browser {
    min-width: 0;
    overflow: hidden;
    border: 1px solid #dfe3ea;
    border-radius: 23px;
    background: #fff;
    box-shadow: 0 22px 55px rgba(16,24,40,.1);
}
.ydd-iss__case-canvas {
    position: relative;
    min-height: 680px;
    overflow: hidden;
    background: #f6f8fc;
}
.ydd-iss__case-proof {
    position: relative;
    overflow: hidden;
    padding: 30px 25px;
    border: 1px solid #26314d;
    border-radius: 23px;
    color: #fff;
    background:
        radial-gradient(circle at 100% 0, rgba(109,93,252,.45), transparent 30%),
        linear-gradient(160deg, #10172a, #17213b);
    box-shadow: 0 22px 55px rgba(16,24,40,.16);
}
.ydd-iss__case-proof::after {
    content: "";
    position: absolute;
    right: -100px;
    bottom: -130px;
    width: 260px;
    height: 260px;
    border: 1px solid rgba(255,255,255,.08);
    border-radius: 50%;
    box-shadow: 0 0 0 38px rgba(255,255,255,.025), 0 0 0 76px rgba(255,255,255,.015);
}
.ydd-iss__case-proof > * { position: relative; z-index: 1; }
.ydd-iss__case-proof-number {
    display: block;
    margin-bottom: 24px;
    color: rgba(255,255,255,.13);
    font-size: 66px;
    font-weight: 900;
    line-height: .8;
    letter-spacing: -.08em;
}
.ydd-iss__case-proof .ydd-iss__section-label { color: #b8b0ff; }
.ydd-iss__case-proof h4 {
    margin: 17px 0 0;
    color: #fff;
    font-size: 25px;
    line-height: 1.18;
    letter-spacing: -.025em;
}
.ydd-iss__case-proof > p {
    margin: 15px 0 0;
    color: rgba(255,255,255,.66);
    font-size: 11px;
    line-height: 1.65;
}
.ydd-iss__case-proof-list {
    display: grid;
    gap: 10px;
    margin-top: 24px;
}
.ydd-iss__case-proof-list > div {
    display: flex;
    align-items: flex-start;
    gap: 9px;
}
.ydd-iss__case-proof-list span {
    display: grid;
    place-items: center;
    width: 20px;
    height: 20px;
    flex: 0 0 auto;
    border-radius: 7px;
    color: #fff;
    background: #10b981;
    font-size: 8px;
    font-weight: 900;
}
.ydd-iss__case-proof-list p {
    margin: 2px 0 0;
    color: rgba(255,255,255,.78);
    font-size: 9px;
    font-weight: 650;
    line-height: 1.45;
}
.ydd-iss__case-proof-note {
    display: flex;
    align-items: center;
    gap: 11px;
    margin-top: 28px;
    padding-top: 20px;
    border-top: 1px solid rgba(255,255,255,.1);
}
.ydd-iss__case-proof-note > span {
    display: grid;
    place-items: center;
    width: 38px;
    height: 38px;
    flex: 0 0 auto;
    border-radius: 11px;
    color: #fff;
    background: linear-gradient(135deg, #6d5dfc, #10b981);
    font-size: 10px;
    font-weight: 900;
}
.ydd-iss__case-proof-note strong,
.ydd-iss__case-proof-note small { display: block; }
.ydd-iss__case-proof-note strong { color: #fff; font-size: 9px; }
.ydd-iss__case-proof-note small { margin-top: 4px; color: rgba(255,255,255,.5); font-size: 7px; line-height: 1.4; }

.ydd-iss__case-controls {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    margin-top: 18px;
}
.ydd-iss__case-controls > div { display: flex; gap: 10px; }
.ydd-iss__case-controls button:disabled { opacity: .38; cursor: default; transform: none; }

/* Case study application shell */
.ydd-case-app {
    --case-primary: var(--demo-primary, #6d5dfc);
    --case-accent: var(--demo-accent, #10b981);
    min-height: 680px;
    color: #0f172a;
    background: #f8fafc;
    font-family: "Plus Jakarta Sans", Inter, system-ui, sans-serif;
}
.ydd-case-app *,
.ydd-case-app *::before,
.ydd-case-app *::after { box-sizing: border-box; }
.ydd-case-app button,
.ydd-case-app input { font: inherit; }
.ydd-case-app button { cursor: pointer; }
.ydd-case-app__top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    min-height: 68px;
    padding: 13px 22px;
    border-bottom: 1px solid #e6e9ef;
    background: rgba(255,255,255,.97);
}
.ydd-case-app__brand,
.ydd-case-app__brand p,
.ydd-case-app__brand span { display: flex; align-items: center; }
.ydd-case-app__brand { gap: 10px; }
.ydd-case-app__brand > span {
    justify-content: center;
    width: 38px;
    height: 38px;
    overflow: hidden;
    border-radius: 11px;
    color: #fff;
    background: linear-gradient(135deg, var(--demo-primary), var(--demo-accent));
    font-size: 9px;
    font-weight: 900;
}
.ydd-case-app__brand > span img { width: 100%; height: 100%; object-fit: cover; }
.ydd-case-app__brand p { align-items: flex-start; flex-direction: column; margin: 0; }
.ydd-case-app__brand strong { font-size: 11px; line-height: 1.2; }
.ydd-case-app__brand small { margin-top: 3px; color: #98a2b3; font-size: 7px; }
.ydd-case-app__role {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 7px 10px;
    border: 1px solid #e2e8f0;
    border-radius: 999px;
    color: #475467;
    background: #fff;
    font-size: 8px;
    font-weight: 800;
}
.ydd-case-app__role i {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: var(--demo-accent);
    box-shadow: 0 0 0 4px color-mix(in srgb, var(--demo-accent) 14%, transparent);
}
.ydd-case-kicker {
    color: var(--demo-primary);
    font-size: 8px;
    font-weight: 900;
    letter-spacing: .11em;
    text-transform: uppercase;
}
.ydd-case-avatar {
    display: grid;
    place-items: center;
    width: 42px;
    height: 42px;
    flex: 0 0 auto;
    border-radius: 50%;
    color: #fff;
    background: linear-gradient(135deg, var(--demo-primary), var(--demo-accent));
    box-shadow: 0 8px 18px color-mix(in srgb, var(--demo-primary) 22%, transparent);
    font-size: 10px;
    font-weight: 900;
}
.ydd-case-avatar.large { width: 76px; height: 76px; font-size: 18px; }
.ydd-case-main-action {
    min-height: 44px;
    padding: 11px 17px;
    border: 0;
    border-radius: 11px;
    color: #fff;
    background: linear-gradient(135deg, var(--demo-primary), color-mix(in srgb, var(--demo-primary) 75%, #111827));
    box-shadow: 0 9px 22px color-mix(in srgb, var(--demo-primary) 24%, transparent);
    font-size: 10px;
    font-weight: 850;
}
.ydd-case-main-action.is-success { background: var(--demo-accent); }

/* Booking stage */
.ydd-case-booking { padding-bottom: 24px; }
.ydd-case-booking__hero {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    padding: 30px 30px 22px;
}
.ydd-case-booking__hero > div:first-child > span {
    color: var(--demo-primary);
    font-size: 8px;
    font-weight: 900;
    letter-spacing: .1em;
    text-transform: uppercase;
}
.ydd-case-booking__hero h2 {
    margin: 8px 0 0;
    font-size: 27px;
    letter-spacing: -.035em;
}
.ydd-case-booking__hero p {
    margin: 7px 0 0;
    color: #64748b;
    font-size: 9px;
}
.ydd-case-customer {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 9px 12px;
    border: 1px solid #e4e7ec;
    border-radius: 14px;
    background: #fff;
}
.ydd-case-customer > span {
    display: grid;
    place-items: center;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    color: #fff;
    background: var(--demo-primary);
    font-size: 8px;
    font-weight: 900;
}
.ydd-case-customer p { margin: 0; }
.ydd-case-customer strong,
.ydd-case-customer small { display: block; }
.ydd-case-customer strong { font-size: 9px; }
.ydd-case-customer small { margin-top: 2px; color: #98a2b3; font-size: 7px; }
.ydd-case-booking__grid {
    display: grid;
    grid-template-columns: .86fr 1.14fr;
    gap: 15px;
    padding: 0 30px;
}
.ydd-case-booking__grid > section {
    padding: 20px;
    border: 1px solid #e2e8f0;
    border-radius: 17px;
    background: #fff;
    box-shadow: 0 8px 22px rgba(15,23,42,.04);
}
.ydd-case-booking__grid h3,
.ydd-case-panel-title h3 { margin: 0; font-size: 12px; }
.ydd-case-packages { display: grid; gap: 9px; margin-top: 14px; }
.ydd-case-package {
    display: grid;
    grid-template-columns: 18px 1fr auto;
    gap: 10px;
    align-items: center;
    width: 100%;
    padding: 12px;
    border: 1px solid #e2e8f0;
    border-radius: 13px;
    color: #334155;
    background: #fbfcfe;
    text-align: left;
    transition: .2s ease;
}
.ydd-case-package:hover { border-color: color-mix(in srgb, var(--demo-primary) 45%, #e2e8f0); }
.ydd-case-package.is-active {
    border-color: var(--demo-primary);
    background: color-mix(in srgb, var(--demo-primary) 6%, #fff);
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--demo-primary) 8%, transparent);
}
.ydd-case-package__radio {
    width: 15px;
    height: 15px;
    border: 2px solid #cbd5e1;
    border-radius: 50%;
    box-shadow: inset 0 0 0 3px #fff;
}
.ydd-case-package.is-active .ydd-case-package__radio { border-color: var(--demo-primary); background: var(--demo-primary); }
.ydd-case-package p { margin: 0; }
.ydd-case-package strong,
.ydd-case-package small { display: block; }
.ydd-case-package strong { color: #1e293b; font-size: 9px; }
.ydd-case-package small { margin-top: 3px; color: #94a3b8; font-size: 7px; }
.ydd-case-package > b { color: #0f172a; font-size: 10px; }
.ydd-case-panel-title {
    display: flex;
    align-items: center;
    justify-content: space-between;
}
.ydd-case-panel-title span {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: #067647;
    font-size: 7px;
    font-weight: 850;
}
.ydd-case-panel-title i {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: #10b981;
    box-shadow: 0 0 0 4px rgba(16,185,129,.12);
}
.ydd-case-dates {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 8px;
    margin-top: 15px;
}
.ydd-case-dates button,
.ydd-case-times button {
    border: 1px solid #e2e8f0;
    color: #475569;
    background: #fff;
}
.ydd-case-dates button {
    padding: 9px 5px;
    border-radius: 11px;
}
.ydd-case-dates small,
.ydd-case-dates strong { display: block; }
.ydd-case-dates small { color: #94a3b8; font-size: 7px; }
.ydd-case-dates strong { margin-top: 3px; font-size: 8px; }
.ydd-case-dates button.is-active,
.ydd-case-times button.is-active {
    border-color: var(--demo-primary);
    color: #fff;
    background: var(--demo-primary);
}
.ydd-case-dates button.is-active small { color: rgba(255,255,255,.72); }
.ydd-case-times {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 8px;
    margin-top: 9px;
}
.ydd-case-times button {
    padding: 9px;
    border-radius: 10px;
    font-size: 8px;
    font-weight: 800;
}
.ydd-case-booking__summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    margin-top: 15px;
    padding-top: 15px;
    border-top: 1px solid #edf0f4;
}
.ydd-case-booking__summary div { min-width: 0; }
.ydd-case-booking__summary span,
.ydd-case-booking__summary strong,
.ydd-case-booking__summary small { display: block; }
.ydd-case-booking__summary span { color: #98a2b3; font-size: 7px; font-weight: 800; text-transform: uppercase; }
.ydd-case-booking__summary strong { margin-top: 4px; overflow: hidden; font-size: 9px; text-overflow: ellipsis; white-space: nowrap; }
.ydd-case-booking__summary small { margin-top: 3px; color: #64748b; font-size: 7px; }
.ydd-case-booking__summary button,
.ydd-case-link-action {
    flex: 0 0 auto;
    padding: 10px 13px;
    border: 0;
    border-radius: 10px;
    color: #fff;
    background: var(--demo-primary);
    font-size: 8px;
    font-weight: 850;
}
.ydd-case-success {
    display: flex;
    align-items: center;
    gap: 11px;
    margin: 14px 30px 0;
    padding: 12px 15px;
    border: 1px solid rgba(16,185,129,.24);
    border-radius: 13px;
    background: #ecfdf3;
}
.ydd-case-success > span {
    display: grid;
    place-items: center;
    width: 26px;
    height: 26px;
    flex: 0 0 auto;
    border-radius: 50%;
    color: #fff;
    background: #10b981;
    font-size: 9px;
    font-weight: 900;
}
.ydd-case-success p { margin: 0; }
.ydd-case-success strong,
.ydd-case-success small { display: block; }
.ydd-case-success strong { color: #067647; font-size: 9px; }
.ydd-case-success small { margin-top: 3px; color: #478b73; font-size: 7px; }

/* Checkout and automation */
.ydd-case-checkout__grid {
    display: grid;
    grid-template-columns: .9fr 1.1fr;
    gap: 18px;
    padding: 26px;
}
.ydd-case-order,
.ydd-case-automation {
    padding: 22px;
    border: 1px solid #e2e8f0;
    border-radius: 18px;
    background: #fff;
    box-shadow: 0 10px 28px rgba(15,23,42,.045);
}
.ydd-case-order h2,
.ydd-case-automation h2 { margin: 7px 0 0; font-size: 19px; letter-spacing: -.025em; }
.ydd-case-order__rows { display: grid; gap: 8px; margin-top: 17px; }
.ydd-case-order__rows > div,
.ydd-case-order__total {
    display: flex;
    justify-content: space-between;
    gap: 20px;
    padding-bottom: 8px;
    border-bottom: 1px solid #eef1f4;
}
.ydd-case-order__rows span,
.ydd-case-order__total span { color: #98a2b3; font-size: 7px; font-weight: 750; }
.ydd-case-order__rows strong { color: #334155; font-size: 8px; text-align: right; }
.ydd-case-order__total {
    align-items: center;
    margin-top: 14px;
    padding: 13px 0 0;
    border: 0;
}
.ydd-case-order__total strong { font-size: 18px; }
.ydd-case-order .ydd-case-main-action { width: 100%; margin-top: 13px; }
.ydd-case-automation-list { display: grid; gap: 9px; margin-top: 17px; }
.ydd-case-automation-item {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    padding: 10px;
    border: 1px solid #edf0f4;
    border-radius: 11px;
    background: #fbfcfe;
    opacity: .55;
}
.ydd-case-automation-item > span {
    display: grid;
    place-items: center;
    width: 22px;
    height: 22px;
    flex: 0 0 auto;
    border-radius: 8px;
    color: #667085;
    background: #eef1f5;
    font-size: 7px;
    font-weight: 900;
}
.ydd-case-automation-item p { margin: 0; }
.ydd-case-automation-item strong,
.ydd-case-automation-item small { display: block; }
.ydd-case-automation-item strong { color: #334155; font-size: 8px; }
.ydd-case-automation-item small { margin-top: 3px; color: #98a2b3; font-size: 7px; line-height: 1.35; }
.ydd-case-automation-item.is-waiting { opacity: .8; }
.ydd-case-automation-item.is-done {
    border-color: rgba(16,185,129,.18);
    background: #f1fcf7;
    opacity: 1;
    animation: yddCaseDone .35s ease both;
}
.ydd-case-automation-item.is-done > span { color: #fff; background: #10b981; }
.ydd-case-automation-item.is-done:nth-child(2) { animation-delay: .06s; }
.ydd-case-automation-item.is-done:nth-child(3) { animation-delay: .12s; }
.ydd-case-automation-item.is-done:nth-child(4) { animation-delay: .18s; }
.ydd-case-automation-item.is-done:nth-child(5) { animation-delay: .24s; }
@keyframes yddCaseDone { from { opacity: 0; transform: translateY(5px); } to { opacity: 1; transform: none; } }
.ydd-case-link-action { margin-top: 14px; background: #0f172a; }
.ydd-case-schedule { display: grid; gap: 7px; }
.ydd-case-schedule.is-compact {
    max-height: 132px;
    margin-top: 13px;
    padding: 9px;
    overflow: auto;
    border: 1px solid #edf0f4;
    border-radius: 12px;
    background: #f8fafc;
}
.ydd-case-schedule-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 9px;
    border: 1px solid #edf0f4;
    border-radius: 10px;
    background: #fff;
}
.ydd-case-schedule-row > span { display: flex; align-items: center; gap: 9px; min-width: 0; }
.ydd-case-schedule-row > span > b {
    display: grid;
    place-items: center;
    width: 23px;
    height: 23px;
    flex: 0 0 auto;
    border-radius: 8px;
    color: var(--demo-primary);
    background: color-mix(in srgb, var(--demo-primary) 9%, #fff);
    font-size: 7px;
}
.ydd-case-schedule-row p { min-width: 0; margin: 0; }
.ydd-case-schedule-row strong,
.ydd-case-schedule-row small { display: block; }
.ydd-case-schedule-row strong { overflow: hidden; color: #334155; font-size: 8px; text-overflow: ellipsis; white-space: nowrap; }
.ydd-case-schedule-row small { margin-top: 2px; color: #98a2b3; font-size: 6px; }
.ydd-case-schedule-row em { color: #64748b; font-size: 6px; font-style: normal; }

/* Shared portal layout */
.ydd-case-student,
.ydd-case-teacher {
    display: grid;
    grid-template-columns: 145px 1fr;
    min-height: 680px;
}
.ydd-case-portal-side {
    padding: 24px 16px;
    color: #fff;
    background: linear-gradient(180deg, color-mix(in srgb, var(--demo-primary) 75%, #101828), #101828);
}
.ydd-case-portal-side.dark { background: linear-gradient(180deg, #0f172a, #17213b); }
.ydd-case-portal-logo {
    display: grid;
    place-items: center;
    width: 40px;
    height: 40px;
    margin-bottom: 10px;
    border-radius: 12px;
    color: #fff;
    background: linear-gradient(135deg, var(--demo-primary), var(--demo-accent));
    font-size: 9px;
    font-weight: 900;
}
.ydd-case-portal-side > strong {
    display: block;
    overflow: hidden;
    font-size: 9px;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.ydd-case-portal-side nav { display: grid; gap: 7px; margin-top: 28px; }
.ydd-case-portal-side nav b,
.ydd-case-portal-side nav span {
    padding: 9px 10px;
    border-radius: 9px;
    color: rgba(255,255,255,.55);
    font-size: 7px;
    font-weight: 700;
}
.ydd-case-portal-side nav b { color: #fff; background: rgba(255,255,255,.1); }
.ydd-case-portal-main { min-width: 0; padding: 25px; }
.ydd-case-portal-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
}
.ydd-case-portal-head h2 { margin: 6px 0 0; font-size: 22px; }
.ydd-case-portal-head p { margin: 4px 0 0; color: #64748b; font-size: 8px; }

/* Student portal */
.ydd-case-next-class {
    display: grid;
    grid-template-columns: 1fr 1.05fr;
    gap: 14px;
    margin-top: 18px;
    padding: 18px;
    border: 1px solid rgba(109,93,252,.19);
    border-left: 5px solid var(--demo-primary);
    border-radius: 15px;
    background: #fff;
    box-shadow: 0 10px 25px rgba(15,23,42,.045);
}
.ydd-case-next-class__meta > span {
    color: var(--demo-primary);
    font-size: 7px;
    font-weight: 850;
    text-transform: uppercase;
}
.ydd-case-next-class__meta strong,
.ydd-case-next-class__meta small { display: block; }
.ydd-case-next-class__meta strong { margin-top: 8px; font-size: 13px; }
.ydd-case-next-class__meta small { margin-top: 5px; color: #64748b; font-size: 8px; }
.ydd-case-next-class__locked,
.ydd-case-next-class__ready {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 11px;
    border-radius: 12px;
}
.ydd-case-next-class__locked { background: #f8fafc; }
.ydd-case-next-class__ready { background: #ecfdf3; }
.ydd-case-next-class__locked > span,
.ydd-case-next-class__ready > span {
    display: grid;
    place-items: center;
    width: 28px;
    height: 28px;
    flex: 0 0 auto;
    border-radius: 50%;
    color: #475569;
    background: #e2e8f0;
    font-size: 9px;
}
.ydd-case-next-class__ready > span { color: #fff; background: #10b981; }
.ydd-case-next-class__locked p,
.ydd-case-next-class__ready p { min-width: 0; flex: 1; margin: 0; }
.ydd-case-next-class__locked strong,
.ydd-case-next-class__locked small,
.ydd-case-next-class__ready strong,
.ydd-case-next-class__ready small { display: block; }
.ydd-case-next-class__locked strong,
.ydd-case-next-class__ready strong { font-size: 8px; }
.ydd-case-next-class__locked small,
.ydd-case-next-class__ready small { margin-top: 3px; color: #64748b; font-size: 6px; }
.ydd-case-next-class__locked button,
.ydd-case-next-class__ready button {
    flex: 0 0 auto;
    padding: 9px 10px;
    border: 0;
    border-radius: 9px;
    color: #fff;
    background: #0f172a;
    font-size: 7px;
    font-weight: 850;
}
.ydd-case-next-class__ready button { background: #10b981; box-shadow: 0 8px 18px rgba(16,185,129,.2); }
.ydd-case-student__lower {
    display: grid;
    grid-template-columns: 1fr 190px;
    gap: 14px;
    margin-top: 15px;
}
.ydd-case-student__lower > section,
.ydd-case-student__lower > aside {
    padding: 16px;
    border: 1px solid #e2e8f0;
    border-radius: 14px;
    background: #fff;
}
.ydd-case-student__lower h3 { margin: 0 0 11px; font-size: 10px; }
.ydd-case-student__lower aside p { color: #64748b; font-size: 7px; line-height: 1.5; }
.ydd-case-student__lower aside button {
    width: 100%;
    padding: 9px;
    border: 1px solid #dce1e8;
    border-radius: 9px;
    color: #475569;
    background: #f8fafc;
    font-size: 7px;
    font-weight: 800;
}

/* Classroom */
.ydd-case-room { background: #101827; }
.ydd-case-room .ydd-case-app__top { background: #fff; }
.ydd-case-room__stage { padding: 28px; }
.ydd-case-room__status {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    color: #d1fae5;
    font-size: 8px;
    font-weight: 850;
}
.ydd-case-room__status i {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: #10b981;
    box-shadow: 0 0 0 5px rgba(16,185,129,.12);
}
.ydd-case-video-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 14px;
    margin-top: 16px;
}
.ydd-case-video-grid > div {
    display: flex;
    min-height: 390px;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    border: 1px solid rgba(255,255,255,.09);
    border-radius: 18px;
    background:
        radial-gradient(circle at 50% 30%, rgba(109,93,252,.17), transparent 35%),
        #182235;
}
.ydd-case-video-grid > div.is-waiting { opacity: .58; }
.ydd-case-video-grid > div.is-connected { border-color: rgba(16,185,129,.35); }
.ydd-case-video-grid p { margin: 13px 0 0; text-align: center; }
.ydd-case-video-grid strong,
.ydd-case-video-grid small { display: block; }
.ydd-case-video-grid strong { color: #fff; font-size: 11px; }
.ydd-case-video-grid small { margin-top: 4px; color: #94a3b8; font-size: 7px; }
.ydd-case-room__bar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin-top: 15px;
    padding: 12px 15px;
    border: 1px solid rgba(255,255,255,.08);
    border-radius: 13px;
    color: #cbd5e1;
    background: rgba(255,255,255,.045);
    font-size: 8px;
}
.ydd-case-room__bar strong { color: #fff; font-size: 13px; }
.ydd-case-room__bar button {
    padding: 9px 12px;
    border: 0;
    border-radius: 9px;
    color: #fff;
    background: var(--demo-primary);
    font-size: 7px;
    font-weight: 850;
}

/* Teacher portal */
.ydd-case-teacher-card {
    display: grid;
    grid-template-columns: .82fr 1.18fr;
    gap: 15px;
    margin-top: 18px;
    padding: 17px;
    border: 1px solid #e2e8f0;
    border-radius: 16px;
    background: #fff;
    box-shadow: 0 10px 25px rgba(15,23,42,.045);
}
.ydd-case-teacher-card__class {
    padding: 16px;
    border-radius: 13px;
    color: #fff;
    background:
        radial-gradient(circle at 100% 0, rgba(109,93,252,.55), transparent 35%),
        linear-gradient(145deg, #101828, #1d2939);
}
.ydd-case-teacher-card__class span { color: #cbd5e1; font-size: 7px; }
.ydd-case-teacher-card__class h3 { margin: 11px 0 0; color: #fff; font-size: 15px; }
.ydd-case-teacher-card__class p { margin: 6px 0 0; color: #94a3b8; font-size: 8px; }
.ydd-case-gateway-locked,
.ydd-case-gateway-ready {
    display: grid;
    grid-template-columns: 34px 1fr auto;
    gap: 10px;
    align-items: center;
    padding: 14px;
    border: 1px dashed #cbd5e1;
    border-radius: 13px;
    background: #f8fafc;
}
.ydd-case-gateway-ready { border-style: solid; border-color: rgba(16,185,129,.25); background: #ecfdf3; }
.ydd-case-gateway-locked > span,
.ydd-case-gateway-ready > span {
    display: grid;
    place-items: center;
    width: 34px;
    height: 34px;
    border-radius: 11px;
    color: #475569;
    background: #e2e8f0;
    font-size: 10px;
}
.ydd-case-gateway-ready > span { color: #fff; background: #10b981; }
.ydd-case-gateway-locked p,
.ydd-case-gateway-ready p { margin: 0; }
.ydd-case-gateway-locked strong,
.ydd-case-gateway-locked small,
.ydd-case-gateway-ready strong,
.ydd-case-gateway-ready small { display: block; }
.ydd-case-gateway-locked strong,
.ydd-case-gateway-ready strong { font-size: 8px; }
.ydd-case-gateway-locked small,
.ydd-case-gateway-ready small { margin-top: 3px; color: #64748b; font-size: 6px; line-height: 1.35; }
.ydd-case-gateway-locked em {
    grid-column: 2 / 4;
    color: #b54708;
    font-size: 6px;
    font-style: normal;
    font-weight: 800;
}
.ydd-case-gateway-locked button,
.ydd-case-gateway-ready button {
    padding: 9px 10px;
    border: 0;
    border-radius: 9px;
    color: #fff;
    background: #0f172a;
    font-size: 7px;
    font-weight: 850;
}
.ydd-case-gateway-ready button { background: #10b981; }
.ydd-case-teacher__audit {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
    margin-top: 13px;
}
.ydd-case-teacher__audit span {
    padding: 7px 9px;
    border: 1px solid #e2e8f0;
    border-radius: 999px;
    color: #64748b;
    background: #fff;
    font-size: 6px;
    font-weight: 750;
}
.ydd-case-teacher-live__grid {
    display: grid;
    grid-template-columns: 1fr 1.1fr;
    gap: 18px;
    padding: 30px;
}
.ydd-case-heartbeat,
.ydd-case-session-info {
    display: flex;
    min-height: 500px;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    padding: 25px;
    border: 1px solid #e2e8f0;
    border-radius: 18px;
    background: #fff;
}
.ydd-case-ring {
    position: relative;
    width: 190px;
    height: 190px;
}
.ydd-case-ring svg {
    width: 100%;
    height: 100%;
    transform: rotate(-90deg);
}
.ydd-case-ring circle {
    fill: none;
    stroke: #edf0f4;
    stroke-width: 7;
}
.ydd-case-ring circle.progress {
    stroke: var(--demo-accent);
    stroke-linecap: round;
    stroke-dasharray: 327;
    stroke-dashoffset: 118;
}
.ydd-case-ring > div {
    position: absolute;
    inset: 0;
    display: grid;
    place-content: center;
    text-align: center;
}
.ydd-case-ring strong { font-size: 30px; }
.ydd-case-ring small { margin-top: 5px; color: #98a2b3; font-size: 7px; }
.ydd-case-heartbeat > span {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    margin-top: 18px;
    color: #067647;
    font-size: 8px;
    font-weight: 850;
}
.ydd-case-heartbeat > span i {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: #10b981;
    box-shadow: 0 0 0 5px rgba(16,185,129,.12);
    animation: yddPulse 1.4s infinite;
}
.ydd-case-session-info { align-items: stretch; justify-content: center; }
.ydd-case-session-info h2 { margin: 8px 0 20px; font-size: 25px; }
.ydd-case-session-info > div {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 11px 0;
    border-bottom: 1px solid #edf0f4;
}
.ydd-case-session-info > div span { color: #98a2b3; font-size: 8px; }
.ydd-case-session-info > div strong { font-size: 9px; }
.ydd-case-session-info > div strong.is-present { color: #067647; }
.ydd-case-session-info > p { color: #067647; font-size: 8px; font-weight: 800; }
.ydd-case-session-info .ydd-case-main-action { margin-top: 13px; }

/* Completion and results */
.ydd-case-complete__body {
    display: flex;
    min-height: 610px;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    padding: 35px;
    text-align: center;
}
.ydd-case-complete__icon {
    display: grid;
    place-items: center;
    width: 78px;
    height: 78px;
    margin-bottom: 20px;
    border-radius: 50%;
    color: #fff;
    background: #10b981;
    box-shadow: 0 0 0 13px rgba(16,185,129,.11), 0 18px 38px rgba(16,185,129,.22);
    font-size: 26px;
    font-weight: 900;
}
.ydd-case-complete__body h2 { max-width: 520px; margin: 10px 0 0; font-size: 29px; }
.ydd-case-complete__body > p { margin: 10px 0 0; color: #64748b; font-size: 9px; }
.ydd-case-complete__metrics {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 10px;
    width: min(520px, 100%);
    margin: 26px 0;
}
.ydd-case-complete__metrics > div {
    padding: 15px;
    border: 1px solid #e2e8f0;
    border-radius: 13px;
    background: #fff;
}
.ydd-case-complete__metrics span,
.ydd-case-complete__metrics strong { display: block; }
.ydd-case-complete__metrics span { color: #98a2b3; font-size: 7px; }
.ydd-case-complete__metrics strong { margin-top: 5px; font-size: 14px; }

.ydd-case-results__body { padding: 27px; }
.ydd-case-results__intro h2 { max-width: 650px; margin: 8px 0 0; font-size: 25px; }
.ydd-case-results__intro p { max-width: 720px; margin: 9px 0 0; color: #64748b; font-size: 8px; line-height: 1.6; }
.ydd-case-results__cards {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 9px;
    margin-top: 17px;
}
.ydd-case-result-card {
    padding: 14px;
    border: 1px solid #e2e8f0;
    border-top: 3px solid var(--demo-primary);
    border-radius: 13px;
    background: #fff;
}
.ydd-case-result-card span,
.ydd-case-result-card strong,
.ydd-case-result-card small { display: block; }
.ydd-case-result-card span { color: #98a2b3; font-size: 6px; font-weight: 800; text-transform: uppercase; }
.ydd-case-result-card strong { margin-top: 6px; color: #1e293b; font-size: 12px; }
.ydd-case-result-card small { margin-top: 5px; color: #64748b; font-size: 6px; line-height: 1.4; }
.ydd-case-results__grid {
    display: grid;
    grid-template-columns: .82fr 1.18fr;
    gap: 12px;
    margin-top: 12px;
}
.ydd-case-results__grid > section {
    padding: 17px;
    border: 1px solid #e2e8f0;
    border-radius: 14px;
    background: #fff;
}
.ydd-case-results__grid h3 { margin: 0; font-size: 10px; }
.ydd-case-results__grid > section > p { color: #64748b; font-size: 7px; line-height: 1.5; }
.ydd-case-results__grid form { display: flex; gap: 7px; margin-top: 12px; }
.ydd-case-results__grid input {
    min-width: 0;
    flex: 1;
    height: 36px;
    padding: 0 10px;
    border: 1px solid #dfe3e8;
    border-radius: 9px;
    color: #334155;
    background: #f8fafc;
    font-size: 8px;
    font-weight: 800;
}
.ydd-case-results__grid form button {
    border: 0;
    border-radius: 9px;
    color: #fff;
    background: #0f172a;
    font-size: 7px;
    font-weight: 850;
}
.ydd-case-verified {
    display: flex;
    align-items: center;
    gap: 9px;
    margin-top: 10px;
    padding: 10px;
    border-radius: 10px;
    color: #067647;
    background: #ecfdf3;
}
.ydd-case-verified > span {
    display: grid;
    place-items: center;
    width: 24px;
    height: 24px;
    flex: 0 0 auto;
    border-radius: 50%;
    color: #fff;
    background: #10b981;
    font-size: 8px;
}
.ydd-case-verified p { margin: 0; }
.ydd-case-verified strong,
.ydd-case-verified small { display: block; }
.ydd-case-verified strong { font-size: 8px; }
.ydd-case-verified small { margin-top: 3px; font-size: 6px; }
.ydd-case-timeline {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 5px;
    margin-top: 12px;
}
.ydd-case-timeline > span { display: inline-flex; align-items: center; gap: 4px; }
.ydd-case-timeline i {
    display: grid;
    place-items: center;
    width: 17px;
    height: 17px;
    border-radius: 50%;
    color: #fff;
    background: #10b981;
    font-size: 5px;
    font-style: normal;
}
.ydd-case-timeline b { color: #475569; font-size: 6px; }
.ydd-case-timeline em { color: #cbd5e1; font-size: 8px; font-style: normal; }
.ydd-case-admin-note {
    display: flex;
    align-items: center;
    gap: 9px;
    margin-top: 17px;
    padding-top: 14px;
    border-top: 1px solid #edf0f4;
}
.ydd-case-admin-note > span {
    display: grid;
    place-items: center;
    width: 32px;
    height: 32px;
    border-radius: 10px;
    color: #fff;
    background: linear-gradient(135deg, var(--demo-primary), var(--demo-accent));
    font-size: 8px;
    font-weight: 900;
}
.ydd-case-admin-note p { margin: 0; }
.ydd-case-admin-note strong,
.ydd-case-admin-note small { display: block; }
.ydd-case-admin-note strong { font-size: 8px; }
.ydd-case-admin-note small { margin-top: 3px; color: #98a2b3; font-size: 6px; }

/* Locked state */
.ydd-case-locked > div:last-child {
    display: flex;
    min-height: 610px;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    padding: 35px;
    text-align: center;
}
.ydd-case-locked > div:last-child > span { font-size: 45px; }
.ydd-case-locked h2 { margin: 15px 0 0; font-size: 25px; }
.ydd-case-locked p { max-width: 430px; margin: 9px 0 20px; color: #64748b; font-size: 9px; line-height: 1.6; }

/* Case-study responsive behavior */
@media (max-width: 1180px) {
    .ydd-iss__case-study { padding: 38px; }
    .ydd-iss__case-head { grid-template-columns: 1fr; gap: 24px; }
    .ydd-iss__case-badges { max-width: 430px; }
    .ydd-iss__case-personalizer { grid-template-columns: 1fr; }
    .ydd-iss__case-fields { grid-template-columns: repeat(2, 1fr); }
    .ydd-iss__case-workspace { grid-template-columns: minmax(0, 1fr) 250px; }
}
@media (max-width: 980px) {
    .ydd-iss__case-workspace { grid-template-columns: 1fr; }
    .ydd-iss__case-proof { min-height: 360px; }
    .ydd-iss__case-proof-number { position: absolute; right: 28px; top: 35px; }
    .ydd-iss__case-proof h4 { max-width: 560px; }
    .ydd-iss__case-journey { grid-template-columns: 1fr 1fr; }
    .ydd-iss__case-journey::before { display: none; }
    .ydd-iss__case-journey button:last-child { grid-column: 1 / -1; }
}
@media (max-width: 720px) {
    .ydd-iss__case-study { margin-bottom: 48px; padding: 20px; border-radius: 24px; }
    .ydd-iss__case-intro h3 { font-size: 36px; }
    .ydd-iss__case-intro p { font-size: 14px; }
    .ydd-iss__case-badges { grid-template-columns: 1fr 1fr 1fr; }
    .ydd-iss__case-badges span { min-width: 0; padding: 13px 7px; }
    .ydd-iss__case-personalizer { padding: 15px; }
    .ydd-iss__case-fields { grid-template-columns: 1fr; }
    .ydd-iss__case-journey { grid-template-columns: 1fr; }
    .ydd-iss__case-journey button:last-child { grid-column: auto; }
    .ydd-iss__case-canvas,
    .ydd-case-app { min-height: 740px; }
    .ydd-iss__case-controls { align-items: stretch; flex-direction: column; }
    .ydd-iss__case-controls > div { display: grid; grid-template-columns: 1fr 1fr; }
    .ydd-iss__case-controls > div button { width: 100%; }
    .ydd-case-app__top { padding: 11px 13px; }
    .ydd-case-app__role { max-width: 150px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
    .ydd-case-booking__hero { align-items: flex-start; flex-direction: column; padding: 22px 17px 15px; }
    .ydd-case-booking__grid,
    .ydd-case-checkout__grid { grid-template-columns: 1fr; padding: 0 17px 17px; }
    .ydd-case-success { margin-left: 17px; margin-right: 17px; }
    .ydd-case-student,
    .ydd-case-teacher { grid-template-columns: 1fr; }
    .ydd-case-portal-side { display: flex; align-items: center; gap: 10px; padding: 12px; }
    .ydd-case-portal-side .ydd-case-portal-logo { margin: 0; }
    .ydd-case-portal-side nav { display: none; }
    .ydd-case-portal-main { padding: 17px; }
    .ydd-case-next-class,
    .ydd-case-student__lower,
    .ydd-case-teacher-card,
    .ydd-case-teacher-live__grid,
    .ydd-case-results__grid { grid-template-columns: 1fr; }
    .ydd-case-next-class__locked,
    .ydd-case-next-class__ready { align-items: flex-start; flex-wrap: wrap; }
    .ydd-case-next-class__locked button,
    .ydd-case-next-class__ready button { width: 100%; }
    .ydd-case-video-grid { grid-template-columns: 1fr; }
    .ydd-case-video-grid > div { min-height: 230px; }
    .ydd-case-room__stage { padding: 17px; }
    .ydd-case-room__bar { align-items: stretch; flex-direction: column; }
    .ydd-case-heartbeat,
    .ydd-case-session-info { min-height: 330px; }
    .ydd-case-results__cards { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 450px) {
    .ydd-iss__case-badges { grid-template-columns: 1fr; }
    .ydd-iss__case-personalizer-copy { align-items: flex-start; }
    .ydd-iss__case-journey button { grid-template-columns: 32px 1fr; }
    .ydd-case-dates,
    .ydd-case-times { grid-template-columns: 1fr; }
    .ydd-case-booking__summary { align-items: stretch; flex-direction: column; }
    .ydd-case-booking__summary button { width: 100%; }
    .ydd-case-gateway-locked,
    .ydd-case-gateway-ready { grid-template-columns: 34px 1fr; }
    .ydd-case-gateway-locked button,
    .ydd-case-gateway-ready button,
    .ydd-case-gateway-locked em { grid-column: 1 / -1; }
    .ydd-case-complete__metrics,
    .ydd-case-results__cards { grid-template-columns: 1fr; }
}


/* ==========================================================================
   v1.2.0 clarity, conversion, and multilingual readability upgrade
   ========================================================================== */
.ydd-iss__explore-path {
    margin: 0 0 82px;
    padding: 38px;
    border: 1px solid #dfe3eb;
    border-radius: 28px;
    background: linear-gradient(145deg, #ffffff, #f7f8fc);
    box-shadow: 0 20px 55px rgba(16, 24, 40, .08);
}
.ydd-iss__explore-heading { max-width: 820px; }
.ydd-iss__explore-heading h3 {
    margin: 9px 0 0;
    color: #101828;
    font-size: clamp(30px, 3.3vw, 46px);
    line-height: 1.12;
    letter-spacing: -.035em;
}
.ydd-iss__explore-steps {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 15px;
    margin-top: 28px;
}
.ydd-iss__explore-steps button {
    position: relative;
    display: grid;
    grid-template-columns: 52px 1fr;
    gap: 7px 15px;
    align-content: start;
    min-height: 210px;
    padding: 23px;
    border: 1px solid #e1e5ec;
    border-radius: 20px;
    color: #344054;
    background: #fff;
    cursor: pointer;
    text-align: left;
    transition: transform .22s ease, border-color .22s ease, box-shadow .22s ease;
}
.ydd-iss__explore-steps button:hover,
.ydd-iss__explore-steps button:focus-visible {
    transform: translateY(-4px);
    border-color: rgba(109, 93, 252, .45);
    box-shadow: 0 18px 38px rgba(16, 24, 40, .1);
    outline: none;
}
.ydd-iss__explore-steps button > span {
    grid-row: 1 / 4;
    display: grid;
    place-items: center;
    width: 52px;
    height: 52px;
    border-radius: 16px;
    color: #fff;
    background: linear-gradient(135deg, #6554ed, #7b6cff);
    font-size: 15px;
    font-weight: 900;
    box-shadow: 0 10px 24px rgba(109, 93, 252, .22);
}
.ydd-iss__explore-steps strong { color: #1d2939; font-size: 18px; line-height: 1.32; }
.ydd-iss__explore-steps small { color: #667085; font-size: 14px; line-height: 1.55; }
.ydd-iss__explore-steps b { align-self: end; color: #5948ea; font-size: 13px; }

.ydd-iss__case-head { grid-template-columns: minmax(0, 1fr) auto auto; align-items: center; }
.ydd-iss__case-start { min-width: 190px; }
.ydd-iss__case-guide {
    margin-top: 28px;
    padding: 22px;
    border: 1px solid rgba(109, 93, 252, .18);
    border-radius: 20px;
    background: #fff;
    box-shadow: 0 12px 30px rgba(16, 24, 40, .055);
}
.ydd-iss__case-progress-head { display: flex; align-items: center; justify-content: space-between; gap: 18px; }
.ydd-iss__case-progress-head strong { color: #344054; font-size: 14px; }
.ydd-iss__case-progress-head span { color: #5948ea; font-size: 13px; font-weight: 850; }
.ydd-iss__case-progress { height: 8px; margin-top: 11px; overflow: hidden; border-radius: 999px; background: #eceef4; }
.ydd-iss__case-progress i { display: block; width: 20%; height: 100%; border-radius: inherit; background: linear-gradient(90deg, #6d5dfc, #10b981); transition: width .35s ease; }
.ydd-iss__case-task { display: grid; grid-template-columns: 48px minmax(0, 1fr); gap: 15px; align-items: center; margin-top: 18px; }
.ydd-iss__case-task > span { display: grid; place-items: center; width: 48px; height: 48px; border-radius: 15px; color: #fff; background: #101828; font-size: 16px; font-weight: 900; }
.ydd-iss__case-task small { display: block; color: #6d5dfc; font-size: 11px; font-weight: 850; letter-spacing: .1em; text-transform: uppercase; }
.ydd-iss__case-task strong { display: block; margin-top: 4px; color: #1d2939; font-size: 18px; line-height: 1.35; }
.ydd-iss__case-task p { margin: 5px 0 0; color: #667085; font-size: 14px; line-height: 1.55; }
.ydd-iss__case-journey { margin-top: 16px; }
.ydd-iss__case-journey button { min-height: 92px; padding: 15px; }
.ydd-iss__case-journey button > span { width: 40px; height: 40px; font-size: 11px; }
.ydd-iss__case-journey b { font-size: 13px; }
.ydd-iss__case-journey small { font-size: 11px; }
.ydd-iss__case-workspace { grid-template-columns: minmax(0, 1fr) 340px; gap: 24px; }
.ydd-iss__case-canvas,
.ydd-case-app { min-height: 820px; }
.ydd-iss__case-proof { padding: 34px 30px; }
.ydd-iss__case-proof h4 { font-size: 29px; }
.ydd-iss__case-proof > p { font-size: 15px; line-height: 1.7; }
.ydd-iss__case-proof-list p { font-size: 13px; line-height: 1.5; }
.ydd-iss__case-proof-list span { width: 24px; height: 24px; font-size: 10px; }
.ydd-iss__case-proof-note strong { font-size: 13px; }
.ydd-iss__case-proof-note small { font-size: 11px; line-height: 1.5; }
.ydd-iss__case-controls { position: sticky; z-index: 8; bottom: 12px; padding: 13px; border: 1px solid #e0e4eb; border-radius: 17px; background: rgba(255,255,255,.94); box-shadow: 0 16px 40px rgba(16,24,40,.12); backdrop-filter: blur(14px); }
.ydd-iss__case-controls .ydd-iss__button { min-height: 54px; }
.ydd-iss__case-finish-cta { display: flex; align-items: center; justify-content: space-between; gap: 24px; margin-top: 20px; padding: 24px; border: 1px solid rgba(16,185,129,.2); border-radius: 20px; background: linear-gradient(135deg, rgba(16,185,129,.08), rgba(109,93,252,.06)); }
.ydd-iss__case-finish-cta strong { display: block; color: #1d2939; font-size: 20px; }
.ydd-iss__case-finish-cta p { max-width: 760px; margin: 7px 0 0; color: #667085; font-size: 14px; line-height: 1.55; }
.ydd-iss__case-finish-cta .ydd-iss__button { flex: 0 0 auto; }

.ydd-iss__studio-intro { max-width: 760px; margin: 13px 0 0; color: #667085; font-size: 16px; line-height: 1.65; }
.ydd-iss__studio-roadmap { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; margin-bottom: 24px; }
.ydd-iss__studio-roadmap > div { display: grid; grid-template-columns: 38px 1fr; gap: 3px 10px; min-height: 88px; padding: 15px; border: 1px solid #e1e5ec; border-radius: 16px; background: #fafbfc; }
.ydd-iss__studio-roadmap span { grid-row: 1 / 3; display: grid; place-items: center; width: 38px; height: 38px; border-radius: 12px; color: #5948ea; background: rgba(109,93,252,.1); font-size: 13px; font-weight: 900; }
.ydd-iss__studio-roadmap strong { color: #344054; font-size: 13px; }
.ydd-iss__studio-roadmap small { color: #98a2b3; font-size: 11px; line-height: 1.35; }
.ydd-iss__studio-roadmap > div.is-active { border-color: rgba(109,93,252,.35); background: #fff; box-shadow: 0 9px 22px rgba(109,93,252,.08); }
.ydd-iss__builder-grid { grid-template-columns: 380px minmax(0, 1fr); min-height: 900px; }
.ydd-iss__customizer { padding: 30px; }
.ydd-iss__field label { font-size: 13px; }
.ydd-iss__field input[type="text"],
.ydd-iss__field input[type="email"],
.ydd-iss__field input[type="url"],
.ydd-iss__field select { height: 49px; font-size: 14px; }
.ydd-iss__segmented button { min-height: 40px; font-size: 12px; }
.ydd-iss__upload b { font-size: 13px; }
.ydd-iss__upload small { font-size: 11px; }
.ydd-iss__mini-button { min-height: 42px; font-size: 12px; }
.ydd-iss__preview-panel { padding: 30px; }
.ydd-iss__preview-guide { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: 14px; align-items: center; margin: 0 0 18px; padding: 16px 18px; border: 1px solid rgba(109,93,252,.18); border-radius: 16px; background: #fff; }
.ydd-iss__preview-guide > span { padding: 8px 10px; border-radius: 10px; color: #fff; background: #6d5dfc; font-size: 11px; font-weight: 850; text-transform: uppercase; }
.ydd-iss__preview-guide strong { display: block; color: #1d2939; font-size: 15px; }
.ydd-iss__preview-guide p { margin: 4px 0 0; color: #667085; font-size: 13px; }
.ydd-iss__preview-guide button { border: 0; color: #5948ea; background: transparent; cursor: pointer; font-size: 12px; font-weight: 850; }
.ydd-iss__device { min-height: 760px; }
.ydd-iss__preview-canvas,
.ydd-demo { min-height: 712px; }

/* Make the actual product demonstrations readable instead of miniature mockups. */
.ydd-demo { font-size: 14px; }
.ydd-demo h2 { font-size: 30px !important; line-height: 1.2; }
.ydd-demo p { font-size: 13px !important; line-height: 1.55; }
.ydd-demo small { font-size: 11px !important; line-height: 1.45; }
.ydd-demo strong,
.ydd-demo b { font-size: 13px; }
.ydd-demo button { min-height: 38px; font-size: 12px !important; }
.ydd-demo input { min-height: 42px; font-size: 13px !important; }
.ydd-demo__topbar { min-height: 70px; }
.ydd-demo__brand strong { font-size: 14px; }
.ydd-demo__nav { font-size: 12px; }
.ydd-demo__body { padding: 30px; }
.ydd-demo-service strong,
.ydd-demo-record-field strong,
.ydd-demo-portal-card__head strong,
.ydd-demo-task strong,
.ydd-demo-activity-item strong,
.ydd-demo-module strong { font-size: 12px !important; }
.ydd-demo-module { min-height: 122px; }

/* Case-study application typography: minimum comfortable reading sizes. */
.ydd-case-app { font-size: 14px; }
.ydd-case-app p { font-size: 13px !important; line-height: 1.55; }
.ydd-case-app small { font-size: 11px !important; line-height: 1.45; }
.ydd-case-app button { min-height: 40px; font-size: 12px !important; }
.ydd-case-app input { min-height: 42px; font-size: 13px !important; }
.ydd-case-app__top { min-height: 78px; padding: 15px 24px; }
.ydd-case-app__brand strong { font-size: 14px; }
.ydd-case-app__role { font-size: 12px; }
.ydd-case-kicker { font-size: 11px; }
.ydd-case-main-action { min-height: 50px; padding: 13px 20px; font-size: 13px !important; }
.ydd-case-booking__hero { padding: 36px 36px 26px; }
.ydd-case-booking__hero h2 { font-size: 34px; }
.ydd-case-booking__grid { gap: 20px; padding: 0 36px; }
.ydd-case-booking__grid > section { padding: 25px; }
.ydd-case-booking__grid h3,
.ydd-case-panel-title h3 { font-size: 16px; }
.ydd-case-package { min-height: 72px; padding: 15px; }
.ydd-case-package strong { font-size: 13px; }
.ydd-case-package > b { font-size: 13px; }
.ydd-case-panel-title span,
.ydd-case-order__rows span,
.ydd-case-order__total span,
.ydd-case-next-class__meta > span,
.ydd-case-result-card > span,
.ydd-case-session-info > div span,
.ydd-case-timeline b,
.ydd-case-teacher__audit span,
.ydd-case-room__status { font-size: 11px !important; }
.ydd-case-dates small,
.ydd-case-dates strong,
.ydd-case-times button { font-size: 12px !important; }
.ydd-case-booking__summary span { font-size: 10px; }
.ydd-case-booking__summary strong { font-size: 13px; white-space: normal; }
.ydd-case-success strong { font-size: 13px; }
.ydd-case-checkout__grid { gap: 24px; padding: 34px; }
.ydd-case-order,
.ydd-case-automation { padding: 28px; }
.ydd-case-order h2,
.ydd-case-automation h2 { font-size: 25px; }
.ydd-case-order__rows strong { font-size: 12px; }
.ydd-case-automation-item { padding: 14px; }
.ydd-case-automation-item strong { font-size: 13px; }
.ydd-case-portal-main { padding: 32px; }
.ydd-case-portal-head h2 { font-size: 29px; }
.ydd-case-next-class { padding: 22px; }
.ydd-case-next-class__meta strong { font-size: 16px; }
.ydd-case-next-class__locked strong,
.ydd-case-next-class__ready strong { font-size: 13px; }
.ydd-case-student__lower h3 { font-size: 14px; }
.ydd-case-video-grid > div { min-height: 420px; }
.ydd-case-video-grid strong { font-size: 15px; }
.ydd-case-room__bar { font-size: 12px; }
.ydd-case-teacher-card__class h3 { font-size: 20px; }
.ydd-case-gateway-locked strong,
.ydd-case-gateway-ready strong { font-size: 13px; }
.ydd-case-heartbeat,
.ydd-case-session-info { min-height: 570px; }
.ydd-case-ring small { font-size: 11px; }
.ydd-case-heartbeat > span { font-size: 12px; }
.ydd-case-session-info h2 { font-size: 31px; }
.ydd-case-session-info > div strong { font-size: 13px; }
.ydd-case-complete__body { min-height: 730px; }
.ydd-case-complete__body h2 { font-size: 36px; }
.ydd-case-complete__metrics span { font-size: 11px; }
.ydd-case-complete__metrics strong { font-size: 17px; }
.ydd-case-results__body { padding: 36px; }
.ydd-case-results__intro h2 { font-size: 32px; }
.ydd-case-results__cards { gap: 13px; }
.ydd-case-result-card { padding: 18px; }
.ydd-case-result-card strong { font-size: 15px; }
.ydd-case-results__grid h3 { font-size: 15px; }
.ydd-case-verified strong { font-size: 13px; }
.ydd-case-timeline i { width: 22px; height: 22px; font-size: 8px; }
.ydd-case-admin-note strong { font-size: 13px; }
.ydd-case-locked h2 { font-size: 32px; }

.ydd-iss__value-copy > p,
.ydd-iss__conversion-copy p,
.ydd-iss__consultation-copy > p { font-size: 16px; }
.ydd-iss__feature p { font-size: 15px; }
.ydd-iss__outcome-flow span,
.ydd-iss__ideal-for > span,
.ydd-iss__price-box > span { font-size: 11px; }
.ydd-iss__outcome-flow strong { font-size: 15px; }
.ydd-iss__ideal-for b,
.ydd-iss__configuration-pills span { font-size: 11px; }
.ydd-iss__price-box small,
.ydd-iss__text-button,
.ydd-iss__form-footer p { font-size: 12px; }
.ydd-iss__contact-options a { font-size: 13px; }
.ydd-iss__form .ydd-iss__field label { font-size: 13px; }

@media (max-width: 1180px) {
    .ydd-iss__explore-steps { grid-template-columns: 1fr; }
    .ydd-iss__explore-steps button { min-height: 0; }
    .ydd-iss__case-head { grid-template-columns: 1fr auto; }
    .ydd-iss__case-intro { grid-column: 1 / -1; }
    .ydd-iss__case-workspace { grid-template-columns: 1fr; }
    .ydd-iss__case-proof { min-height: 0; }
    .ydd-iss__builder-grid { grid-template-columns: 340px minmax(0, 1fr); }
}
@media (max-width: 980px) {
    .ydd-iss__studio-roadmap { grid-template-columns: 1fr 1fr; }
    .ydd-iss__builder-grid { grid-template-columns: 1fr; }
    .ydd-iss__preview-guide { grid-template-columns: auto 1fr; }
    .ydd-iss__preview-guide button { grid-column: 2; justify-self: start; padding: 0; }
}
@media (max-width: 720px) {
    .ydd-iss__explore-path { margin-bottom: 48px; padding: 22px; border-radius: 22px; }
    .ydd-iss__explore-steps button { grid-template-columns: 44px 1fr; padding: 18px; }
    .ydd-iss__explore-steps button > span { width: 44px; height: 44px; }
    .ydd-iss__case-head { grid-template-columns: 1fr; }
    .ydd-iss__case-start { width: 100%; }
    .ydd-iss__case-guide { padding: 17px; }
    .ydd-iss__case-task { grid-template-columns: 42px 1fr; }
    .ydd-iss__case-task > span { width: 42px; height: 42px; }
    .ydd-iss__case-journey { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; padding-bottom: 8px; }
    .ydd-iss__case-journey button,
    .ydd-iss__case-journey button:last-child { min-width: 220px; grid-column: auto; scroll-snap-align: start; }
    .ydd-iss__case-canvas,
    .ydd-case-app { min-height: 800px; }
    .ydd-iss__case-controls { position: static; }
    .ydd-iss__case-finish-cta { align-items: stretch; flex-direction: column; }
    .ydd-iss__case-finish-cta .ydd-iss__button { width: 100%; }
    .ydd-iss__studio-roadmap { grid-template-columns: 1fr; }
    .ydd-iss__preview-guide { grid-template-columns: 1fr; }
    .ydd-iss__preview-guide button { grid-column: auto; }
    .ydd-iss__device { min-height: 650px; border-radius: 14px; }
    .ydd-iss__preview-canvas,
    .ydd-demo { min-height: 602px; }
    .ydd-demo__body { padding: 20px 16px; }
    .ydd-case-booking__hero { padding: 24px 18px 17px; }
    .ydd-case-booking__grid,
    .ydd-case-checkout__grid { padding: 0 18px 18px; }
    .ydd-case-portal-main,
    .ydd-case-results__body { padding: 20px; }
    .ydd-case-video-grid > div { min-height: 280px; }
    .ydd-case-heartbeat,
    .ydd-case-session-info { min-height: 360px; }
}


/* v1.2.0 final readability pass: keep every persuasive and interactive label comfortably legible. */
.ydd-iss__case-task small,
.ydd-iss__case-journey small,
.ydd-iss__case-proof-note small,
.ydd-iss__studio-roadmap small,
.ydd-iss__upload small,
.ydd-iss__outcome-flow span,
.ydd-iss__ideal-for > span,
.ydd-iss__price-box > span,
.ydd-iss__ideal-for b,
.ydd-iss__configuration-pills span,
.ydd-iss__price-box small,
.ydd-iss__text-button,
.ydd-iss__form-footer p { font-size: 12px !important; }

.ydd-demo small,
.ydd-case-app small { font-size: 12px !important; line-height: 1.55 !important; }
.ydd-demo button,
.ydd-case-app button { font-size: 13px !important; }
.ydd-demo strong,
.ydd-demo b { font-size: 14px; }
.ydd-case-kicker,
.ydd-case-panel-title span,
.ydd-case-order__rows span,
.ydd-case-order__total span,
.ydd-case-next-class__meta > span,
.ydd-case-result-card > span,
.ydd-case-session-info > div span,
.ydd-case-timeline b,
.ydd-case-teacher__audit span,
.ydd-case-room__status,
.ydd-case-booking__summary span,
.ydd-case-complete__metrics span { font-size: 12px !important; }

/* Thai and Chinese do not benefit from English-style tracking or forced uppercase. */
.ydd-iss[data-ydd-language="th"] .ydd-iss__section-label,
.ydd-iss[data-ydd-language="th"] .ydd-case-kicker,
.ydd-iss[data-ydd-language="th"] .ydd-demo__eyebrow,
.ydd-iss[data-ydd-language="th"] .ydd-iss__case-task small,
.ydd-iss[data-ydd-language="zh"] .ydd-iss__section-label,
.ydd-iss[data-ydd-language="zh"] .ydd-case-kicker,
.ydd-iss[data-ydd-language="zh"] .ydd-demo__eyebrow,
.ydd-iss[data-ydd-language="zh"] .ydd-iss__case-task small {
    letter-spacing: 0;
    text-transform: none;
}

@media (max-width: 720px) {
    .ydd-demo small,
    .ydd-case-app small { font-size: 12px !important; }
    .ydd-demo p,
    .ydd-case-app p { font-size: 13px !important; }
    .ydd-iss__case-task strong { font-size: 17px; }
}

/* =========================================================
   v1.3.0 — MOBILE-FIRST LIVE PREVIEW + CLEAR INTERACTION CUES
   ========================================================= */
.ydd-iss__solution-picker-head {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 24px;
    margin: 8px 0 17px;
    padding: 20px 22px;
    border: 1px solid rgba(109,93,252,.16);
    border-radius: 19px;
    background: linear-gradient(135deg, rgba(109,93,252,.075), rgba(18,199,209,.045), #fff 72%);
}
.ydd-iss__solution-picker-head h4 { margin: 7px 0 0; color: #1d2939; font-size: 20px; line-height: 1.3; }
.ydd-iss__solution-picker-head p { max-width: 760px; margin: 7px 0 0; color: #667085; font-size: 13px; line-height: 1.55; }
.ydd-iss__solution-picker-cue { display: inline-flex; align-items: center; gap: 8px; flex: 0 0 auto; padding: 10px 13px; border: 1px solid rgba(109,93,252,.18); border-radius: 999px; color: #5948ea; background: #fff; box-shadow: 0 8px 20px rgba(109,93,252,.08); font-size: 11px; font-weight: 850; }
.ydd-iss__solution-picker-cue svg { width: 16px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; animation: yddSolutionCue 1.8s ease-in-out infinite; }
@keyframes yddSolutionCue { 50% { transform: translateY(3px); } }

.ydd-iss__solution-tab { min-height: 116px; align-items: flex-start; padding: 17px; border-color: #dfe3eb; background: linear-gradient(145deg, #fff, #fbfcff); box-shadow: 0 5px 14px rgba(16,24,40,.035); }
.ydd-iss__solution-tab:hover { color: #4234ca; border-color: rgba(109,93,252,.34); background: linear-gradient(145deg, #fff, rgba(109,93,252,.055)); box-shadow: 0 15px 32px rgba(78,63,185,.11); }
.ydd-iss__solution-tab.is-active { color: #4234ca; border-color: rgba(109,93,252,.5); background: linear-gradient(135deg, rgba(109,93,252,.13), rgba(18,199,209,.075), #fff 82%); box-shadow: 0 16px 34px rgba(86,67,205,.14), inset 0 0 0 1px rgba(255,255,255,.8); }
.ydd-iss__solution-tab:focus-visible { outline: 3px solid rgba(109,93,252,.25); outline-offset: 3px; }
.ydd-iss__solution-copy { min-width: 0; padding-right: 18px; }
.ydd-iss__solution-tab b { font-size: 14px; }
.ydd-iss__solution-tab small { min-height: 28px; font-size: 10px; }
.ydd-iss__solution-action { position: relative; z-index: 2; display: inline-flex; align-items: center; gap: 6px; margin-top: 10px; color: #6d5dfc; font-size: 10px; font-weight: 850; }
.ydd-iss__solution-action svg { width: 14px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; transition: transform .2s ease; }
.ydd-iss__solution-tab:hover .ydd-iss__solution-action svg { transform: translateX(3px); }
.ydd-iss__solution-action--active { display: none; }
.ydd-iss__solution-tab.is-active .ydd-iss__solution-action--open { display: none; }
.ydd-iss__solution-tab.is-active .ydd-iss__solution-action--active { display: inline; }
.ydd-iss__solution-selected { position: absolute; z-index: 3; top: 11px; right: 11px; display: grid; place-items: center; width: 24px; height: 24px; border-radius: 50%; color: transparent; background: rgba(109,93,252,.08); font-size: 11px; font-weight: 900; transition: .22s ease; }
.ydd-iss__solution-tab.is-active .ydd-iss__solution-selected { color: #fff; background: linear-gradient(135deg, #6d5dfc, #438ee8); box-shadow: 0 6px 14px rgba(109,93,252,.25); }
.ydd-iss__solution-tab.is-active .ydd-iss__solution-icon { color: #fff; background: linear-gradient(135deg, #6d5dfc, #438ee8); box-shadow: 0 9px 20px rgba(109,93,252,.22); }

.ydd-iss__device-control { display: flex; align-items: flex-end; gap: 11px; }
.ydd-iss__auto-device { display: inline-flex; align-items: center; gap: 6px; padding-bottom: 8px; color: #667085; font-size: 10px; font-weight: 750; white-space: nowrap; }
.ydd-iss__auto-device i { width: 7px; height: 7px; border-radius: 50%; background: #12b76a; box-shadow: 0 0 0 4px rgba(18,183,106,.12); }
.ydd-iss__device-switch { background: #fff; box-shadow: 0 8px 22px rgba(16,24,40,.07); }
.ydd-iss__device-switch button { display: inline-flex; align-items: center; justify-content: center; gap: 7px; width: auto; min-width: 96px; height: 38px; padding: 0 12px; }
.ydd-iss__device-switch button.is-active { color: #4f3fe0; background: linear-gradient(135deg, rgba(109,93,252,.14), rgba(67,142,232,.09)); box-shadow: inset 0 0 0 1px rgba(109,93,252,.16), 0 5px 12px rgba(109,93,252,.09); }
.ydd-iss__device-switch button:hover { color: #4f3fe0; background: rgba(109,93,252,.075); }
.ydd-iss__device-switch button:focus-visible { outline: 3px solid rgba(109,93,252,.2); outline-offset: 2px; }

.ydd-demo-service-list { display: block; }
.ydd-demo-portal__mobile-switch { display: none; }
.ydd-demo-portal__nav button b,
.ydd-demo-portal__mobile-nav button b { font: inherit; }
.ydd-demo-portal__view { animation: yddPortalViewIn .3s cubic-bezier(.22,1,.36,1); }
@keyframes yddPortalViewIn { from { opacity: 0; transform: translateY(7px); } to { opacity: 1; transform: translateY(0); } }
.ydd-demo-portal-view-head { display: flex; align-items: center; justify-content: space-between; gap: 14px; margin-bottom: 12px; }
.ydd-demo-portal-view-head > div > strong { display: block; color: #1d2939; font-size: 14px !important; }
.ydd-demo-portal-view-head > div > small { display: block; margin-top: 3px; color: #98a2b3; font-size: 10px !important; }
.ydd-demo-portal-view-head > span { padding: 7px 10px; border-radius: 999px; color: var(--demo-primary); background: color-mix(in srgb, var(--demo-primary) 9%, white); font-size: 10px; font-weight: 850; }

.ydd-demo-schedule-layout { display: grid; grid-template-columns: 1.18fr .82fr; gap: 10px; }
.ydd-demo-schedule-layout > aside { display: grid; align-content: start; gap: 10px; }
.ydd-demo-schedule-list { padding: 9px 13px; }
.ydd-demo-schedule-event { display: grid; grid-template-columns: 52px minmax(0,1fr) auto; align-items: center; gap: 10px; width: 100%; min-height: 63px; padding: 10px 8px; border: 0; border-bottom: 1px solid #eef0f4; border-radius: 10px; color: #344054; background: transparent; cursor: pointer; text-align: left; transition: .18s ease; }
.ydd-demo-schedule-event:last-child { border-bottom: 0; }
.ydd-demo-schedule-event:hover,
.ydd-demo-schedule-event.is-active { background: color-mix(in srgb, var(--demo-primary) 7%, white); }
.ydd-demo-schedule-event time { color: var(--demo-primary); font-size: 11px; font-weight: 850; }
.ydd-demo-schedule-event strong { display: block; font-size: 12px !important; }
.ydd-demo-schedule-event small { display: block; margin-top: 3px; color: #98a2b3; font-size: 10px !important; }
.ydd-demo-schedule-event em { padding: 5px 7px; border-radius: 999px; color: #067647; background: #ecfdf3; font-size: 9px; font-style: normal; font-weight: 800; white-space: nowrap; }
.ydd-demo-appointment-detail { position: relative; overflow: hidden; padding: 15px; background: linear-gradient(145deg, color-mix(in srgb, var(--demo-primary) 8%, white), #fff); }
.ydd-demo-appointment-detail::after { content: ''; position: absolute; right: -25px; bottom: -35px; width: 90px; height: 90px; border-radius: 50%; background: color-mix(in srgb, var(--demo-primary) 12%, transparent); }
.ydd-demo-appointment-detail > span { color: var(--demo-primary); font-size: 9px; font-weight: 850; text-transform: uppercase; }
.ydd-demo-appointment-detail > strong { display: block; margin: 8px 0 11px; font-size: 14px !important; }
.ydd-demo-appointment-detail p { display: flex; justify-content: space-between; gap: 10px; margin: 7px 0; color: #667085; font-size: 10px !important; }
.ydd-demo-appointment-detail p b { color: #344054; font-size: 10px; }
.ydd-demo-appointment-detail > em { display: inline-flex; margin-top: 7px; padding: 6px 9px; border-radius: 999px; color: #067647; background: #ecfdf3; font-size: 9px; font-style: normal; font-weight: 800; }
.ydd-demo-availability-card { padding: 13px; }
.ydd-demo-availability { display: grid; grid-template-columns: 31px minmax(0,1fr) auto; align-items: center; gap: 8px; padding: 8px 0; border-top: 1px solid #f0f1f4; }
.ydd-demo-availability:first-of-type { border-top: 0; }
.ydd-demo-availability > span { display: grid; place-items: center; width: 31px; height: 31px; border-radius: 10px; color: #fff; background: var(--demo-primary); font-size: 9px; font-weight: 900; }
.ydd-demo-availability strong { display: block; font-size: 11px !important; }
.ydd-demo-availability small { display: block; margin-top: 2px; color: #98a2b3; font-size: 9px !important; }
.ydd-demo-availability em { color: #667085; font-size: 8px; font-style: normal; text-align: right; }
.ydd-demo-availability em.is-online { color: #067647; }

.ydd-demo-task-board { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 9px; }
.ydd-demo-task-column { min-width: 0; padding: 10px; border: 1px solid #e7eaf0; border-radius: calc(var(--demo-radius) - 2px); background: #f8f9fc; }
.ydd-demo-task-column header { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-bottom: 8px; }
.ydd-demo-task-column header strong { color: #344054; font-size: 11px !important; }
.ydd-demo-task-column header span { display: grid; place-items: center; width: 21px; height: 21px; border-radius: 7px; color: var(--demo-primary); background: color-mix(in srgb, var(--demo-primary) 10%, white); font-size: 8px; font-weight: 900; }
.ydd-demo-board-task { position: relative; display: grid; grid-template-columns: 24px minmax(0,1fr); gap: 8px; margin-top: 7px; padding: 10px; border: 1px solid #e7eaf0; border-radius: 11px; background: #fff; box-shadow: 0 5px 12px rgba(16,24,40,.035); }
.ydd-demo-board-task button { display: grid; place-items: center; width: 24px; height: 24px; min-height: 24px; padding: 0; border: 1px solid #d5dae3; border-radius: 7px; color: transparent; background: #fff; cursor: pointer; }
.ydd-demo-board-task strong { display: block; padding-right: 25px; font-size: 10px !important; line-height: 1.35; }
.ydd-demo-board-task small { display: block; margin-top: 3px; color: #98a2b3; font-size: 9px !important; }
.ydd-demo-board-task > span { position: absolute; top: 9px; right: 8px; padding: 4px 5px; border-radius: 999px; color: #6941c6; background: #f4f3ff; font-size: 7px; font-weight: 850; }
.ydd-demo-board-task.is-complete { opacity: .62; }
.ydd-demo-board-task.is-complete button { color: #fff; border-color: var(--demo-accent); background: var(--demo-accent); }
.ydd-demo-board-task.is-complete strong { text-decoration: line-through; }

.ydd-demo-payment-stats,
.ydd-demo-report-metrics { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 9px; margin-bottom: 10px; }
.ydd-demo-payment-stat,
.ydd-demo-report-metric { padding: 13px; border: 1px solid #e8eaf0; border-radius: calc(var(--demo-radius) - 3px); background: #fff; }
.ydd-demo-payment-stat span,
.ydd-demo-report-metric span { display: block; color: #98a2b3; font-size: 9px; }
.ydd-demo-payment-stat strong,
.ydd-demo-report-metric strong { display: block; margin-top: 6px; font-size: 16px !important; }
.ydd-demo-payment-stat small,
.ydd-demo-report-metric small { display: block; margin-top: 4px; color: #12b76a; font-size: 9px !important; }
.ydd-demo-payment-layout,
.ydd-demo-report-layout { display: grid; grid-template-columns: 1.25fr .75fr; gap: 10px; }
.ydd-demo-payment-layout > section { padding: 13px; }
.ydd-demo-transaction { display: grid; grid-template-columns: minmax(0,1fr) auto auto; align-items: center; gap: 10px; padding: 10px 0; border-top: 1px solid #eef0f4; }
.ydd-demo-transaction:first-of-type { border-top: 0; }
.ydd-demo-transaction strong { display: block; font-size: 10px !important; }
.ydd-demo-transaction small { display: block; margin-top: 2px; color: #98a2b3; font-size: 9px !important; }
.ydd-demo-transaction > b { font-size: 10px; }
.ydd-demo-transaction > em { padding: 5px 7px; border-radius: 999px; color: #067647; background: #ecfdf3; font-size: 8px; font-style: normal; font-weight: 850; }
.ydd-demo-transaction > em.status-1 { color: #b54708; background: #fffaeb; }
.ydd-demo-transaction > em.status-2 { color: #b42318; background: #fef3f2; }
.ydd-demo-payout-card { display: flex; flex-direction: column; align-items: flex-start; justify-content: center; padding: 17px; background: linear-gradient(145deg, color-mix(in srgb, var(--demo-primary) 9%, white), #fff); }
.ydd-demo-payout-card > span { display: grid; place-items: center; width: 34px; height: 34px; border-radius: 11px; color: #fff; background: var(--demo-primary); font-size: 15px; font-weight: 900; }
.ydd-demo-payout-card > strong { margin-top: 12px; font-size: 11px !important; }
.ydd-demo-payout-card > b { margin-top: 5px; color: #1d2939; font-size: 21px; }
.ydd-demo-payout-card p { margin: 8px 0 12px; color: #667085; font-size: 9px !important; }
.ydd-demo-payout-card button { width: 100%; min-height: 38px; border: 0; border-radius: 10px; color: #fff; background: var(--demo-primary); cursor: pointer; font-size: 10px !important; font-weight: 850; }
.ydd-demo-payout-card button.is-success { background: #12b76a; }

.ydd-demo-report-ranges { display: inline-flex; gap: 3px; padding: 3px; border: 1px solid #e4e7ec; border-radius: 10px; background: #f8fafc; }
.ydd-demo-report-ranges button { min-height: 30px; padding: 5px 8px; border: 0; border-radius: 7px; color: #667085; background: transparent; cursor: pointer; font-size: 9px !important; font-weight: 800; }
.ydd-demo-report-ranges button.is-active { color: #fff; background: var(--demo-primary); }
.ydd-demo-report-metrics { grid-template-columns: repeat(4, minmax(0,1fr)); }
.ydd-demo-report-chart,
.ydd-demo-insights { padding: 13px; }
.ydd-demo-bars { display: grid; grid-template-columns: repeat(7,1fr); align-items: end; gap: 7px; height: 170px; padding-top: 13px; }
.ydd-demo-bars > div { display: grid; grid-template-rows: 1fr auto; align-items: end; gap: 5px; height: 100%; text-align: center; }
.ydd-demo-bars i { display: block; min-height: 12px; border-radius: 7px 7px 3px 3px; background: linear-gradient(180deg, var(--demo-primary), color-mix(in srgb, var(--demo-primary) 50%, #fff)); transition: height .35s ease; }
.ydd-demo-bars span { color: #98a2b3; font-size: 8px; }
.ydd-demo-insights > div:not(.ydd-demo-portal-card__head) { display: grid; grid-template-columns: 24px 1fr; gap: 8px; align-items: start; padding: 9px 0; border-top: 1px solid #eef0f4; }
.ydd-demo-insights > div:not(.ydd-demo-portal-card__head) > span { display: grid; place-items: center; width: 24px; height: 24px; border-radius: 8px; color: var(--demo-primary); background: color-mix(in srgb, var(--demo-primary) 9%, white); font-size: 8px; font-weight: 900; }
.ydd-demo-insights p { margin: 1px 0 0; color: #475467; font-size: 9px !important; line-height: 1.45; }

@media (max-width: 980px) {
    .ydd-iss__solution-picker-head { align-items: flex-start; flex-direction: column; }
    .ydd-iss__solution-picker-cue { align-self: flex-start; }
}

@media (max-width: 720px) {
    .ydd-iss__studio { overflow: visible; }
    .ydd-iss__solution-picker-head { margin-top: 0; padding: 17px; border-radius: 17px; }
    .ydd-iss__solution-picker-head h4 { font-size: 18px; }
    .ydd-iss__solution-picker-head p { font-size: 13px; }
    .ydd-iss__solution-picker-cue { width: 100%; justify-content: center; border-radius: 12px; text-align: center; }
    .ydd-iss__solution-tabs { display: flex; gap: 11px; margin-right: -18px; padding: 2px 18px 13px 1px; overflow-x: auto; scroll-snap-type: x mandatory; overscroll-behavior-inline: contain; scrollbar-width: none; }
    .ydd-iss__solution-tabs::-webkit-scrollbar { display: none; }
    .ydd-iss__solution-tab { min-width: min(286px, 82vw); min-height: 124px; scroll-snap-align: start; }
    .ydd-iss__builder-grid { display: flex; flex-direction: column; min-height: 0; overflow: visible; border-radius: 20px; }
    .ydd-iss__preview-panel { order: 1; padding: 15px; border-bottom: 1px solid var(--ydd-line); }
    .ydd-iss__customizer { order: 2; padding: 20px 17px; border-right: 0; }
    .ydd-iss__preview-toolbar { align-items: stretch; flex-direction: column; gap: 14px; }
    .ydd-iss__preview-toolbar .ydd-iss__panel-heading p { display: block; }
    .ydd-iss__device-control { align-items: stretch; flex-direction: column; gap: 7px; }
    .ydd-iss__auto-device { padding: 0 2px; white-space: normal; }
    .ydd-iss__device-switch { display: grid; grid-template-columns: 1fr 1fr; width: 100%; }
    .ydd-iss__device-switch button { width: 100%; min-width: 0; min-height: 44px; }
    .ydd-iss__preview-guide { padding: 15px; }
    .ydd-iss__device,
    .ydd-iss__device--mobile { width: 100%; min-height: 690px; border-radius: 23px; box-shadow: 0 18px 42px rgba(16,24,40,.13); }
    .ydd-iss__browser-bar { height: 42px; }
    .ydd-iss__preview-canvas,
    .ydd-demo { min-height: 646px; }
    .ydd-iss__device--mobile .ydd-demo__topbar { min-height: 64px; padding: 0 14px; }
    .ydd-iss__device--mobile .ydd-demo__brand strong { max-width: 190px; }
    .ydd-iss__device--mobile .ydd-demo__body { padding: 18px 13px 24px; }
    .ydd-iss__device--mobile .ydd-demo-booking__services { display: block; padding: 13px; overflow: hidden; }
    .ydd-iss__device--mobile .ydd-demo-service-list { display: flex; gap: 9px; margin-right: -13px; padding-right: 13px; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; }
    .ydd-iss__device--mobile .ydd-demo-service-list::-webkit-scrollbar { display: none; }
    .ydd-iss__device--mobile .ydd-demo-service { min-width: 235px; margin-top: 0; scroll-snap-align: start; }
    .ydd-iss__device--mobile .ydd-demo-booking__layout { gap: 12px; }
    .ydd-iss__device--mobile .ydd-demo-booking__impact { grid-template-columns: 1fr; }
    .ydd-iss__device--mobile .ydd-demo-booking__impact .ydd-demo-stat:last-child { display: block; }
    .ydd-iss__device--mobile .ydd-demo-days { grid-template-columns: repeat(5, minmax(54px,1fr)); overflow-x: auto; }
    .ydd-iss__device--mobile .ydd-demo-days .ydd-demo-day:nth-child(5) { display: block; }
    .ydd-iss__device--mobile .ydd-demo-times { grid-template-columns: repeat(3, 1fr); }

    .ydd-iss__device--mobile .ydd-demo-portal { display: block; min-height: 646px; }
    .ydd-iss__device--mobile .ydd-demo-portal__side { display: none; }
    .ydd-iss__device--mobile .ydd-demo-portal__main { padding: 14px 12px 22px; }
    .ydd-demo-portal__mobile-switch { display: block; margin: -2px -2px 15px; }
    .ydd-demo-portal__mobile-switch > small { display: block; margin: 0 0 7px 3px; color: #98a2b3; font-size: 10px !important; font-weight: 800; }
    .ydd-demo-portal__mobile-nav { display: flex; gap: 7px; padding: 2px 2px 8px; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; }
    .ydd-demo-portal__mobile-nav::-webkit-scrollbar { display: none; }
    .ydd-demo-portal__mobile-nav button { display: inline-flex; align-items: center; gap: 7px; min-width: max-content; min-height: 44px; padding: 8px 11px; border: 1px solid #e1e5ec; border-radius: 12px; color: #667085; background: #fff; cursor: pointer; scroll-snap-align: start; font-size: 11px !important; font-weight: 800; }
    .ydd-demo-portal__mobile-nav button span { display: grid; place-items: center; width: 23px; height: 23px; border-radius: 7px; color: var(--demo-primary); background: color-mix(in srgb, var(--demo-primary) 9%, white); }
    .ydd-demo-portal__mobile-nav button.is-active { color: #4f3fe0; border-color: color-mix(in srgb, var(--demo-primary) 38%, #e1e5ec); background: color-mix(in srgb, var(--demo-primary) 8%, white); box-shadow: 0 7px 16px rgba(109,93,252,.09); }
    .ydd-demo-portal__header { align-items: flex-start; }
    .ydd-demo-portal__header h2 { font-size: 23px !important; }
    .ydd-demo-portal__header p { font-size: 12px !important; }
    .ydd-iss__device--mobile .ydd-demo-portal__stats { grid-template-columns: 1fr; }
    .ydd-iss__device--mobile .ydd-demo-portal__stats .ydd-demo-portal-stat:last-child { display: block; }
    .ydd-demo-portal-view-head { align-items: flex-start; flex-direction: column; }
    .ydd-demo-schedule-layout,
    .ydd-demo-payment-layout,
    .ydd-demo-report-layout { grid-template-columns: 1fr; }
    .ydd-demo-task-board { grid-template-columns: 1fr; }
    .ydd-demo-payment-stats,
    .ydd-demo-report-metrics { grid-template-columns: 1fr 1fr; }
    .ydd-demo-report-metrics .ydd-demo-report-metric:last-child { grid-column: 1 / -1; }
    .ydd-demo-schedule-event { grid-template-columns: 48px minmax(0,1fr); }
    .ydd-demo-schedule-event em { grid-column: 2; justify-self: start; }
    .ydd-demo-bars { height: 190px; }
    .ydd-demo-transaction { grid-template-columns: minmax(0,1fr) auto; }
    .ydd-demo-transaction > em { grid-column: 1 / -1; justify-self: start; }
    .ydd-demo-portal__nav button,
    .ydd-demo-portal__mobile-nav button,
    .ydd-demo-schedule-event,
    .ydd-demo-board-task button,
    .ydd-demo-payout-card button,
    .ydd-demo-report-ranges button { touch-action: manipulation; }
}

@media (max-width: 450px) {
    .ydd-iss__solution-tab { min-width: 86vw; }
    .ydd-iss__preview-panel { padding: 12px; }
    .ydd-iss__device,
    .ydd-iss__device--mobile { border-radius: 20px; }
    .ydd-iss__device--mobile .ydd-demo-times { grid-template-columns: 1fr 1fr; }
    .ydd-demo-payment-stats,
    .ydd-demo-report-metrics { grid-template-columns: 1fr; }
    .ydd-demo-report-metrics .ydd-demo-report-metric:last-child { grid-column: auto; }
    .ydd-demo-report-ranges { width: 100%; }
    .ydd-demo-report-ranges button { flex: 1; }
}

@media (prefers-reduced-motion: reduce) {
    .ydd-iss__solution-picker-cue svg,
    .ydd-demo-portal__view { animation: none !important; }
}


/* The phone simulation must remain a complete mobile experience even when it is
   selected from a wider desktop or landscape viewport. */
.ydd-iss__device--mobile .ydd-demo-booking__services { display: block; padding: 13px; overflow: hidden; }
.ydd-iss__device--mobile .ydd-demo-service-list { display: flex; gap: 9px; margin-right: -13px; padding-right: 13px; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; }
.ydd-iss__device--mobile .ydd-demo-service-list::-webkit-scrollbar { display: none; }
.ydd-iss__device--mobile .ydd-demo-service { min-width: 235px; margin-top: 0; scroll-snap-align: start; }
.ydd-iss__device--mobile .ydd-demo-booking__layout { gap: 12px; }
.ydd-iss__device--mobile .ydd-demo-booking__impact { grid-template-columns: 1fr; }
.ydd-iss__device--mobile .ydd-demo-booking__impact .ydd-demo-stat:last-child { display: block; }
.ydd-iss__device--mobile .ydd-demo-days { grid-template-columns: repeat(5, minmax(54px,1fr)); overflow-x: auto; }
.ydd-iss__device--mobile .ydd-demo-days .ydd-demo-day:nth-child(5) { display: block; }
.ydd-iss__device--mobile .ydd-demo-times { grid-template-columns: repeat(3, 1fr); }

.ydd-iss__device--mobile .ydd-demo-portal { display: block; }
.ydd-iss__device--mobile .ydd-demo-portal__main { padding: 14px 12px 22px; }
.ydd-iss__device--mobile .ydd-demo-portal__mobile-switch { display: block; margin: -2px -2px 15px; }
.ydd-iss__device--mobile .ydd-demo-portal__mobile-switch > small { display: block; margin: 0 0 7px 3px; color: #98a2b3; font-size: 10px !important; font-weight: 800; }
.ydd-iss__device--mobile .ydd-demo-portal__mobile-nav { display: flex; gap: 7px; padding: 2px 2px 8px; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; }
.ydd-iss__device--mobile .ydd-demo-portal__mobile-nav::-webkit-scrollbar { display: none; }
.ydd-iss__device--mobile .ydd-demo-portal__mobile-nav button { display: inline-flex; align-items: center; gap: 7px; min-width: max-content; min-height: 44px; padding: 8px 11px; border: 1px solid #e1e5ec; border-radius: 12px; color: #667085; background: #fff; cursor: pointer; scroll-snap-align: start; font-size: 11px !important; font-weight: 800; }
.ydd-iss__device--mobile .ydd-demo-portal__mobile-nav button span { display: grid; place-items: center; width: 23px; height: 23px; border-radius: 7px; color: var(--demo-primary); background: color-mix(in srgb, var(--demo-primary) 9%, white); }
.ydd-iss__device--mobile .ydd-demo-portal__mobile-nav button.is-active { color: #4f3fe0; border-color: color-mix(in srgb, var(--demo-primary) 38%, #e1e5ec); background: color-mix(in srgb, var(--demo-primary) 8%, white); box-shadow: 0 7px 16px rgba(109,93,252,.09); }
.ydd-iss__device--mobile .ydd-demo-portal__header { align-items: flex-start; }
.ydd-iss__device--mobile .ydd-demo-portal__header h2 { font-size: 23px !important; }
.ydd-iss__device--mobile .ydd-demo-portal__header p { font-size: 12px !important; }
.ydd-iss__device--mobile .ydd-demo-portal__stats { grid-template-columns: 1fr; }
.ydd-iss__device--mobile .ydd-demo-portal__stats .ydd-demo-portal-stat:last-child { display: block; }
.ydd-iss__device--mobile .ydd-demo-portal-view-head { align-items: flex-start; flex-direction: column; }
.ydd-iss__device--mobile .ydd-demo-schedule-layout,
.ydd-iss__device--mobile .ydd-demo-payment-layout,
.ydd-iss__device--mobile .ydd-demo-report-layout { grid-template-columns: 1fr; }
.ydd-iss__device--mobile .ydd-demo-task-board { grid-template-columns: 1fr; }
.ydd-iss__device--mobile .ydd-demo-payment-stats,
.ydd-iss__device--mobile .ydd-demo-report-metrics { grid-template-columns: 1fr 1fr; }
.ydd-iss__device--mobile .ydd-demo-report-metrics .ydd-demo-report-metric:last-child { grid-column: 1 / -1; }
.ydd-iss__device--mobile .ydd-demo-schedule-event { grid-template-columns: 48px minmax(0,1fr); }
.ydd-iss__device--mobile .ydd-demo-schedule-event em { grid-column: 2; justify-self: start; }
.ydd-iss__device--mobile .ydd-demo-bars { height: 190px; }
.ydd-iss__device--mobile .ydd-demo-transaction { grid-template-columns: minmax(0,1fr) auto; }
.ydd-iss__device--mobile .ydd-demo-transaction > em { grid-column: 1 / -1; justify-self: start; }

/* ==========================================================================
   v1.4.0 — purpose-built phone and tablet experience
   Desktop presentation remains unchanged above 1024px.
   ========================================================================== */
@media (max-width: 1024px) {
    .ydd-iss { overflow-x: clip; }
    .ydd-iss__shell { width: min(100% - 28px, 1420px); }

    /* Every interactive control should feel intentional on touch hardware. */
    .ydd-iss button,
    .ydd-iss input:not([type="color"]):not([type="file"]),
    .ydd-iss select,
    .ydd-iss textarea { min-height: 44px; touch-action: manipulation; }

    .ydd-iss__proof-strip {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        margin-bottom: 54px;
    }
    .ydd-iss__proof-item { gap: 12px; min-height: 126px; padding: 20px 17px; }
    .ydd-iss__proof-item b { font-size: 14px; }
    .ydd-iss__proof-item small { font-size: 12px; line-height: 1.5; }

    .ydd-iss__explore-path { margin-bottom: 58px; padding: 28px; }
    .ydd-iss__explore-steps { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
    .ydd-iss__explore-steps button { grid-template-columns: 44px 1fr; min-height: 215px; padding: 18px; }
    .ydd-iss__explore-steps button > span { width: 44px; height: 44px; border-radius: 14px; }
    .ydd-iss__explore-steps strong { font-size: 16px; }
    .ydd-iss__explore-steps small { font-size: 12px; }

    .ydd-iss__case-study { margin-bottom: 58px; padding: 34px; }
    .ydd-iss__case-personalizer { grid-template-columns: 235px minmax(0, 1fr); gap: 18px; }
    .ydd-iss__case-fields { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .ydd-iss__case-fields label span { font-size: 10px; }
    .ydd-iss__case-fields input { height: 46px; font-size: 13px; }

    .ydd-iss__case-guide,
    .ydd-iss__case-journey,
    .ydd-iss__studio,
    .ydd-iss__consultation { scroll-margin-top: 18px; }

    /* JS moves this bar directly above the live workspace on compact screens. */
    .ydd-iss--compact-ux .ydd-iss__case-controls {
        position: sticky;
        z-index: 40;
        bottom: max(10px, env(safe-area-inset-bottom));
        margin: 16px 0 12px;
        padding: 10px;
        border: 1px solid rgba(210, 216, 228, .92);
        border-radius: 18px;
        background: rgba(255, 255, 255, .92);
        box-shadow: 0 18px 45px rgba(16, 24, 40, .18);
        backdrop-filter: blur(18px) saturate(1.2);
        -webkit-backdrop-filter: blur(18px) saturate(1.2);
    }
    .ydd-iss--compact-ux .ydd-iss__case-controls .ydd-iss__button { min-height: 48px; }

    .ydd-iss__case-workspace { gap: 16px; margin-top: 12px; }
    .ydd-iss__case-browser { border-radius: 20px; box-shadow: 0 18px 42px rgba(16,24,40,.11); }
    .ydd-iss__case-proof {
        display: grid;
        grid-template-columns: minmax(0, .82fr) minmax(0, 1.18fr);
        gap: 10px 28px;
        align-items: start;
        min-height: 0;
        padding: 28px;
    }
    .ydd-iss__case-proof-number { grid-column: 1; margin-bottom: 10px; }
    .ydd-iss__case-proof .ydd-iss__section-label,
    .ydd-iss__case-proof h4,
    .ydd-iss__case-proof > p { grid-column: 1; }
    .ydd-iss__case-proof-list { grid-column: 2; grid-row: 1 / span 4; margin-top: 0; }
    .ydd-iss__case-proof-note { grid-column: 1 / -1; }

    .ydd-iss__studio { padding: 26px; }
    .ydd-iss__solution-tabs,
    .ydd-iss__case-journey {
        overscroll-behavior-inline: contain;
        -webkit-overflow-scrolling: touch;
    }
    .ydd-iss__builder-grid { min-height: 0; }
    .ydd-iss__device { min-height: 0; }
    .ydd-iss__preview-canvas,
    .ydd-demo { min-height: 0; }

    .ydd-iss__browser-bar { padding-inline: 12px; }
    .ydd-iss__address { min-width: 0; flex: 1; }
    .ydd-iss__address b { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

    .ydd-case-app__top { gap: 12px; }
    .ydd-case-app__brand { min-width: 0; }
    .ydd-case-app__brand p { min-width: 0; }
    .ydd-case-app__brand strong,
    .ydd-case-app__brand small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

    .ydd-iss__form input,
    .ydd-iss__form textarea { font-size: 16px; }
}

@media (min-width: 721px) and (max-width: 1024px) {
    .ydd-iss__shell { padding-top: 48px; }
    .ydd-iss__hero { padding-inline: 18px; }
    .ydd-iss__hero-visual { min-height: 390px; }
    .ydd-iss__hero-card--main { top: 46px; height: 300px; }
    .ydd-iss__hero-card--metric { top: 4px; }

    .ydd-iss__case-head { gap: 24px; }
    .ydd-iss__case-badges span { min-width: 96px; padding: 14px 10px; }
    .ydd-iss__case-badges small { font-size: 11px; }

    .ydd-iss__studio-roadmap { grid-template-columns: repeat(4, minmax(0, 1fr)); }
    .ydd-iss__studio-roadmap > div { grid-template-columns: 34px minmax(0, 1fr); min-height: 96px; padding: 12px; }
    .ydd-iss__studio-roadmap span { width: 34px; height: 34px; }
    .ydd-iss__studio-roadmap strong { font-size: 12px; }
    .ydd-iss__studio-roadmap small { font-size: 10px !important; }

    /* Tablets have enough room for the desktop preview; avoid forcing a phone mockup. */
    .ydd-iss__device--desktop .ydd-demo-booking__layout { grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); }
    .ydd-iss__device--desktop .ydd-demo__body { padding: 24px; }
    .ydd-iss__device--desktop .ydd-demo h2 { font-size: 27px !important; }
}

@media (max-width: 900px) {
    .ydd-iss__case-journey {
        display: flex;
        gap: 10px;
        padding: 2px 20px 10px 2px;
        overflow-x: auto;
        scroll-snap-type: x mandatory;
        scrollbar-width: none;
    }
    .ydd-iss__case-journey::-webkit-scrollbar { display: none; }
    .ydd-iss__case-journey::before { display: none; }
    .ydd-iss__case-journey button,
    .ydd-iss__case-journey button:last-child {
        min-width: min(250px, 48vw);
        min-height: 90px;
        scroll-snap-align: center;
    }
}

@media (max-width: 720px) {
    .ydd-iss__shell { width: calc(100% - 16px); padding: 24px 0 38px; }
    .ydd-iss__ambient { opacity: .28; filter: blur(54px); }

    /* Hero: retain the desktop personality while reaching the first action sooner. */
    .ydd-iss__hero { gap: 22px; padding: 0 4px 28px; }
    .ydd-iss__eyebrow { max-width: 100%; margin-bottom: 18px; padding: 8px 11px; font-size: 10px; }
    .ydd-iss__title { font-size: clamp(36px, 10.4vw, 46px); line-height: 1.02; }
    .ydd-iss__title strong { margin-top: 6px; }
    .ydd-iss__lead { margin-top: 20px; font-size: 15px; line-height: 1.62; }
    .ydd-iss__hero-actions { gap: 10px; margin-top: 25px; }
    .ydd-iss__hero-actions .ydd-iss__button { min-height: 52px; }
    .ydd-iss__trust-row { margin-top: 22px; font-size: 12px; }
    .ydd-iss__hero-visual { min-height: 302px; }
    .ydd-iss__hero-card--main { top: 38px; width: 94%; height: 235px; border-radius: 22px; }
    .ydd-iss__mini-browser-bar { height: 34px; }
    .ydd-iss__mini-layout { height: calc(100% - 34px); grid-template-columns: 70px 1fr; }
    .ydd-iss__mini-content { padding: 24px 17px; }
    .ydd-iss__mini-grid { gap: 8px; margin-top: 24px; }
    .ydd-iss__mini-grid i { height: 66px; }
    .ydd-iss__hero-card--metric { right: 1%; transform: scale(.72); }
    .ydd-iss__hero-card--success { right: 1%; bottom: 0; min-width: 214px; transform: scale(.76); }

    /* Swipeable proof and path cards show the next item at the edge. */
    .ydd-iss__proof-strip {
        display: flex;
        gap: 10px;
        margin: 0 -2px 38px;
        padding: 2px 24px 10px 2px;
        overflow-x: auto;
        border: 0;
        border-radius: 0;
        background: transparent;
        box-shadow: none;
        scroll-snap-type: x mandatory;
        scrollbar-width: none;
        overscroll-behavior-inline: contain;
        -webkit-overflow-scrolling: touch;
    }
    .ydd-iss__proof-strip::-webkit-scrollbar { display: none; }
    .ydd-iss__proof-item {
        min-width: calc(88vw - 20px);
        min-height: 138px;
        padding: 21px;
        border: 1px solid var(--ydd-line);
        border-radius: 20px;
        box-shadow: 0 12px 28px rgba(16,24,40,.07);
        scroll-snap-align: center;
    }

    .ydd-iss__explore-path { margin-bottom: 42px; padding: 22px 18px; }
    .ydd-iss__explore-heading h3 { font-size: 30px; }
    .ydd-iss__explore-steps {
        display: flex;
        gap: 11px;
        margin: 22px -2px 0;
        padding: 2px 22px 10px 2px;
        overflow-x: auto;
        scroll-snap-type: x mandatory;
        scrollbar-width: none;
        overscroll-behavior-inline: contain;
        -webkit-overflow-scrolling: touch;
    }
    .ydd-iss__explore-steps::-webkit-scrollbar { display: none; }
    .ydd-iss__explore-steps button {
        min-width: calc(100% - 28px);
        min-height: 190px;
        scroll-snap-align: center;
    }

    /* Flagship case study: shorter setup, clearer task, persistent controls. */
    .ydd-iss__case-study { margin-bottom: 42px; padding: 22px 16px 24px; border-radius: 27px; }
    .ydd-iss__case-intro h3 { margin-top: 12px; font-size: 34px; line-height: 1.06; }
    .ydd-iss__case-intro p { margin-top: 16px; font-size: 14px; line-height: 1.65; }
    .ydd-iss__case-badges { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 7px; width: 100%; }
    .ydd-iss__case-badges span { min-width: 0; padding: 12px 6px; border-radius: 14px; }
    .ydd-iss__case-badges b { font-size: 20px; }
    .ydd-iss__case-badges small { margin-top: 5px; font-size: 9px !important; }
    .ydd-iss__case-start { min-height: 52px; }

    .ydd-iss__case-personalizer {
        display: block;
        margin-top: 22px;
        padding: 14px;
        border-radius: 18px;
        transition: box-shadow .2s ease;
    }
    .ydd-iss__case-personalizer-copy {
        position: relative;
        width: 100%;
        padding-right: 35px;
        cursor: pointer;
        outline: none;
    }
    .ydd-iss__case-personalizer-copy::after,
    .ydd-iss__customizer > .ydd-iss__panel-heading::after {
        content: "⌄";
        position: absolute;
        right: 4px;
        top: 50%;
        display: grid;
        place-items: center;
        width: 28px;
        height: 28px;
        border-radius: 9px;
        color: #5948ea;
        background: rgba(109,93,252,.09);
        font-size: 18px;
        transform: translateY(-50%);
        transition: transform .2s ease;
    }
    .ydd-iss__case-personalizer.is-open .ydd-iss__case-personalizer-copy::after,
    .ydd-iss__customizer.is-open > .ydd-iss__panel-heading::after { transform: translateY(-50%) rotate(180deg); }
    .ydd-iss__case-personalizer-copy:focus-visible,
    .ydd-iss__customizer > .ydd-iss__panel-heading:focus-visible { border-radius: 12px; box-shadow: 0 0 0 4px rgba(109,93,252,.13); }
    .ydd-iss__case-personalizer-copy strong { font-size: 13px; }
    .ydd-iss__case-personalizer-copy small { font-size: 11px; }
    .ydd-iss__case-personalizer:not(.is-open) .ydd-iss__case-fields { display: none; }
    .ydd-iss__case-fields { grid-template-columns: 1fr; gap: 10px; margin-top: 15px; }
    .ydd-iss__case-fields input { height: 48px; font-size: 16px; }

    .ydd-iss__case-guide { margin-top: 20px; padding: 16px; }
    .ydd-iss__case-progress-head strong { font-size: 13px; }
    .ydd-iss__case-task { grid-template-columns: 40px minmax(0,1fr); gap: 12px; margin-top: 15px; }
    .ydd-iss__case-task > span { width: 40px; height: 40px; }
    .ydd-iss__case-task strong { font-size: 16px; }
    .ydd-iss__case-task p { font-size: 13px; }

    .ydd-iss__case-journey { margin-top: 14px; padding-right: 28px; }
    .ydd-iss__case-journey button,
    .ydd-iss__case-journey button:last-child { min-width: min(245px, 76vw); min-height: 86px; padding: 13px; }
    .ydd-iss__case-journey button > span { width: 38px; height: 38px; }

    .ydd-iss--compact-ux .ydd-iss__case-controls {
        display: grid;
        grid-template-columns: 46px minmax(0, 1fr);
        gap: 8px;
        bottom: max(8px, env(safe-area-inset-bottom));
        margin-top: 12px;
        padding: 8px;
    }
    .ydd-iss--compact-ux .ydd-iss__case-controls > .ydd-iss__mini-button {
        width: 46px;
        min-width: 46px;
        padding: 0;
        font-size: 0;
    }
    .ydd-iss--compact-ux .ydd-iss__case-controls > .ydd-iss__mini-button > span:first-child { font-size: 20px; }
    .ydd-iss--compact-ux .ydd-iss__case-controls > div { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 8px; min-width: 0; }
    .ydd-iss--compact-ux .ydd-iss__case-controls .ydd-iss__button { min-width: 0; min-height: 48px; padding: 11px 14px; }
    .ydd-iss--compact-ux .ydd-iss__case-controls [data-case-action="next"] { width: 100%; }

    .ydd-iss__case-workspace { padding-bottom: 8px; }
    .ydd-iss__case-browser { border-radius: 18px; }
    .ydd-iss__case-canvas,
    .ydd-case-app { min-height: 0 !important; }
    .ydd-iss__case-browser .ydd-iss__browser-bar { height: 40px; padding: 0 9px; }
    .ydd-iss__case-browser .ydd-iss__browser-dots { display: none; }
    .ydd-iss__case-browser .ydd-iss__address { height: 27px; margin: 0 7px 0 0; font-size: 9px; }
    .ydd-iss__case-browser .ydd-iss__live-badge { min-width: 0; font-size: 9px; }
    .ydd-iss__case-browser .ydd-iss__live-badge span:last-child { max-width: 86px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

    .ydd-iss__case-proof {
        display: block;
        padding: 25px 20px;
        border-radius: 20px;
    }
    .ydd-iss__case-proof-number {
        position: absolute;
        top: 25px;
        right: 20px;
        margin: 0;
        font-size: 58px;
    }
    .ydd-iss__case-proof h4 { max-width: calc(100% - 56px); margin-top: 14px; font-size: 25px; }
    .ydd-iss__case-proof > p { margin-top: 13px; font-size: 14px !important; }
    .ydd-iss__case-proof-list { margin-top: 20px; }
    .ydd-iss__case-proof-list p { font-size: 12px !important; }
    .ydd-iss__case-proof-note { margin-top: 22px; padding-top: 17px; }

    .ydd-iss__case-finish-cta { margin-top: 14px; padding: 20px; }

    /* Live application screens must read like native mobile interfaces. */
    .ydd-case-app__top { min-height: 68px; padding: 12px 14px; }
    .ydd-case-app__brand { max-width: calc(100% - 105px); }
    .ydd-case-app__brand > span { width: 38px; height: 38px; }
    .ydd-case-app__brand strong { font-size: 13px; }
    .ydd-case-app__brand small { font-size: 10px !important; }
    .ydd-case-app__role { max-width: 98px; padding: 7px 8px; font-size: 10px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
    .ydd-case-app button,
    .ydd-case-app input { min-height: 44px; }
    .ydd-case-app input { font-size: 16px !important; }
    .ydd-case-booking__hero h2 { font-size: 31px; }
    .ydd-case-booking__grid > section,
    .ydd-case-order,
    .ydd-case-automation { padding: 20px; }
    .ydd-case-dates button,
    .ydd-case-times button { min-height: 52px; }
    .ydd-case-booking__summary { align-items: stretch; flex-direction: column; }
    .ydd-case-booking__summary button { width: 100%; }
    .ydd-case-portal-side { display: none; }
    .ydd-case-student,
    .ydd-case-teacher { display: block; }
    .ydd-case-portal-main { padding: 18px 15px 22px; }
    .ydd-case-teacher__audit { grid-template-columns: 1fr 1fr; }
    .ydd-case-results__cards { grid-template-columns: 1fr 1fr; }
    .ydd-case-results__grid { grid-template-columns: 1fr; }
    .ydd-case-results__grid form { grid-template-columns: 1fr; }
    .ydd-case-results__grid form button { width: 100%; }

    /* Solution studio: preview first, controls second, with collapsible personalization. */
    .ydd-iss__studio { padding: 20px 14px; border-radius: 25px; }
    .ydd-iss__studio-header h3 { font-size: 31px; }
    .ydd-iss__studio-intro { font-size: 14px; }
    .ydd-iss__studio-roadmap {
        display: flex;
        gap: 9px;
        padding: 2px 22px 10px 2px;
        overflow-x: auto;
        scroll-snap-type: x mandatory;
        scrollbar-width: none;
    }
    .ydd-iss__studio-roadmap::-webkit-scrollbar { display: none; }
    .ydd-iss__studio-roadmap > div { min-width: min(245px, 76vw); scroll-snap-align: center; }

    .ydd-iss__solution-picker-head { display: block; padding: 17px; }
    .ydd-iss__solution-picker-head h4 { font-size: 22px; }
    .ydd-iss__solution-picker-cue { margin-top: 12px; }
    .ydd-iss__solution-tabs { margin-right: -14px; padding-right: 28px; }
    .ydd-iss__solution-tab { min-width: calc(100vw - 66px); min-height: 118px; }

    .ydd-iss__builder-grid { border-radius: 20px; }
    .ydd-iss__preview-panel { order: 1; padding: 14px 10px 18px; }
    .ydd-iss__customizer { order: 2; padding: 15px; border-top: 1px solid var(--ydd-line); border-bottom: 0; }
    .ydd-iss__customizer > .ydd-iss__panel-heading { position: relative; padding-right: 38px; cursor: pointer; outline: none; }
    .ydd-iss__customizer:not(.is-open) > :not(.ydd-iss__panel-heading) { display: none !important; }
    .ydd-iss__customizer.is-open > .ydd-iss__panel-heading { margin-bottom: 8px; }
    .ydd-iss__customizer .ydd-iss__field input[type="text"],
    .ydd-iss__customizer .ydd-iss__field select { height: 50px; font-size: 16px; }
    .ydd-iss__customizer-actions { grid-template-columns: 1fr; }

    .ydd-iss__preview-toolbar { gap: 12px; }
    .ydd-iss__device-control { width: 100%; }
    .ydd-iss__auto-device { font-size: 11px; }
    .ydd-iss__preview-guide { gap: 10px; margin-bottom: 12px; padding: 14px; }
    .ydd-iss__preview-guide > span { width: max-content; }
    .ydd-iss__preview-guide button { justify-self: stretch; min-height: 44px; padding: 10px 0; text-align: left; }
    .ydd-iss__device,
    .ydd-iss__device--mobile { min-height: 0; border-radius: 18px; }
    .ydd-iss__preview-canvas,
    .ydd-demo,
    .ydd-iss__device--mobile .ydd-demo-portal { min-height: 0 !important; }
    .ydd-iss__device .ydd-iss__browser-bar { height: 39px; padding: 0 8px; }
    .ydd-iss__device .ydd-iss__browser-dots { display: none; }
    .ydd-iss__device .ydd-iss__live-badge span:last-child { max-width: 70px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

    .ydd-iss__device--mobile .ydd-demo__topbar { min-height: 58px; }
    .ydd-iss__device--mobile .ydd-demo__nav { display: none; }
    .ydd-iss__device--mobile .ydd-demo__brand { max-width: 100%; }
    .ydd-iss__device--mobile .ydd-demo__body { padding: 16px 12px 20px; }
    .ydd-iss__device--mobile .ydd-demo__intro { align-items: flex-start; flex-direction: column; }
    .ydd-iss__device--mobile .ydd-demo__intro h2 { font-size: 27px !important; }
    .ydd-iss__device--mobile .ydd-demo-service { min-width: min(245px, 78vw); }
    .ydd-iss__device--mobile .ydd-demo-day,
    .ydd-iss__device--mobile .ydd-demo-time,
    .ydd-iss__device--mobile .ydd-demo-action { min-height: 44px; }
    .ydd-iss__device--mobile .ydd-demo-booking__summary { align-items: stretch; flex-direction: column; }
    .ydd-iss__device--mobile .ydd-demo-booking__summary button { width: 100%; }

    .ydd-iss__value-grid { gap: 24px; padding: 44px 4px 0; }
    .ydd-iss__value-copy h3 { font-size: 31px; }
    .ydd-iss__value-copy > p { font-size: 14px; }
    .ydd-iss__feature { align-items: flex-start; }
    .ydd-iss__outcome-card { padding: 22px; }
    .ydd-iss__conversion-card { margin-top: 34px; padding: 24px 20px; border-radius: 23px; }
    .ydd-iss__conversion-copy h3 { font-size: 29px; }
    .ydd-iss__conversion-copy p { font-size: 14px; }

    .ydd-iss__consultation { gap: 24px; padding: 52px 4px 22px; }
    .ydd-iss__consultation-copy > p { font-size: 14px; }
    .ydd-iss__contact-options a { min-height: 44px; }
    .ydd-iss__form { padding: 18px 15px; border-radius: 19px; }
    .ydd-iss__form .ydd-iss__field input { height: 50px; font-size: 16px; }
    .ydd-iss__field textarea { min-height: 130px; font-size: 16px; }
    .ydd-iss__form-footer p { font-size: 11px !important; }

    .ydd-iss__toast { bottom: max(14px, env(safe-area-inset-bottom)); }
}

@media (max-width: 450px) {
    .ydd-iss--compact-ux .ydd-iss__case-controls [data-case-action="previous"] {
        width: 48px;
        min-width: 48px;
        padding-inline: 0;
    }
    .ydd-iss--compact-ux .ydd-iss__case-controls [data-case-action="previous"] span:last-child { display: none; }
    .ydd-iss--compact-ux .ydd-iss__case-controls [data-case-action="next"] { padding-inline: 12px; }
    .ydd-iss__solution-tab { min-width: calc(100vw - 54px); }
    .ydd-case-results__cards { grid-template-columns: 1fr; }
    .ydd-case-teacher__audit { grid-template-columns: 1fr; }
}


/* v1.4.0 final touch and guided-control refinements */
@media (max-width: 1024px) {
    .ydd-iss--compact-ux .ydd-iss__case-controls {
        top: calc(var(--wp-admin--admin-bar--height, 0px) + 10px);
        bottom: auto;
    }
    .ydd-iss__customizer > .ydd-iss__panel-heading,
    .ydd-iss__case-personalizer-copy { min-height: 44px; }
    .ydd-iss__color-control input[type="color"] { width: 44px; min-width: 44px; height: 44px; }
    .ydd-iss__contact-options a { min-height: 44px; }
    .ydd-demo-calendar__head button,
    .ydd-demo-day { min-width: 44px; }
}

@media (max-width: 720px) {
    .ydd-iss__device--mobile .ydd-demo__eyebrow,
    .ydd-iss__device--mobile .ydd-demo__secure { font-size: 9px; }
    .ydd-iss__device--mobile .ydd-demo-day span { font-size: 8px; }
    .ydd-iss__device--mobile .ydd-demo-times-label,
    .ydd-iss__device--mobile .ydd-demo-booking__summary span,
    .ydd-iss__device--mobile .ydd-demo-stat span,
    .ydd-iss__device--mobile .ydd-demo-stat i { font-size: 8px; }
}

@media (max-width: 1024px) {
    .ydd-demo-calendar-head button { width: 44px; min-width: 44px; }
}

@media (max-width: 1024px) {
    /* `overflow:hidden` creates a scroll container and disables position:sticky.
       Clip only the horizontal axis so the guided controls can remain available. */
    .ydd-iss { overflow: visible; overflow-x: clip; }
}

/* ========================================================================== 
   v1.5.0 · Mobile/tablet guided demonstration
   Desktop keeps the established interactive case-study experience. Screens
   up to 1024px use a focused customize → demonstrate → explain sequence.
   ========================================================================== */
.ydd-iss__case-mobile-intro,
.ydd-iss__case-mobile-start,
.ydd-iss__case-mobile-explanation,
.ydd-iss__case-mobile-look-fields { display: none; }

@media (max-width: 1024px) {
    /* Keep every compact guided experience inside the mobile presentation. */
    .ydd-iss--guided-mobile .ydd-iss__device-switch { display: none !important; }
    .ydd-iss--guided-mobile .ydd-iss__device-control { align-items: flex-end; }
    .ydd-iss--guided-mobile .ydd-iss__device--mobile {
        width: min(100%, 440px);
        max-width: 440px;
        margin-inline: auto;
    }

    /* The compact case study is intentionally linear rather than tab-driven. */
    .ydd-iss--guided-mobile .ydd-iss__case-journey,
    .ydd-iss--guided-mobile .ydd-iss__case-proof,
    .ydd-iss--guided-mobile .ydd-iss__case-finish-cta { display: none !important; }
    .ydd-iss--guided-mobile .ydd-iss__case-workspace {
        grid-template-columns: minmax(0, 1fr);
        gap: 0;
        max-width: 470px;
        margin: 18px auto 0;
        padding-bottom: 4px;
    }
    .ydd-iss--guided-mobile .ydd-iss__case-browser {
        width: 100%;
        border: 7px solid #111827;
        border-radius: 34px;
        background: #111827;
        box-shadow: 0 28px 70px rgba(16, 24, 40, .2);
    }
    .ydd-iss--guided-mobile .ydd-iss__case-browser .ydd-iss__browser-bar {
        height: 43px;
        padding: 0 11px;
        border-bottom-color: rgba(255,255,255,.08);
        background: #111827;
    }
    .ydd-iss--guided-mobile .ydd-iss__case-browser .ydd-iss__address {
        color: rgba(255,255,255,.82);
        background: rgba(255,255,255,.1);
    }
    .ydd-iss--guided-mobile .ydd-iss__case-browser .ydd-iss__address svg { stroke: rgba(255,255,255,.72); }
    .ydd-iss--guided-mobile .ydd-iss__case-browser .ydd-iss__live-badge { color: #d1fae5; }
    .ydd-iss--guided-mobile .ydd-iss__case-canvas,
    .ydd-iss--guided-mobile .ydd-case-app { min-height: 0 !important; }

    /* First screen: explain the experience and allow customization. */
    .ydd-iss--guided-mobile[data-case-phase="setup"] .ydd-iss__case-mobile-intro {
        display: block;
        margin-top: 24px;
        padding: 24px;
        overflow: hidden;
        border: 1px solid rgba(109,93,252,.2);
        border-radius: 24px;
        background:
            radial-gradient(circle at 100% 0, rgba(16,185,129,.14), transparent 35%),
            linear-gradient(145deg, #ffffff, #f7f7ff);
        box-shadow: 0 16px 42px rgba(16,24,40,.075);
    }
    .ydd-iss__case-mobile-intro-grid {
        display: grid;
        grid-template-columns: minmax(0, 1fr) minmax(185px, 245px);
        gap: 22px;
        align-items: center;
        margin-top: 12px;
    }
    .ydd-iss__case-mobile-intro h4 {
        margin: 0;
        color: #101828;
        font-size: clamp(25px, 4vw, 35px);
        line-height: 1.08;
        letter-spacing: -.035em;
    }
    .ydd-iss__case-mobile-intro p {
        max-width: 640px;
        margin: 12px 0 0;
        color: #667085;
        font-size: 14px;
        line-height: 1.65;
    }
    .ydd-iss__case-mobile-mode {
        display: flex;
        align-items: center;
        gap: 12px;
        min-height: 76px;
        padding: 14px;
        border: 1px solid rgba(109,93,252,.15);
        border-radius: 18px;
        color: #4032bd;
        background: rgba(109,93,252,.075);
    }
    .ydd-iss__case-mobile-mode svg {
        width: 26px;
        height: 26px;
        flex: 0 0 auto;
        fill: none;
        stroke: currentColor;
        stroke-width: 1.8;
        stroke-linecap: round;
        stroke-linejoin: round;
    }
    .ydd-iss__case-mobile-mode b { font-size: 12px; line-height: 1.45; }

    .ydd-iss--guided-mobile[data-case-phase="setup"] .ydd-iss__case-personalizer {
        display: grid;
        grid-template-columns: 1fr;
        gap: 17px;
        margin-top: 16px;
        padding: 20px;
        border-color: rgba(109,93,252,.2);
        box-shadow: 0 14px 36px rgba(16,24,40,.065);
    }
    .ydd-iss--guided-mobile[data-case-phase="setup"] .ydd-iss__case-personalizer-copy {
        width: 100%;
        padding-right: 0;
        cursor: default;
    }
    .ydd-iss--guided-mobile[data-case-phase="setup"] .ydd-iss__case-personalizer-copy::after { display: none !important; }
    .ydd-iss--guided-mobile[data-case-phase="setup"] .ydd-iss__case-personalizer .ydd-iss__case-fields {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 12px;
        margin-top: 0;
    }
    .ydd-iss--guided-mobile .ydd-iss__case-fields label > span {
        margin-bottom: 7px;
        font-size: 10px;
    }
    .ydd-iss--guided-mobile .ydd-iss__case-fields input:not([type="color"]),
    .ydd-iss--guided-mobile .ydd-iss__case-fields select {
        width: 100%;
        min-height: 48px;
        padding: 0 12px;
        border: 1px solid #dfe3ea;
        border-radius: 12px;
        outline: none;
        color: #1d2939;
        background: #fbfcfe;
        font-size: 16px;
        font-weight: 700;
    }
    .ydd-iss--guided-mobile .ydd-iss__case-fields select:focus {
        border-color: rgba(109,93,252,.55);
        background: #fff;
        box-shadow: 0 0 0 4px rgba(109,93,252,.09);
    }
    .ydd-iss--guided-mobile[data-case-phase="setup"] .ydd-iss__case-mobile-look-fields {
        grid-column: 1 / -1;
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 12px;
        padding-top: 3px;
    }
    .ydd-iss--guided-mobile .ydd-iss__case-mobile-look-fields label {
        min-width: 0;
        padding: 12px;
        border: 1px solid #e1e5ec;
        border-radius: 14px;
        background: #fff;
    }
    .ydd-iss--guided-mobile .ydd-iss__case-mobile-look-fields input[type="color"] {
        width: 100%;
        min-width: 0;
        height: 48px;
        padding: 4px;
        border: 1px solid #dfe3ea;
        border-radius: 11px;
        background: #fbfcfe;
        cursor: pointer;
    }
    .ydd-iss--guided-mobile .ydd-iss__case-style-field { grid-column: 1 / -1; }

    .ydd-iss--guided-mobile[data-case-phase="setup"] .ydd-iss__case-mobile-start {
        display: grid;
        gap: 8px;
        max-width: 470px;
        margin: 16px auto 0;
        text-align: center;
    }
    .ydd-iss__case-mobile-start .ydd-iss__button { min-height: 56px; }
    .ydd-iss__case-mobile-start small { color: #667085; font-size: 11px; line-height: 1.45; }
    .ydd-iss--guided-mobile[data-case-phase="setup"] .ydd-iss__case-guide,
    .ydd-iss--guided-mobile[data-case-phase="setup"] .ydd-iss__case-controls { display: none !important; }
    .ydd-iss--guided-mobile[data-case-phase="setup"] .ydd-iss__case-browser { pointer-events: none; }

    /* Demonstration screen: one action at a time, with a single Proceed CTA. */
    .ydd-iss--guided-mobile[data-case-phase="demo"] .ydd-iss__case-personalizer,
    .ydd-iss--guided-mobile[data-case-phase="demo"] .ydd-iss__case-mobile-intro,
    .ydd-iss--guided-mobile[data-case-phase="demo"] .ydd-iss__case-mobile-start,
    .ydd-iss--guided-mobile[data-case-phase="demo"] .ydd-iss__case-mobile-explanation { display: none !important; }
    .ydd-iss--guided-mobile[data-case-phase="demo"] .ydd-iss__case-guide,
    .ydd-iss--guided-mobile[data-case-phase="demo"] .ydd-iss__case-workspace,
    .ydd-iss--guided-mobile[data-case-phase="demo"] .ydd-iss__case-controls { display: flex; }
    .ydd-iss--guided-mobile[data-case-phase="demo"] .ydd-iss__case-guide { display: block; }
    .ydd-iss--guided-mobile[data-case-phase="demo"] .ydd-iss__case-workspace { display: grid; }

    /* Explanation screen: describe both the completed work and its value. */
    .ydd-iss--guided-mobile[data-case-phase="explain"] .ydd-iss__case-personalizer,
    .ydd-iss--guided-mobile[data-case-phase="explain"] .ydd-iss__case-mobile-intro,
    .ydd-iss--guided-mobile[data-case-phase="explain"] .ydd-iss__case-mobile-start,
    .ydd-iss--guided-mobile[data-case-phase="explain"] .ydd-iss__case-workspace { display: none !important; }
    .ydd-iss--guided-mobile[data-case-phase="explain"] .ydd-iss__case-guide,
    .ydd-iss--guided-mobile[data-case-phase="explain"] .ydd-iss__case-controls { display: flex; }
    .ydd-iss--guided-mobile[data-case-phase="explain"] .ydd-iss__case-guide { display: block; }
    .ydd-iss--guided-mobile[data-case-phase="explain"] .ydd-iss__case-mobile-explanation {
        position: relative;
        display: block;
        max-width: 650px;
        margin: 18px auto 0;
        padding: 30px;
        overflow: hidden;
        border: 1px solid rgba(16,185,129,.22);
        border-radius: 26px;
        background:
            radial-gradient(circle at 100% 0, rgba(109,93,252,.12), transparent 34%),
            linear-gradient(145deg, #ffffff, #f4fbf8);
        box-shadow: 0 20px 52px rgba(16,24,40,.09);
    }
    .ydd-iss__case-mobile-explanation-icon {
        display: grid;
        place-items: center;
        width: 52px;
        height: 52px;
        margin-bottom: 18px;
        border-radius: 17px;
        color: #fff;
        background: linear-gradient(135deg, #10b981, #0c9c72);
        box-shadow: 0 12px 26px rgba(16,185,129,.25);
        font-size: 24px;
        font-weight: 900;
    }
    .ydd-iss__case-mobile-explanation > small {
        display: block;
        margin-top: 9px;
        color: #667085;
        font-size: 11px;
        font-weight: 800;
        letter-spacing: .04em;
        text-transform: uppercase;
    }
    .ydd-iss__case-mobile-explanation h4 {
        max-width: 560px;
        margin: 12px 0 0;
        color: #101828;
        font-size: clamp(27px, 4vw, 38px);
        line-height: 1.08;
        letter-spacing: -.035em;
    }
    .ydd-iss__case-mobile-explanation > p {
        max-width: 570px;
        margin: 14px 0 0;
        color: #667085;
        font-size: 14px;
        line-height: 1.7;
    }
    .ydd-iss__case-mobile-benefit {
        margin-top: 23px;
        padding: 19px;
        border: 1px solid rgba(109,93,252,.15);
        border-radius: 18px;
        background: rgba(255,255,255,.78);
    }
    .ydd-iss__case-mobile-benefit > strong { color: #4032bd; font-size: 12px; }
    .ydd-iss__case-mobile-benefit > div { display: grid; gap: 10px; margin-top: 13px; }
    .ydd-iss__case-mobile-benefit > div > div {
        display: grid;
        grid-template-columns: 24px minmax(0, 1fr);
        gap: 9px;
        align-items: start;
    }
    .ydd-iss__case-mobile-benefit span {
        display: grid;
        place-items: center;
        width: 24px;
        height: 24px;
        border-radius: 8px;
        color: #fff;
        background: #10b981;
        font-size: 10px;
        font-weight: 900;
    }
    .ydd-iss__case-mobile-benefit p {
        margin: 2px 0 0;
        color: #475467;
        font-size: 13px;
        font-weight: 650;
        line-height: 1.5;
    }

    /* Persistent controls stay reachable without obscuring the demonstration. */
    .ydd-iss--guided-mobile .ydd-iss__case-controls {
        position: sticky !important;
        z-index: 30;
        top: auto !important;
        bottom: max(8px, env(safe-area-inset-bottom));
        display: grid;
        grid-template-columns: 46px minmax(0, 1fr);
        gap: 8px;
        max-width: 650px;
        margin: 14px auto 0;
        padding: 8px;
        border: 1px solid rgba(224,228,235,.94);
        border-radius: 17px;
        background: rgba(255,255,255,.96);
        box-shadow: 0 16px 42px rgba(16,24,40,.14);
        backdrop-filter: blur(14px);
    }
    .ydd-iss--guided-mobile .ydd-iss__case-controls > .ydd-iss__mini-button {
        width: 46px;
        min-width: 46px;
        padding: 0;
        font-size: 0;
    }
    .ydd-iss--guided-mobile .ydd-iss__case-controls > .ydd-iss__mini-button > span:first-child { font-size: 20px; }
    .ydd-iss--guided-mobile .ydd-iss__case-controls > div { display: block; min-width: 0; }
    .ydd-iss--guided-mobile .ydd-iss__case-controls [data-case-action="previous"] { display: none !important; }
    .ydd-iss--guided-mobile .ydd-iss__case-controls [data-case-action="next"] {
        width: 100%;
        min-height: 50px;
    }

    /* Force every demonstration screen into a comfortable phone-width layout
       on tablets as well as phones. */
    .ydd-iss--guided-mobile .ydd-case-booking__grid,
    .ydd-iss--guided-mobile .ydd-case-checkout__grid,
    .ydd-iss--guided-mobile .ydd-case-student__lower,
    .ydd-iss--guided-mobile .ydd-case-teacher-card,
    .ydd-iss--guided-mobile .ydd-case-teacher-live__grid,
    .ydd-iss--guided-mobile .ydd-case-results__grid { grid-template-columns: 1fr !important; }
    .ydd-iss--guided-mobile .ydd-case-student,
    .ydd-iss--guided-mobile .ydd-case-teacher { display: block; }
    .ydd-iss--guided-mobile .ydd-case-portal-side { display: none; }
    .ydd-iss--guided-mobile .ydd-case-portal-main { padding: 18px 15px 22px; }
    .ydd-iss--guided-mobile .ydd-case-results__cards { grid-template-columns: repeat(2, minmax(0,1fr)); }
    .ydd-iss--guided-mobile .ydd-case-results__grid form { grid-template-columns: 1fr; }
    .ydd-iss--guided-mobile .ydd-case-results__grid form button { width: 100%; }
    .ydd-iss--guided-mobile .ydd-case-gateway-locked,
    .ydd-iss--guided-mobile .ydd-case-gateway-ready { grid-template-columns: 44px minmax(0, 1fr); }
    .ydd-iss--guided-mobile .ydd-case-gateway-locked button,
    .ydd-iss--guided-mobile .ydd-case-gateway-ready button { grid-column: 1 / -1; width: 100%; }
    .ydd-iss--guided-mobile .ydd-case-heartbeat,
    .ydd-iss--guided-mobile .ydd-case-session-info { min-height: 0; }
    .ydd-iss--guided-mobile .ydd-case-app button,
    .ydd-iss--guided-mobile .ydd-case-app input,
    .ydd-iss--guided-mobile .ydd-case-app select { min-height: 44px; }
    .ydd-iss--guided-mobile .ydd-case-app input,
    .ydd-iss--guided-mobile .ydd-case-app select { font-size: 16px !important; }
}

@media (max-width: 720px) {
    .ydd-iss--guided-mobile[data-case-phase="setup"] .ydd-iss__case-mobile-intro { padding: 20px 18px; }
    .ydd-iss__case-mobile-intro-grid { grid-template-columns: 1fr; gap: 16px; }
    .ydd-iss__case-mobile-mode { min-height: 0; }
    .ydd-iss--guided-mobile[data-case-phase="setup"] .ydd-iss__case-personalizer { padding: 16px; }
    .ydd-iss--guided-mobile[data-case-phase="setup"] .ydd-iss__case-personalizer .ydd-iss__case-fields,
    .ydd-iss--guided-mobile[data-case-phase="setup"] .ydd-iss__case-mobile-look-fields { grid-template-columns: 1fr; }
    .ydd-iss--guided-mobile .ydd-iss__case-style-field { grid-column: auto; }
    .ydd-iss--guided-mobile .ydd-iss__case-workspace { max-width: 430px; }
    .ydd-iss--guided-mobile .ydd-iss__case-browser { border-width: 5px; border-radius: 27px; }
    .ydd-iss--guided-mobile[data-case-phase="explain"] .ydd-iss__case-mobile-explanation { padding: 25px 20px; }
    .ydd-iss--guided-mobile .ydd-iss__case-controls { max-width: 100%; }
}

@media (max-width: 450px) {
    .ydd-iss--guided-mobile .ydd-iss__case-browser { border-radius: 23px; }
    .ydd-iss--guided-mobile .ydd-case-results__cards { grid-template-columns: 1fr; }
    .ydd-iss__case-mobile-explanation h4 { font-size: 27px; }
}

@media (max-width: 1024px) {
    /* Mobile/tablet visitors enter customization immediately; no duplicate start CTA. */
    .ydd-iss--guided-mobile .ydd-iss__case-start { display: none !important; }
}

/* ========================================================================== 
   v1.6.0 · Full-screen mobile/tablet demonstration workspace
   ========================================================================== */
.ydd-iss__case-mobile-shell { display: contents; }
.ydd-iss__mobile-demo-bar,
.ydd-iss__case-mobile-system,
.ydd-iss__case-mobile-complete,
.ydd-iss__mobile-system-sheet { display: none; }

.ydd-case-mobile-calendar { display: none; }
.ydd-case-app__role-icon {
    display: grid;
    place-items: center;
    width: 18px;
    height: 18px;
    flex: 0 0 auto;
    border-radius: 50%;
    color: var(--demo-primary, #6d5dfc);
    background: rgba(109, 93, 252, .10);
}
.ydd-case-app__role-icon svg {
    width: 12px;
    height: 12px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}

html.ydd-iss-mobile-demo-open,
body.ydd-iss-mobile-demo-open {
    overflow: hidden !important;
    overscroll-behavior: none;
}

@media (min-width: 0px) {
    .ydd-iss--guided-mobile .ydd-iss__case-study {
        position: fixed !important;
        z-index: 2147483000;
        inset: 0;
        width: 100vw;
        height: 100dvh;
        min-height: 100dvh;
        margin: 0 !important;
        padding: 0 !important;
        overflow: hidden;
        border: 0 !important;
        border-radius: 0 !important;
        background: #f3f5fa;
        box-shadow: none !important;
    }
    .ydd-iss--guided-mobile .ydd-iss__case-head { display: none !important; }
    .ydd-iss--guided-mobile .ydd-iss__case-mobile-shell {
        position: relative;
        display: grid;
        grid-template-rows: auto minmax(0, 1fr);
        width: 100%;
        height: 100%;
        min-height: 0;
        overflow: hidden;
        background:
            radial-gradient(circle at 100% 0, rgba(109,93,252,.09), transparent 34%),
            linear-gradient(180deg, #f9faff, #f2f5fa);
    }
    .ydd-iss--guided-mobile .ydd-iss__mobile-demo-bar {
        position: relative;
        z-index: 40;
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 12px;
        min-height: 66px;
        padding: max(10px, env(safe-area-inset-top)) 14px 10px;
        border-bottom: 1px solid rgba(214,219,229,.9);
        background: rgba(255,255,255,.96);
        box-shadow: 0 8px 22px rgba(16,24,40,.055);
        backdrop-filter: blur(16px);
    }
    .ydd-iss--guided-mobile .ydd-iss__mobile-demo-brand {
        display: flex;
        align-items: center;
        min-width: 0;
        gap: 10px;
    }
    .ydd-iss--guided-mobile .ydd-iss__mobile-demo-brand > span {
        display: grid;
        place-items: center;
        width: 38px;
        height: 38px;
        flex: 0 0 auto;
        border-radius: 12px;
        color: #fff;
        background: linear-gradient(135deg, #251945, #6554ed 64%, #17c9e5);
        box-shadow: 0 8px 18px rgba(72,54,172,.2);
        font-size: 10px;
        font-weight: 900;
        letter-spacing: -.04em;
    }
    .ydd-iss--guided-mobile .ydd-iss__mobile-demo-brand p { min-width: 0; margin: 0; }
    .ydd-iss--guided-mobile .ydd-iss__mobile-demo-brand strong,
    .ydd-iss--guided-mobile .ydd-iss__mobile-demo-brand small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
    .ydd-iss--guided-mobile .ydd-iss__mobile-demo-brand strong { color: #101828; font-size: 12px; }
    .ydd-iss--guided-mobile .ydd-iss__mobile-demo-brand small { margin-top: 2px; color: #98a2b3; font-size: 8px; }
    .ydd-iss--guided-mobile .ydd-iss__mobile-demo-switch {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: 7px;
        min-height: 40px;
        padding: 0 11px;
        flex: 0 0 auto;
        border: 1px solid rgba(109,93,252,.2);
        border-radius: 999px;
        color: #4f3fd0;
        background: rgba(109,93,252,.075);
        font-size: 10px;
        font-weight: 850;
        cursor: pointer;
    }
    .ydd-iss--guided-mobile .ydd-iss__mobile-demo-switch svg {
        width: 17px;
        height: 17px;
        fill: none;
        stroke: currentColor;
        stroke-width: 1.8;
        stroke-linecap: round;
        stroke-linejoin: round;
    }
    .ydd-iss--guided-mobile .ydd-iss__mobile-demo-viewport {
        position: relative;
        min-width: 0;
        min-height: 0;
        overflow: hidden;
    }

    /* Setup stays within the same viewport; only this internal panel scrolls. */
    .ydd-iss--guided-mobile[data-case-phase="setup"] .ydd-iss__mobile-demo-viewport {
        display: block;
        padding: 14px 14px calc(86px + env(safe-area-inset-bottom));
        overflow-y: auto;
        overscroll-behavior: contain;
        scrollbar-width: thin;
    }
    .ydd-iss--guided-mobile[data-case-phase="setup"] .ydd-iss__case-mobile-intro {
        display: block !important;
        max-width: 760px;
        margin: 0 auto !important;
        padding: 18px !important;
        border-radius: 20px !important;
    }
    .ydd-iss--guided-mobile[data-case-phase="setup"] .ydd-iss__case-mobile-intro-grid {
        grid-template-columns: minmax(0,1fr) auto;
        gap: 14px;
        margin-top: 8px;
    }
    .ydd-iss--guided-mobile[data-case-phase="setup"] .ydd-iss__case-mobile-intro h4 { font-size: clamp(22px, 4.6vw, 31px); }
    .ydd-iss--guided-mobile[data-case-phase="setup"] .ydd-iss__case-mobile-intro p { margin-top: 8px; font-size: 12px; line-height: 1.55; }
    .ydd-iss--guided-mobile[data-case-phase="setup"] .ydd-iss__case-mobile-mode {
        min-height: 58px;
        max-width: 220px;
        padding: 10px;
    }
    .ydd-iss--guided-mobile[data-case-phase="setup"] .ydd-iss__case-personalizer {
        display: grid !important;
        max-width: 760px;
        margin: 10px auto 0 !important;
        padding: 14px !important;
        gap: 12px !important;
        border-radius: 18px !important;
    }
    .ydd-iss--guided-mobile[data-case-phase="setup"] .ydd-iss__case-personalizer-copy > span { width: 36px; height: 36px; }
    .ydd-iss--guided-mobile[data-case-phase="setup"] .ydd-iss__case-personalizer-copy strong { font-size: 11px; }
    .ydd-iss--guided-mobile[data-case-phase="setup"] .ydd-iss__case-personalizer-copy small { font-size: 8px; }
    .ydd-iss--guided-mobile[data-case-phase="setup"] .ydd-iss__case-personalizer .ydd-iss__case-fields {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0,1fr)) !important;
        gap: 9px !important;
    }
    .ydd-iss--guided-mobile[data-case-phase="setup"] .ydd-iss__case-fields input:not([type="color"]),
    .ydd-iss--guided-mobile[data-case-phase="setup"] .ydd-iss__case-fields select { min-height: 44px; }
    .ydd-iss--guided-mobile[data-case-phase="setup"] .ydd-iss__case-mobile-look-fields {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0,1fr)) !important;
        gap: 9px !important;
    }
    .ydd-iss--guided-mobile[data-case-phase="setup"] .ydd-iss__case-mobile-look-fields label { padding: 9px; }
    .ydd-iss--guided-mobile[data-case-phase="setup"] .ydd-iss__case-mobile-look-fields input[type="color"] { height: 40px; }
    .ydd-iss--guided-mobile[data-case-phase="setup"] .ydd-iss__case-mobile-start {
        position: fixed;
        z-index: 45;
        right: 12px;
        bottom: max(10px, env(safe-area-inset-bottom));
        left: 12px;
        display: grid !important;
        max-width: 760px;
        margin: 0 auto !important;
        padding: 8px;
        border: 1px solid rgba(220,224,232,.96);
        border-radius: 18px;
        background: rgba(255,255,255,.96);
        box-shadow: 0 16px 44px rgba(16,24,40,.16);
        backdrop-filter: blur(16px);
    }
    .ydd-iss--guided-mobile[data-case-phase="setup"] .ydd-iss__case-mobile-start small { display: none; }
    .ydd-iss--guided-mobile[data-case-phase="setup"] .ydd-iss__case-mobile-start .ydd-iss__button { min-height: 52px; }

    /* The demonstration becomes a three-row app: guidance, live screen, controls. */
    .ydd-iss--guided-mobile[data-case-phase="demo"] .ydd-iss__mobile-demo-viewport,
    .ydd-iss--guided-mobile[data-case-phase="explain"] .ydd-iss__mobile-demo-viewport {
        display: grid;
        grid-template-rows: auto minmax(0,1fr) auto;
        gap: 8px;
        padding: 9px 10px max(9px, env(safe-area-inset-bottom));
        overflow: hidden;
    }
    .ydd-iss--guided-mobile[data-case-phase="demo"] .ydd-iss__case-guide,
    .ydd-iss--guided-mobile[data-case-phase="explain"] .ydd-iss__case-guide {
        display: block !important;
        margin: 0 !important;
        padding: 10px 12px !important;
        border: 1px solid #e0e4ec;
        border-radius: 16px;
        background: rgba(255,255,255,.94);
        box-shadow: 0 8px 22px rgba(16,24,40,.055);
    }
    .ydd-iss--guided-mobile .ydd-iss__case-progress-head strong { font-size: 10px; }
    .ydd-iss--guided-mobile .ydd-iss__case-progress-head span { font-size: 9px; }
    .ydd-iss--guided-mobile .ydd-iss__case-task {
        grid-template-columns: 30px minmax(0,1fr);
        gap: 9px;
        margin-top: 8px;
        padding: 0;
        border: 0;
        background: transparent;
    }
    .ydd-iss--guided-mobile .ydd-iss__case-task > span { width: 30px; height: 30px; border-radius: 10px; }
    .ydd-iss--guided-mobile .ydd-iss__case-task small { font-size: 7px; }
    .ydd-iss--guided-mobile .ydd-iss__case-task strong { margin-top: 1px; font-size: 10px; line-height: 1.25; }
    .ydd-iss--guided-mobile .ydd-iss__case-task p { display: none; }
    .ydd-iss--guided-mobile[data-case-phase="demo"] .ydd-iss__case-workspace {
        display: grid !important;
        min-height: 0;
        height: 100%;
        max-width: none !important;
        margin: 0 !important;
        padding: 0 !important;
    }
    .ydd-iss--guided-mobile[data-case-phase="demo"] .ydd-iss__case-browser {
        min-height: 0;
        height: 100%;
        overflow: hidden;
        border: 1px solid #d9dee8 !important;
        border-radius: 20px !important;
        background: #fff !important;
        box-shadow: 0 14px 36px rgba(16,24,40,.105) !important;
    }
    .ydd-iss--guided-mobile[data-case-phase="demo"] .ydd-iss__case-browser > .ydd-iss__browser-bar { display: none !important; }
    .ydd-iss--guided-mobile[data-case-phase="demo"] .ydd-iss__case-canvas {
        height: 100%;
        min-height: 0 !important;
        overflow-y: auto;
        overscroll-behavior: contain;
        background: #f7f9fc;
        scrollbar-width: thin;
    }
    .ydd-iss--guided-mobile[data-case-phase="demo"] .ydd-case-app { min-height: 100% !important; }
    .ydd-iss--guided-mobile[data-case-phase="demo"] .ydd-iss__case-controls,
    .ydd-iss--guided-mobile[data-case-phase="explain"] .ydd-iss__case-controls {
        position: static !important;
        z-index: auto;
        display: grid !important;
        grid-template-columns: 44px minmax(0,1fr);
        gap: 8px;
        width: 100%;
        max-width: none;
        margin: 0 !important;
        padding: 0 !important;
        border: 0 !important;
        border-radius: 0;
        background: transparent !important;
        box-shadow: none !important;
        backdrop-filter: none;
    }
    .ydd-iss--guided-mobile .ydd-iss__case-controls > .ydd-iss__mini-button {
        width: 44px;
        min-width: 44px;
        height: 50px;
        border-radius: 15px;
        background: #fff;
    }
    .ydd-iss--guided-mobile .ydd-iss__case-controls [data-case-action="next"] { min-height: 50px; border-radius: 15px; }

    /* Explanation replaces the live canvas in the same central area. */
    .ydd-iss--guided-mobile[data-case-phase="explain"] .ydd-iss__case-mobile-explanation {
        display: block !important;
        min-height: 0;
        max-width: none !important;
        margin: 0 !important;
        padding: 20px 18px !important;
        overflow-y: auto;
        border-radius: 20px !important;
        box-shadow: 0 14px 36px rgba(16,24,40,.085) !important;
        overscroll-behavior: contain;
    }
    .ydd-iss--guided-mobile[data-case-phase="explain"] .ydd-iss__case-mobile-explanation-icon { width: 43px; height: 43px; margin-bottom: 12px; font-size: 19px; }
    .ydd-iss--guided-mobile[data-case-phase="explain"] .ydd-iss__case-mobile-explanation h4 { margin-top: 9px; font-size: clamp(22px,5vw,30px); }
    .ydd-iss--guided-mobile[data-case-phase="explain"] .ydd-iss__case-mobile-explanation > p { margin-top: 10px; font-size: 12px; line-height: 1.55; }
    .ydd-iss--guided-mobile[data-case-phase="explain"] .ydd-iss__case-mobile-benefit { margin-top: 14px; padding: 14px; }
    .ydd-iss--guided-mobile[data-case-phase="explain"] .ydd-iss__case-mobile-benefit > div { gap: 7px; margin-top: 9px; }
    .ydd-iss--guided-mobile[data-case-phase="explain"] .ydd-iss__case-mobile-benefit p { font-size: 11px; line-height: 1.4; }

    /* Final screen prompts another in-place system or the project CTA. */
    .ydd-iss--guided-mobile[data-case-phase="complete"] .ydd-iss__mobile-demo-viewport {
        display: grid;
        place-items: center;
        padding: 18px;
        overflow-y: auto;
    }
    .ydd-iss--guided-mobile[data-case-phase="complete"] .ydd-iss__case-mobile-complete {
        display: block;
        width: min(100%, 620px);
        padding: 26px 22px;
        border: 1px solid rgba(16,185,129,.22);
        border-radius: 26px;
        background:
            radial-gradient(circle at 100% 0, rgba(109,93,252,.13), transparent 36%),
            linear-gradient(145deg, #fff, #f4fbf8);
        box-shadow: 0 22px 56px rgba(16,24,40,.11);
        text-align: center;
    }
    .ydd-iss--guided-mobile .ydd-iss__mobile-complete-icon {
        display: grid;
        place-items: center;
        width: 60px;
        height: 60px;
        margin: 0 auto 15px;
        border-radius: 20px;
        color: #fff;
        background: linear-gradient(135deg, #10b981, #0c9c72);
        box-shadow: 0 13px 28px rgba(16,185,129,.25);
        font-size: 27px;
        font-weight: 900;
    }
    .ydd-iss--guided-mobile .ydd-iss__case-mobile-complete h4 { margin: 12px 0 0; color: #101828; font-size: clamp(25px,5vw,35px); line-height: 1.08; letter-spacing: -.035em; }
    .ydd-iss--guided-mobile .ydd-iss__case-mobile-complete p { margin: 13px auto 0; max-width: 500px; color: #667085; font-size: 13px; line-height: 1.6; }
    .ydd-iss--guided-mobile .ydd-iss__mobile-complete-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 9px; margin-top: 22px; }
    .ydd-iss--guided-mobile .ydd-iss__mobile-complete-actions .ydd-iss__button { width: 100%; min-height: 50px; }

    /* Alternate demos reuse the existing interactive previews inside the same app. */
    .ydd-iss--guided-mobile[data-case-phase="system"] .ydd-iss__mobile-demo-viewport {
        display: block;
        padding: 9px 10px max(9px, env(safe-area-inset-bottom));
        overflow: hidden;
    }
    .ydd-iss--guided-mobile[data-case-phase="system"] .ydd-iss__case-mobile-system {
        display: grid;
        grid-template-rows: auto minmax(0,1fr) auto;
        gap: 8px;
        height: 100%;
        min-height: 0;
    }
    .ydd-iss--guided-mobile .ydd-iss__mobile-system-head {
        padding: 12px 14px;
        border: 1px solid #e0e4ec;
        border-radius: 17px;
        background: rgba(255,255,255,.95);
    }
    .ydd-iss--guided-mobile .ydd-iss__mobile-system-head h4 { margin: 6px 0 0; color: #101828; font-size: 20px; line-height: 1.1; }
    .ydd-iss--guided-mobile .ydd-iss__mobile-system-head p { margin: 6px 0 0; color: #667085; font-size: 10px; line-height: 1.45; }
    .ydd-iss--guided-mobile .ydd-iss__mobile-system-canvas {
        min-height: 0;
        overflow-y: auto;
        border: 1px solid #d9dee8;
        border-radius: 20px;
        background: #fff;
        box-shadow: 0 14px 36px rgba(16,24,40,.105);
        overscroll-behavior: contain;
        scrollbar-width: thin;
    }
    .ydd-iss--guided-mobile .ydd-iss__mobile-system-canvas > .ydd-demo { min-height: 100%; }
    .ydd-iss--guided-mobile .ydd-iss__mobile-system-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
    .ydd-iss--guided-mobile .ydd-iss__mobile-system-actions .ydd-iss__button { width: 100%; min-height: 50px; padding-inline: 12px; }

    /* In-screen system selector. */
    .ydd-iss--guided-mobile .ydd-iss__mobile-system-sheet {
        position: absolute;
        z-index: 100;
        inset: 0;
        display: block;
        pointer-events: none;
        opacity: 0;
        transition: opacity .2s ease;
    }
    .ydd-iss--guided-mobile .ydd-iss__mobile-system-sheet.is-open { pointer-events: auto; opacity: 1; }
    .ydd-iss--guided-mobile .ydd-iss__mobile-sheet-backdrop {
        position: absolute;
        inset: 0;
        width: 100%;
        height: 100%;
        padding: 0;
        border: 0;
        background: rgba(15,23,42,.54);
        backdrop-filter: blur(4px);
    }
    .ydd-iss--guided-mobile .ydd-iss__mobile-system-sheet-panel {
        position: absolute;
        right: 0;
        bottom: 0;
        left: 0;
        max-height: min(82dvh, 720px);
        padding: 20px 16px max(18px, env(safe-area-inset-bottom));
        overflow-y: auto;
        border-radius: 28px 28px 0 0;
        background: #fff;
        box-shadow: 0 -24px 70px rgba(16,24,40,.24);
        transform: translateY(102%);
        transition: transform .25s ease;
    }
    .ydd-iss--guided-mobile .ydd-iss__mobile-system-sheet.is-open .ydd-iss__mobile-system-sheet-panel { transform: translateY(0); }
    .ydd-iss--guided-mobile .ydd-iss__mobile-sheet-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 14px; }
    .ydd-iss--guided-mobile .ydd-iss__mobile-sheet-head h4 { margin: 8px 0 0; color: #101828; font-size: 25px; line-height: 1.08; letter-spacing: -.03em; }
    .ydd-iss--guided-mobile .ydd-iss__mobile-sheet-head > button {
        display: grid;
        place-items: center;
        width: 42px;
        height: 42px;
        flex: 0 0 auto;
        padding: 0;
        border: 1px solid #e2e6ed;
        border-radius: 14px;
        color: #475467;
        background: #f8fafc;
    }
    .ydd-iss--guided-mobile .ydd-iss__mobile-sheet-head > button svg,
    .ydd-iss--guided-mobile .ydd-iss__mobile-system-options > button > svg { width: 19px; height: 19px; fill: none; stroke: currentColor; stroke-width: 1.9; stroke-linecap: round; stroke-linejoin: round; }
    .ydd-iss--guided-mobile .ydd-iss__mobile-system-options { display: grid; gap: 9px; margin-top: 18px; }
    .ydd-iss--guided-mobile .ydd-iss__mobile-system-options > button {
        display: grid;
        grid-template-columns: 48px minmax(0,1fr) 22px;
        gap: 12px;
        align-items: center;
        width: 100%;
        min-height: 74px;
        padding: 11px 13px;
        border: 1px solid #e1e5ec;
        border-radius: 18px;
        color: #344054;
        background: linear-gradient(145deg, #fff, #fafbfe);
        text-align: left;
        cursor: pointer;
    }
    .ydd-iss--guided-mobile .ydd-iss__mobile-system-options > button.is-active { border-color: rgba(109,93,252,.45); background: rgba(109,93,252,.07); color: #4837ce; }
    .ydd-iss--guided-mobile .ydd-iss__mobile-system-option-icon {
        display: grid;
        place-items: center;
        width: 48px;
        height: 48px;
        border-radius: 15px;
        color: #fff;
        background: linear-gradient(135deg, #6d5dfc, #438ee8);
        box-shadow: 0 9px 20px rgba(109,93,252,.2);
    }
    .ydd-iss--guided-mobile .ydd-iss__mobile-system-option-icon svg { width: 24px; height: 24px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
    .ydd-iss--guided-mobile .ydd-iss__mobile-system-options strong,
    .ydd-iss--guided-mobile .ydd-iss__mobile-system-options small { display: block; }
    .ydd-iss--guided-mobile .ydd-iss__mobile-system-options strong { font-size: 12px; line-height: 1.25; }
    .ydd-iss--guided-mobile .ydd-iss__mobile-system-options small { margin-top: 4px; color: #98a2b3; font-size: 9px; line-height: 1.35; }

    /* Calendar-style first booking step. */
    .ydd-iss--guided-mobile .ydd-case-mobile-calendar {
        display: block;
        margin-top: 10px;
        padding: 12px;
        border: 1px solid #e1e5ec;
        border-radius: 18px;
        background: #fff;
        box-shadow: 0 8px 22px rgba(16,24,40,.045);
    }
    .ydd-iss--guided-mobile .ydd-case-mobile-calendar__head { display: grid; grid-template-columns: 34px 1fr 34px; align-items: center; gap: 8px; }
    .ydd-iss--guided-mobile .ydd-case-mobile-calendar__head strong { text-align: center; color: #1d2939; font-size: 12px; }
    .ydd-iss--guided-mobile .ydd-case-mobile-calendar__head button {
        display: grid;
        place-items: center;
        min-height: 34px !important;
        width: 34px;
        padding: 0;
        border: 1px solid #e3e7ee;
        border-radius: 11px;
        color: #667085;
        background: #f8fafc;
        font-size: 20px;
        cursor: default;
    }
    .ydd-iss--guided-mobile .ydd-case-mobile-calendar__weekdays,
    .ydd-iss--guided-mobile .ydd-case-mobile-calendar__days { display: grid; grid-template-columns: repeat(7, minmax(0,1fr)); gap: 4px; }
    .ydd-iss--guided-mobile .ydd-case-mobile-calendar__weekdays { margin-top: 10px; }
    .ydd-iss--guided-mobile .ydd-case-mobile-calendar__weekdays span { color: #98a2b3; font-size: 7px; font-weight: 850; text-align: center; text-transform: uppercase; }
    .ydd-iss--guided-mobile .ydd-case-mobile-calendar__days { margin-top: 5px; }
    .ydd-iss--guided-mobile .ydd-case-mobile-calendar__days > span,
    .ydd-iss--guided-mobile .ydd-case-mobile-calendar__days > button {
        display: grid;
        place-items: center;
        align-content: center;
        aspect-ratio: 1 / 1;
        min-height: 0 !important;
        padding: 2px;
        border: 1px solid transparent;
        border-radius: 10px;
        color: #667085;
        background: transparent;
    }
    .ydd-iss--guided-mobile .ydd-case-mobile-calendar__days .is-day b { font-size: 9px; font-weight: 750; }
    .ydd-iss--guided-mobile .ydd-case-mobile-calendar__days .is-available {
        color: #4e3ed8;
        border-color: rgba(109,93,252,.22);
        background: rgba(109,93,252,.07);
        cursor: pointer;
    }
    .ydd-iss--guided-mobile .ydd-case-mobile-calendar__days .is-available span { font-size: 10px; font-weight: 900; }
    .ydd-iss--guided-mobile .ydd-case-mobile-calendar__days .is-available small { margin-top: 1px; font-size: 5px; font-weight: 850; }
    .ydd-iss--guided-mobile .ydd-case-mobile-calendar__days .is-available.is-active {
        color: #fff;
        border-color: var(--demo-primary, #6d5dfc);
        background: linear-gradient(135deg, var(--demo-primary, #6d5dfc), color-mix(in srgb, var(--demo-primary, #6d5dfc) 72%, #438ee8));
        box-shadow: 0 7px 16px color-mix(in srgb, var(--demo-primary, #6d5dfc) 24%, transparent);
    }
    .ydd-iss--guided-mobile .ydd-case-dates { display: none !important; }
    .ydd-iss--guided-mobile .ydd-case-booking__grid > section:first-child { padding-bottom: 8px; }
    .ydd-iss--guided-mobile .ydd-case-packages { display: flex; gap: 7px; padding-bottom: 4px; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; }
    .ydd-iss--guided-mobile .ydd-case-packages::-webkit-scrollbar { display: none; }
    .ydd-iss--guided-mobile .ydd-case-package { min-width: min(245px, 78vw); scroll-snap-align: start; }
    .ydd-iss--guided-mobile .ydd-case-times { grid-template-columns: repeat(3, minmax(0,1fr)); }
    .ydd-iss--guided-mobile .ydd-case-booking__summary { grid-template-columns: minmax(0,1fr); }
    .ydd-iss--guided-mobile .ydd-case-booking__summary button { width: 100%; }

    /* The role pill now uses real SVG symbols rather than an empty/broken glyph. */
    .ydd-iss--guided-mobile .ydd-case-app__role {
        max-width: 46%;
        padding: 6px 8px;
        gap: 6px;
        overflow: hidden;
    }
    .ydd-iss--guided-mobile .ydd-case-app__role > span:last-child { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
    .ydd-iss--guided-mobile .ydd-case-app__role-icon { width: 20px; height: 20px; }
    .ydd-iss--guided-mobile .ydd-case-app__role-icon svg { width: 13px; height: 13px; }

    /* Hide all inactive panels explicitly so the viewport never stacks sections. */
    .ydd-iss--guided-mobile[data-case-phase="setup"] .ydd-iss__case-guide,
    .ydd-iss--guided-mobile[data-case-phase="setup"] .ydd-iss__case-workspace,
    .ydd-iss--guided-mobile[data-case-phase="setup"] .ydd-iss__case-mobile-explanation,
    .ydd-iss--guided-mobile[data-case-phase="setup"] .ydd-iss__case-mobile-system,
    .ydd-iss--guided-mobile[data-case-phase="setup"] .ydd-iss__case-mobile-complete,
    .ydd-iss--guided-mobile[data-case-phase="setup"] .ydd-iss__case-controls,
    .ydd-iss--guided-mobile[data-case-phase="setup"] .ydd-iss__case-finish-cta,
    .ydd-iss--guided-mobile[data-case-phase="demo"] .ydd-iss__case-mobile-intro,
    .ydd-iss--guided-mobile[data-case-phase="demo"] .ydd-iss__case-personalizer,
    .ydd-iss--guided-mobile[data-case-phase="demo"] .ydd-iss__case-mobile-start,
    .ydd-iss--guided-mobile[data-case-phase="demo"] .ydd-iss__case-mobile-explanation,
    .ydd-iss--guided-mobile[data-case-phase="demo"] .ydd-iss__case-mobile-system,
    .ydd-iss--guided-mobile[data-case-phase="demo"] .ydd-iss__case-mobile-complete,
    .ydd-iss--guided-mobile[data-case-phase="demo"] .ydd-iss__case-finish-cta,
    .ydd-iss--guided-mobile[data-case-phase="explain"] .ydd-iss__case-mobile-intro,
    .ydd-iss--guided-mobile[data-case-phase="explain"] .ydd-iss__case-personalizer,
    .ydd-iss--guided-mobile[data-case-phase="explain"] .ydd-iss__case-mobile-start,
    .ydd-iss--guided-mobile[data-case-phase="explain"] .ydd-iss__case-workspace,
    .ydd-iss--guided-mobile[data-case-phase="explain"] .ydd-iss__case-mobile-system,
    .ydd-iss--guided-mobile[data-case-phase="explain"] .ydd-iss__case-mobile-complete,
    .ydd-iss--guided-mobile[data-case-phase="explain"] .ydd-iss__case-finish-cta,
    .ydd-iss--guided-mobile[data-case-phase="complete"] .ydd-iss__case-mobile-intro,
    .ydd-iss--guided-mobile[data-case-phase="complete"] .ydd-iss__case-personalizer,
    .ydd-iss--guided-mobile[data-case-phase="complete"] .ydd-iss__case-mobile-start,
    .ydd-iss--guided-mobile[data-case-phase="complete"] .ydd-iss__case-guide,
    .ydd-iss--guided-mobile[data-case-phase="complete"] .ydd-iss__case-workspace,
    .ydd-iss--guided-mobile[data-case-phase="complete"] .ydd-iss__case-mobile-explanation,
    .ydd-iss--guided-mobile[data-case-phase="complete"] .ydd-iss__case-mobile-system,
    .ydd-iss--guided-mobile[data-case-phase="complete"] .ydd-iss__case-controls,
    .ydd-iss--guided-mobile[data-case-phase="complete"] .ydd-iss__case-finish-cta,
    .ydd-iss--guided-mobile[data-case-phase="system"] .ydd-iss__case-mobile-intro,
    .ydd-iss--guided-mobile[data-case-phase="system"] .ydd-iss__case-personalizer,
    .ydd-iss--guided-mobile[data-case-phase="system"] .ydd-iss__case-mobile-start,
    .ydd-iss--guided-mobile[data-case-phase="system"] .ydd-iss__case-guide,
    .ydd-iss--guided-mobile[data-case-phase="system"] .ydd-iss__case-workspace,
    .ydd-iss--guided-mobile[data-case-phase="system"] .ydd-iss__case-mobile-explanation,
    .ydd-iss--guided-mobile[data-case-phase="system"] .ydd-iss__case-mobile-complete,
    .ydd-iss--guided-mobile[data-case-phase="system"] .ydd-iss__case-controls,
    .ydd-iss--guided-mobile[data-case-phase="system"] .ydd-iss__case-finish-cta { display: none !important; }
}

@media (max-width: 560px) {
    .ydd-iss--guided-mobile .ydd-iss__mobile-demo-bar { min-height: 62px; padding-inline: 10px; }
    .ydd-iss--guided-mobile .ydd-iss__mobile-demo-brand > span { width: 34px; height: 34px; border-radius: 11px; }
    .ydd-iss--guided-mobile .ydd-iss__mobile-demo-brand small { display: none; }
    .ydd-iss--guided-mobile .ydd-iss__mobile-demo-switch { min-height: 38px; padding-inline: 9px; }
    .ydd-iss--guided-mobile[data-case-phase="setup"] .ydd-iss__case-mobile-intro-grid { grid-template-columns: 1fr; }
    .ydd-iss--guided-mobile[data-case-phase="setup"] .ydd-iss__case-mobile-mode { max-width: none; min-height: 0; }
    .ydd-iss--guided-mobile[data-case-phase="setup"] .ydd-iss__case-personalizer .ydd-iss__case-fields,
    .ydd-iss--guided-mobile[data-case-phase="setup"] .ydd-iss__case-mobile-look-fields { grid-template-columns: repeat(2, minmax(0,1fr)) !important; }
    .ydd-iss--guided-mobile .ydd-iss__mobile-complete-actions,
    .ydd-iss--guided-mobile .ydd-iss__mobile-system-actions { grid-template-columns: 1fr; }
    .ydd-iss--guided-mobile .ydd-iss__case-mobile-complete { padding: 22px 18px; }
    .ydd-iss--guided-mobile .ydd-case-app__top { padding: 10px 11px; }
    .ydd-iss--guided-mobile .ydd-case-app__brand small { display: none; }
}

@media (max-width: 380px) {
    .ydd-iss--guided-mobile .ydd-iss__mobile-demo-switch span { display: none; }
    .ydd-iss--guided-mobile .ydd-iss__mobile-demo-switch { width: 40px; padding: 0; }
    .ydd-iss--guided-mobile[data-case-phase="setup"] .ydd-iss__case-personalizer .ydd-iss__case-fields { grid-template-columns: 1fr !important; }
    .ydd-iss--guided-mobile .ydd-case-mobile-calendar { padding: 9px; }
    .ydd-iss--guided-mobile .ydd-case-mobile-calendar__weekdays,
    .ydd-iss--guided-mobile .ydd-case-mobile-calendar__days { gap: 2px; }
}

@media (max-width: 1024px) {
    /* Put the actual calendar first in the booking step so the interaction is
       immediately obvious, while retaining package selection below it. */
    .ydd-iss--guided-mobile .ydd-case-booking__hero {
        align-items: center !important;
        flex-direction: row !important;
        gap: 10px;
        padding: 13px 14px 10px !important;
    }
    .ydd-iss--guided-mobile .ydd-case-booking__hero h2 {
        margin-top: 4px;
        font-size: 20px !important;
        line-height: 1.05;
    }
    .ydd-iss--guided-mobile .ydd-case-booking__hero p { margin-top: 4px; font-size: 9px; }
    .ydd-iss--guided-mobile .ydd-case-customer { padding: 6px 8px; gap: 7px; }
    .ydd-iss--guided-mobile .ydd-case-customer > span { width: 28px; height: 28px; }
    .ydd-iss--guided-mobile .ydd-case-customer small { display: none; }
    .ydd-iss--guided-mobile .ydd-case-booking__grid {
        display: flex !important;
        flex-direction: column;
        gap: 9px !important;
        padding: 0 12px 14px !important;
    }
    .ydd-iss--guided-mobile .ydd-case-booking__grid > section { padding: 13px !important; }
    .ydd-iss--guided-mobile .ydd-case-booking__grid > section:nth-child(2) { order: 1; }
    .ydd-iss--guided-mobile .ydd-case-booking__grid > section:first-child { order: 2; }
    .ydd-iss--guided-mobile .ydd-case-panel-title h3,
    .ydd-iss--guided-mobile .ydd-case-booking__grid h3 { font-size: 13px !important; }
    .ydd-iss--guided-mobile .ydd-case-package { min-height: 64px !important; padding: 10px !important; }
}


/* ========================================================================== 
   v1.7.0 · One-screen immersive experience on every device
   The entire studio is mounted directly under <body> by JavaScript so theme
   transforms, sticky headers, and floating CTAs cannot trap or cover it.
   ========================================================================== */
html.ydd-iss-mobile-demo-open,
body.ydd-iss-mobile-demo-open {
    width: 100% !important;
    height: 100% !important;
    overflow: hidden !important;
    overscroll-behavior: none !important;
}

body > .ydd-iss.ydd-iss--immersive {
    position: fixed !important;
    z-index: 2147483647 !important;
    inset: 0 !important;
    width: var(--ydd-viewport-width, 100vw) !important;
    max-width: none !important;
    height: var(--ydd-viewport-height, 100dvh) !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    isolation: isolate;
    background: #f3f5fa !important;
    transform: none !important;
    contain: layout paint style;
}

.ydd-iss--immersive > .ydd-iss__ambient,
.ydd-iss--immersive > .ydd-iss__toast { display: none !important; }

.ydd-iss--immersive .ydd-iss__shell {
    width: 100% !important;
    max-width: none !important;
    height: 100% !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
}

.ydd-iss--immersive .ydd-iss__shell > *:not(.ydd-iss__case-study) { display: none !important; }

.ydd-iss--immersive .ydd-iss__case-study {
    position: absolute !important;
    z-index: 1 !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}

.ydd-iss--immersive .ydd-iss__case-mobile-shell {
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
}

.ydd-iss--immersive .ydd-iss__mobile-demo-bar {
    padding-top: max(10px, env(safe-area-inset-top)) !important;
}

.ydd-iss--immersive[data-case-phase="setup"] .ydd-iss__case-mobile-start {
    z-index: 2147483646 !important;
}

/* Setup must fit inside the screen. The button is always visible and no page
   or panel scroll is required to reach it. */
.ydd-iss--immersive[data-case-phase="setup"] .ydd-iss__mobile-demo-viewport {
    overflow: hidden !important;
}

@media (min-width: 1025px) {
    .ydd-iss--immersive .ydd-iss__mobile-demo-bar {
        min-height: 72px;
        padding: 12px 24px !important;
    }
    .ydd-iss--immersive .ydd-iss__mobile-demo-brand > span {
        width: 42px;
        height: 42px;
        border-radius: 13px;
        font-size: 11px;
    }
    .ydd-iss--immersive .ydd-iss__mobile-demo-brand strong { font-size: 14px; }
    .ydd-iss--immersive .ydd-iss__mobile-demo-brand small { font-size: 10px; }
    .ydd-iss--immersive .ydd-iss__mobile-demo-switch {
        min-height: 44px;
        padding-inline: 16px;
        font-size: 12px;
    }

    .ydd-iss--immersive[data-case-phase="setup"] .ydd-iss__mobile-demo-viewport {
        display: grid !important;
        grid-template-columns: minmax(320px, .82fr) minmax(560px, 1.28fr);
        grid-template-rows: minmax(0, 1fr);
        gap: clamp(20px, 3vw, 46px);
        align-items: center;
        padding: clamp(22px, 3vw, 46px) clamp(28px, 5vw, 86px) 106px !important;
    }
    .ydd-iss--immersive[data-case-phase="setup"] .ydd-iss__case-mobile-intro {
        align-self: stretch;
        display: grid !important;
        align-content: center;
        max-width: none !important;
        margin: 0 !important;
        padding: clamp(28px, 3vw, 52px) !important;
        border-radius: 30px !important;
    }
    .ydd-iss--immersive[data-case-phase="setup"] .ydd-iss__case-mobile-intro-grid {
        grid-template-columns: 1fr !important;
        gap: 22px;
        margin: 0;
    }
    .ydd-iss--immersive[data-case-phase="setup"] .ydd-iss__case-mobile-intro h4 {
        max-width: 620px;
        font-size: clamp(34px, 4.2vw, 64px);
    }
    .ydd-iss--immersive[data-case-phase="setup"] .ydd-iss__case-mobile-intro p {
        max-width: 620px;
        font-size: clamp(14px, 1.2vw, 18px);
        line-height: 1.65;
    }
    .ydd-iss--immersive[data-case-phase="setup"] .ydd-iss__case-mobile-mode {
        max-width: 430px;
        min-height: 68px;
        padding: 14px 16px;
    }
    .ydd-iss--immersive[data-case-phase="setup"] .ydd-iss__case-mobile-mode b { font-size: 13px; }

    .ydd-iss--immersive[data-case-phase="setup"] .ydd-iss__case-personalizer {
        align-self: center;
        max-width: 820px !important;
        max-height: calc(var(--ydd-viewport-height, 100dvh) - 190px);
        margin: 0 !important;
        padding: clamp(20px, 2vw, 30px) !important;
        gap: 18px !important;
        overflow: hidden;
        border-radius: 28px !important;
    }
    .ydd-iss--immersive[data-case-phase="setup"] .ydd-iss__case-personalizer-copy > span {
        width: 48px;
        height: 48px;
    }
    .ydd-iss--immersive[data-case-phase="setup"] .ydd-iss__case-personalizer-copy strong { font-size: 16px; }
    .ydd-iss--immersive[data-case-phase="setup"] .ydd-iss__case-personalizer-copy small { font-size: 11px; }
    .ydd-iss--immersive[data-case-phase="setup"] .ydd-iss__case-personalizer .ydd-iss__case-fields {
        gap: 14px !important;
    }
    .ydd-iss--immersive[data-case-phase="setup"] .ydd-iss__case-fields label > span { font-size: 11px; }
    .ydd-iss--immersive[data-case-phase="setup"] .ydd-iss__case-fields input:not([type="color"]),
    .ydd-iss--immersive[data-case-phase="setup"] .ydd-iss__case-fields select {
        min-height: 54px;
        font-size: 16px;
    }
    .ydd-iss--immersive[data-case-phase="setup"] .ydd-iss__case-mobile-look-fields input[type="color"] { height: 48px; }
    .ydd-iss--immersive[data-case-phase="setup"] .ydd-iss__case-mobile-start {
        right: auto !important;
        bottom: 20px !important;
        left: 50% !important;
        width: min(560px, calc(100vw - 48px));
        max-width: none !important;
        transform: translateX(-50%);
    }

    .ydd-iss--immersive[data-case-phase="demo"] .ydd-iss__mobile-demo-viewport,
    .ydd-iss--immersive[data-case-phase="explain"] .ydd-iss__mobile-demo-viewport {
        gap: 14px;
        padding: 14px clamp(22px, 3vw, 50px) 16px !important;
    }
    .ydd-iss--immersive[data-case-phase="demo"] .ydd-iss__case-guide,
    .ydd-iss--immersive[data-case-phase="explain"] .ydd-iss__case-guide {
        max-width: 1440px;
        width: 100%;
        margin-inline: auto !important;
        padding: 12px 16px !important;
    }
    .ydd-iss--immersive .ydd-iss__case-task {
        grid-template-columns: 34px minmax(0,1fr);
    }
    .ydd-iss--immersive .ydd-iss__case-task strong { font-size: 12px; }
    .ydd-iss--immersive[data-case-phase="demo"] .ydd-iss__case-workspace {
        width: min(1440px, 100%);
        margin-inline: auto !important;
    }
    .ydd-iss--immersive[data-case-phase="demo"] .ydd-iss__case-browser { border-radius: 24px !important; }
    .ydd-iss--immersive[data-case-phase="demo"] .ydd-iss__case-canvas { overflow: hidden; }
    .ydd-iss--immersive[data-case-phase="demo"] .ydd-case-app {
        height: 100%;
        overflow-y: auto;
    }
    .ydd-iss--immersive[data-case-phase="demo"] .ydd-iss__case-controls,
    .ydd-iss--immersive[data-case-phase="explain"] .ydd-iss__case-controls {
        width: min(760px, 100%);
        margin-inline: auto !important;
    }
    .ydd-iss--immersive[data-case-phase="explain"] .ydd-iss__case-mobile-explanation {
        width: min(920px, 100%);
        margin-inline: auto !important;
        padding: clamp(28px, 3vw, 48px) !important;
    }
    .ydd-iss--immersive[data-case-phase="complete"] .ydd-iss__case-mobile-complete {
        max-width: 820px;
        padding: clamp(40px, 5vw, 74px);
    }
    .ydd-iss--immersive[data-case-phase="system"] .ydd-iss__case-mobile-system {
        width: min(1440px, 100%);
        margin-inline: auto;
    }
    .ydd-iss--immersive .ydd-iss__mobile-system-canvas { width: 100%; max-width: none; }
    .ydd-iss--immersive .ydd-iss__mobile-system-sheet-panel {
        top: 50%;
        right: 50%;
        bottom: auto;
        left: auto;
        width: min(760px, calc(100vw - 48px));
        max-height: min(82dvh, 760px);
        border-radius: 30px;
        transform: translate(50%, calc(-50% + 28px)) scale(.97);
        opacity: 0;
    }
    .ydd-iss--immersive .ydd-iss__mobile-system-sheet.is-open .ydd-iss__mobile-system-sheet-panel {
        transform: translate(50%, -50%) scale(1);
        opacity: 1;
    }
    .ydd-iss--immersive .ydd-iss__mobile-system-options {
        grid-template-columns: repeat(2, minmax(0,1fr));
    }
}

@media (max-width: 1024px) {
    .ydd-iss--immersive[data-case-phase="setup"] .ydd-iss__mobile-demo-viewport {
        display: grid !important;
        grid-template-rows: auto minmax(0,1fr);
        gap: 8px;
        padding: 9px 10px calc(78px + env(safe-area-inset-bottom)) !important;
    }
    .ydd-iss--immersive[data-case-phase="setup"] .ydd-iss__case-mobile-intro {
        max-width: 760px;
        width: 100%;
        margin: 0 auto !important;
        padding: 13px 15px !important;
    }
    .ydd-iss--immersive[data-case-phase="setup"] .ydd-iss__case-mobile-intro-grid {
        grid-template-columns: minmax(0,1fr) auto;
        gap: 10px;
        margin-top: 4px;
    }
    .ydd-iss--immersive[data-case-phase="setup"] .ydd-iss__case-mobile-intro h4 { font-size: clamp(18px, 4.2vw, 25px); }
    .ydd-iss--immersive[data-case-phase="setup"] .ydd-iss__case-mobile-intro p {
        margin-top: 5px;
        font-size: 10px;
        line-height: 1.4;
    }
    .ydd-iss--immersive[data-case-phase="setup"] .ydd-iss__case-mobile-mode {
        min-height: 42px;
        max-width: 205px;
        padding: 8px 10px;
    }
    .ydd-iss--immersive[data-case-phase="setup"] .ydd-iss__case-mobile-mode svg { width: 20px; height: 20px; }
    .ydd-iss--immersive[data-case-phase="setup"] .ydd-iss__case-mobile-mode b { font-size: 9px; }
    .ydd-iss--immersive[data-case-phase="setup"] .ydd-iss__case-personalizer {
        align-self: stretch;
        min-height: 0;
        max-width: 760px;
        width: 100%;
        margin: 0 auto !important;
        padding: 11px !important;
        gap: 8px !important;
        overflow: hidden;
    }
    .ydd-iss--immersive[data-case-phase="setup"] .ydd-iss__case-personalizer-copy > span { width: 32px; height: 32px; }
    .ydd-iss--immersive[data-case-phase="setup"] .ydd-iss__case-personalizer-copy strong { font-size: 10px; }
    .ydd-iss--immersive[data-case-phase="setup"] .ydd-iss__case-personalizer-copy small { font-size: 7px; }
    .ydd-iss--immersive[data-case-phase="setup"] .ydd-iss__case-personalizer .ydd-iss__case-fields {
        align-content: start;
        gap: 6px !important;
    }
    .ydd-iss--immersive[data-case-phase="setup"] .ydd-iss__case-fields label > span {
        margin-bottom: 4px;
        font-size: 8px;
    }
    .ydd-iss--immersive[data-case-phase="setup"] .ydd-iss__case-fields input:not([type="color"]),
    .ydd-iss--immersive[data-case-phase="setup"] .ydd-iss__case-fields select {
        min-height: 38px;
        padding-inline: 9px;
        border-radius: 10px;
        font-size: 12px;
    }
    .ydd-iss--immersive[data-case-phase="setup"] .ydd-iss__case-mobile-look-fields {
        gap: 6px !important;
    }
    .ydd-iss--immersive[data-case-phase="setup"] .ydd-iss__case-mobile-look-fields label {
        padding: 7px;
        border-radius: 11px;
    }
    .ydd-iss--immersive[data-case-phase="setup"] .ydd-iss__case-mobile-look-fields input[type="color"] { height: 30px; }
    .ydd-iss--immersive[data-case-phase="setup"] .ydd-iss__case-mobile-start {
        right: 8px !important;
        bottom: max(7px, env(safe-area-inset-bottom)) !important;
        left: 8px !important;
        width: auto;
        padding: 6px;
        border-radius: 15px;
    }
    .ydd-iss--immersive[data-case-phase="setup"] .ydd-iss__case-mobile-start .ydd-iss__button { min-height: 48px; }
}

@media (max-width: 560px) {
    .ydd-iss--immersive .ydd-iss__mobile-demo-bar {
        min-height: 56px;
        padding: max(7px, env(safe-area-inset-top)) 9px 7px !important;
    }
    .ydd-iss--immersive .ydd-iss__mobile-demo-brand > span { width: 32px; height: 32px; }
    .ydd-iss--immersive .ydd-iss__mobile-demo-brand strong { font-size: 10px; }
    .ydd-iss--immersive .ydd-iss__mobile-demo-switch { min-height: 36px; }
    .ydd-iss--immersive[data-case-phase="setup"] .ydd-iss__case-mobile-intro-grid {
        grid-template-columns: 1fr auto !important;
    }
    .ydd-iss--immersive[data-case-phase="setup"] .ydd-iss__case-mobile-mode {
        width: 38px;
        min-width: 38px;
        padding: 0;
        justify-content: center;
    }
    .ydd-iss--immersive[data-case-phase="setup"] .ydd-iss__case-mobile-mode b { display: none; }
    .ydd-iss--immersive[data-case-phase="setup"] .ydd-iss__case-personalizer .ydd-iss__case-fields {
        grid-template-columns: repeat(2, minmax(0,1fr)) !important;
    }
}

@media (max-width: 390px), (max-height: 680px) and (max-width: 720px) {
    .ydd-iss--immersive[data-case-phase="setup"] .ydd-iss__case-mobile-intro .ydd-iss__section-label,
    .ydd-iss--immersive[data-case-phase="setup"] .ydd-iss__case-mobile-intro p { display: none !important; }
    .ydd-iss--immersive[data-case-phase="setup"] .ydd-iss__case-mobile-intro { padding-block: 9px !important; }
    .ydd-iss--immersive[data-case-phase="setup"] .ydd-iss__case-mobile-intro h4 { font-size: 16px; }
    .ydd-iss--immersive[data-case-phase="setup"] .ydd-iss__case-personalizer-copy small { display: none; }
    .ydd-iss--immersive[data-case-phase="setup"] .ydd-iss__case-fields input:not([type="color"]),
    .ydd-iss--immersive[data-case-phase="setup"] .ydd-iss__case-fields select { min-height: 35px; }
}

/* Keep the setup card content grouped together instead of stretching its two
   grid rows across the full remaining viewport height. */
@media (max-width: 1024px) {
    .ydd-iss--immersive[data-case-phase="setup"] .ydd-iss__case-personalizer {
        grid-auto-rows: max-content;
        align-content: center;
    }
}

@media (max-width: 1024px) {
    .ydd-iss--immersive[data-case-phase="setup"] .ydd-iss__mobile-demo-viewport {
        grid-template-rows: max-content max-content;
        align-content: center;
    }
    .ydd-iss--immersive[data-case-phase="setup"] .ydd-iss__case-personalizer {
        align-self: auto;
    }
}

/* Desktop inherits the same guided components that were originally introduced
   inside the compact breakpoint. Re-declare their structural styling here so
   every screen size receives the complete component, not only its overrides. */
.ydd-iss--immersive .ydd-iss__case-journey,
.ydd-iss--immersive .ydd-iss__case-proof,
.ydd-iss--immersive .ydd-iss__case-finish-cta { display: none !important; }

.ydd-iss--immersive .ydd-iss__case-mobile-intro {
    overflow: hidden;
    border: 1px solid rgba(109,93,252,.2);
    background:
        radial-gradient(circle at 100% 0, rgba(16,185,129,.14), transparent 35%),
        linear-gradient(145deg, #ffffff, #f7f7ff);
    box-shadow: 0 16px 42px rgba(16,24,40,.075);
}
.ydd-iss--immersive .ydd-iss__case-mobile-intro-grid { display: grid; align-items: center; }
.ydd-iss--immersive .ydd-iss__case-mobile-intro h4 {
    margin: 0;
    color: #101828;
    line-height: 1.08;
    letter-spacing: -.035em;
}
.ydd-iss--immersive .ydd-iss__case-mobile-intro p { color: #667085; }
.ydd-iss--immersive .ydd-iss__case-mobile-mode {
    display: flex;
    align-items: center;
    gap: 12px;
    border: 1px solid rgba(109,93,252,.15);
    border-radius: 18px;
    color: #4032bd;
    background: rgba(109,93,252,.075);
}
.ydd-iss--immersive .ydd-iss__case-mobile-mode svg {
    width: 26px;
    height: 26px;
    flex: 0 0 auto;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}
.ydd-iss--immersive .ydd-iss__case-mobile-mode b { line-height: 1.45; }

.ydd-iss--immersive[data-case-phase="setup"] .ydd-iss__case-personalizer {
    grid-template-columns: 1fr !important;
}
.ydd-iss--immersive[data-case-phase="setup"] .ydd-iss__case-personalizer-copy {
    width: 100%;
    padding-right: 0;
    cursor: default;
}
.ydd-iss--immersive[data-case-phase="setup"] .ydd-iss__case-personalizer-copy::after { display: none !important; }
.ydd-iss--immersive[data-case-phase="setup"] .ydd-iss__case-mobile-look-fields {
    grid-column: 1 / -1;
}
.ydd-iss--immersive[data-case-phase="setup"] .ydd-iss__case-fields select {
    width: 100%;
    padding: 0 12px;
    border: 1px solid #dfe3ea;
    border-radius: 11px;
    outline: none;
    color: #1d2939;
    background: #fbfcfe;
    font-weight: 700;
}
.ydd-iss--immersive[data-case-phase="setup"] .ydd-iss__case-style-field { grid-column: 1 / -1; }

@media (min-width: 1025px) {
    .ydd-iss--immersive[data-case-phase="setup"] .ydd-iss__case-personalizer {
        grid-auto-rows: max-content;
        align-content: center;
    }
    .ydd-iss--immersive[data-case-phase="setup"] .ydd-iss__case-personalizer .ydd-iss__case-fields {
        grid-template-columns: repeat(2, minmax(0,1fr)) !important;
    }
    .ydd-iss--immersive[data-case-phase="setup"] .ydd-iss__case-mobile-look-fields {
        grid-template-columns: repeat(2, minmax(0,1fr)) !important;
    }
}

@media (min-width: 1025px) {
    .ydd-iss--immersive[data-case-phase="demo"] .ydd-iss__case-workspace {
        grid-template-columns: minmax(0,1fr) !important;
    }
    .ydd-iss--immersive[data-case-phase="demo"] .ydd-iss__case-browser {
        width: 100%;
    }
    .ydd-iss--immersive[data-case-phase="demo"] .ydd-iss__case-controls,
    .ydd-iss--immersive[data-case-phase="explain"] .ydd-iss__case-controls {
        grid-template-columns: auto minmax(0,1fr);
    }
    .ydd-iss--immersive .ydd-iss__case-controls > .ydd-iss__mini-button {
        width: auto;
        min-width: 128px;
        padding: 0 16px;
        gap: 8px;
    }
    .ydd-iss--immersive .ydd-iss__case-controls > div {
        display: grid;
        grid-template-columns: minmax(130px,.8fr) minmax(150px,1fr);
        gap: 10px;
    }
    .ydd-iss--immersive .ydd-iss__case-controls > div .ydd-iss__button { width: 100%; }
}

/* A compact preview of the journey uses the remaining setup space instead of
   leaving an empty panel. */
.ydd-iss--immersive .ydd-iss__case-setup-preview {
    display: grid;
    align-content: center;
    gap: 10px;
    min-height: 0;
    padding: 13px;
    border: 1px solid rgba(109,93,252,.13);
    border-radius: 16px;
    background:
        radial-gradient(circle at 100% 0, rgba(16,185,129,.12), transparent 42%),
        linear-gradient(145deg, rgba(109,93,252,.055), rgba(255,255,255,.86));
}
.ydd-iss--immersive .ydd-iss__case-setup-preview > span {
    color: #6b7280;
    font-size: 8px;
    font-weight: 850;
    letter-spacing: .1em;
    text-transform: uppercase;
}
.ydd-iss--immersive .ydd-iss__case-setup-preview > div {
    display: grid;
    grid-template-columns: repeat(3, minmax(0,1fr));
    gap: 8px;
}
.ydd-iss--immersive .ydd-iss__case-setup-preview article {
    display: flex;
    align-items: center;
    gap: 8px;
    min-width: 0;
    padding: 9px;
    border: 1px solid rgba(222,226,235,.95);
    border-radius: 13px;
    background: rgba(255,255,255,.86);
}
.ydd-iss--immersive .ydd-iss__case-setup-preview article > b {
    display: grid;
    place-items: center;
    width: 28px;
    height: 28px;
    flex: 0 0 auto;
    border-radius: 9px;
    color: #fff;
    background: linear-gradient(135deg, #6d5dfc, #19a7c7);
    font-size: 8px;
}
.ydd-iss--immersive .ydd-iss__case-setup-preview p { min-width: 0; margin: 0; }
.ydd-iss--immersive .ydd-iss__case-setup-preview strong,
.ydd-iss--immersive .ydd-iss__case-setup-preview small {
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.ydd-iss--immersive .ydd-iss__case-setup-preview strong { color: #344054; font-size: 9px; }
.ydd-iss--immersive .ydd-iss__case-setup-preview small { margin-top: 2px; color: #98a2b3; font-size: 7px; }

@media (max-width: 1024px) {
    .ydd-iss--immersive[data-case-phase="setup"] .ydd-iss__mobile-demo-viewport {
        grid-template-rows: auto minmax(0,1fr);
        align-content: stretch;
    }
    .ydd-iss--immersive[data-case-phase="setup"] .ydd-iss__case-personalizer {
        align-self: stretch;
        grid-template-rows: max-content max-content minmax(72px,1fr);
        align-content: stretch;
    }
}

@media (max-width: 350px), (max-height: 700px) and (max-width: 720px) {
    .ydd-iss--immersive .ydd-iss__case-setup-preview { display: none; }
    .ydd-iss--immersive[data-case-phase="setup"] .ydd-iss__case-personalizer {
        grid-template-rows: max-content max-content;
        align-content: center;
    }
}

@media (min-width: 1025px) {
    .ydd-iss--immersive .ydd-iss__case-setup-preview { min-height: 112px; }
    .ydd-iss--immersive .ydd-iss__case-setup-preview > span { font-size: 9px; }
    .ydd-iss--immersive .ydd-iss__case-setup-preview strong { font-size: 11px; }
    .ydd-iss--immersive .ydd-iss__case-setup-preview small { font-size: 8px; }
}

@media (max-width: 560px) {
    .ydd-iss--immersive .ydd-iss__case-setup-preview article { gap: 5px; padding: 6px; }
    .ydd-iss--immersive .ydd-iss__case-setup-preview article > b { width: 24px; height: 24px; border-radius: 8px; }
    .ydd-iss--immersive .ydd-iss__case-setup-preview strong { font-size: 8px; }
    .ydd-iss--immersive .ydd-iss__case-setup-preview small { font-size: 6px; }
}

/* ========================================================================== 
   v1.8.0 · Readable, non-scrolling demonstration and polished explanations
   ========================================================================== */

/* Keep Safari from enlarging text inputs and shifting the fixed studio while
   the software keyboard is open. */
.ydd-iss--immersive {
    -webkit-text-size-adjust: 100%;
    text-size-adjust: 100%;
    touch-action: manipulation;
}
.ydd-iss--immersive input,
.ydd-iss--immersive select,
.ydd-iss--immersive textarea {
    font-size: 16px !important;
}
.ydd-iss--immersive.ydd-iss--field-focused {
    width: var(--ydd-viewport-width, 100vw) !important;
    height: var(--ydd-viewport-height, 100dvh) !important;
    transform: none !important;
}

/* Selected package cards retain a complete outline on every edge. The inset
   ring avoids the top edge being clipped by a horizontally scrolling row. */
.ydd-iss--immersive .ydd-case-packages {
    padding: 4px 3px 5px !important;
}
.ydd-iss--immersive .ydd-case-package {
    position: relative;
    box-sizing: border-box;
    overflow: visible;
}
.ydd-iss--immersive .ydd-case-package.is-active {
    border-color: transparent !important;
    box-shadow:
        inset 0 0 0 2px var(--demo-primary, #6d5dfc),
        0 7px 20px color-mix(in srgb, var(--demo-primary, #6d5dfc) 16%, transparent) !important;
}

/* The guided experience never exposes a nested scrollbar. Each stage is
   composed to fit the available central canvas. */
.ydd-iss--immersive[data-case-phase="demo"] .ydd-iss__case-canvas,
.ydd-iss--immersive[data-case-phase="system"] .ydd-iss__mobile-system-canvas {
    overflow: hidden !important;
    scrollbar-width: none !important;
}
.ydd-iss--immersive[data-case-phase="demo"] .ydd-iss__case-canvas::-webkit-scrollbar,
.ydd-iss--immersive[data-case-phase="system"] .ydd-iss__mobile-system-canvas::-webkit-scrollbar {
    display: none !important;
}
.ydd-iss--immersive[data-case-phase="demo"] .ydd-case-app,
.ydd-iss--immersive[data-case-phase="system"] .ydd-iss__mobile-system-canvas > .ydd-demo {
    width: 100%;
    height: 100% !important;
    min-height: 0 !important;
    overflow: hidden !important;
}

/* Booking layout: reserve copy and action occupy separate, guaranteed space. */
.ydd-iss--immersive .ydd-case-booking {
    display: grid;
    grid-template-rows: auto auto minmax(0, 1fr) auto;
}
.ydd-iss--immersive .ydd-case-booking__grid,
.ydd-iss--immersive .ydd-case-booking__grid > section {
    min-height: 0;
}
.ydd-iss--immersive .ydd-case-booking__grid > section:nth-child(2) {
    display: grid;
    grid-template-rows: auto minmax(0, 1fr) auto auto;
    align-content: stretch;
}
.ydd-iss--immersive .ydd-case-booking__summary {
    position: relative;
    z-index: 1;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(190px, auto) !important;
    align-items: center !important;
    gap: 14px !important;
    min-height: 70px;
    overflow: visible !important;
}
.ydd-iss--immersive .ydd-case-booking__summary > div {
    min-width: 0;
    padding-right: 4px;
}
.ydd-iss--immersive .ydd-case-booking__summary strong,
.ydd-iss--immersive .ydd-case-booking__summary small {
    overflow: visible !important;
    text-overflow: clip !important;
    white-space: normal !important;
}
.ydd-iss--immersive .ydd-case-booking__summary button {
    position: static !important;
    width: auto !important;
    min-width: 190px;
    margin: 0 !important;
    align-self: stretch;
}

/* Calendar uses a status dot on narrow devices instead of forcing the word
   "Available" inside a tiny date square. */
.ydd-iss--immersive .ydd-case-mobile-calendar__days .is-available small {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 3px;
    min-width: 0;
    margin-top: 2px;
    line-height: 1;
}
.ydd-iss--immersive .ydd-case-mobile-calendar__days .is-available small i {
    display: block;
    width: 5px;
    height: 5px;
    flex: 0 0 auto;
    border-radius: 50%;
    background: currentColor;
    box-shadow: 0 0 0 3px color-mix(in srgb, currentColor 13%, transparent);
}
.ydd-iss--immersive .ydd-case-mobile-calendar__days .is-available small b {
    color: inherit;
    font: inherit;
    white-space: nowrap;
}

/* Explanation is a clearly separate modal over the completed live screen. */
.ydd-iss--immersive[data-case-phase="explain"] .ydd-iss__mobile-demo-viewport {
    position: relative;
    isolation: isolate;
}
.ydd-iss--immersive.ydd-iss--guided-mobile[data-case-phase="explain"] .ydd-iss__case-workspace {
    display: grid !important;
    grid-row: 2;
    min-height: 0;
    opacity: .28;
    filter: saturate(.65) blur(1.5px);
    pointer-events: none;
    transform: scale(.992);
}
.ydd-iss--immersive.ydd-iss--guided-mobile[data-case-phase="explain"] .ydd-iss__case-mobile-explanation {
    position: absolute !important;
    z-index: 30;
    inset: 0 0 62px !important;
    display: grid !important;
    place-items: center;
    width: auto !important;
    max-width: none !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: clamp(12px, 3vw, 34px) !important;
    overflow: hidden !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: rgba(241, 244, 250, .76) !important;
    box-shadow: none !important;
    backdrop-filter: blur(9px);
    -webkit-backdrop-filter: blur(9px);
}
.ydd-iss--immersive .ydd-iss__case-explanation-card {
    width: min(100%, 720px);
    max-height: 100%;
    padding: clamp(20px, 3.4vw, 42px);
    overflow: hidden;
    border: 1px solid rgba(109, 93, 252, .18);
    border-radius: clamp(22px, 3vw, 32px);
    background:
        radial-gradient(circle at 100% 0, rgba(16,185,129,.12), transparent 33%),
        linear-gradient(145deg, rgba(255,255,255,.99), rgba(248,248,255,.99));
    box-shadow: 0 30px 80px rgba(16, 24, 40, .2);
}
.ydd-iss--immersive .ydd-iss__case-explanation-heading {
    display: flex;
    align-items: center;
    gap: 13px;
}
.ydd-iss--immersive .ydd-iss__case-mobile-explanation-icon {
    display: grid;
    place-items: center;
    width: 48px !important;
    height: 48px !important;
    flex: 0 0 auto;
    margin: 0 !important;
    border-radius: 15px;
    color: #5544e7;
    background: linear-gradient(145deg, #f2efff, #e8f8f3);
    box-shadow: inset 0 0 0 1px rgba(109, 93, 252, .15);
}
.ydd-iss--immersive .ydd-iss__case-mobile-explanation-icon svg {
    width: 25px;
    height: 25px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}
.ydd-iss--immersive .ydd-iss__case-explanation-heading > div {
    min-width: 0;
}
.ydd-iss--immersive .ydd-iss__case-explanation-heading .ydd-iss__section-label,
.ydd-iss--immersive .ydd-iss__case-explanation-heading small {
    display: block;
}
.ydd-iss--immersive .ydd-iss__case-explanation-heading small {
    margin-top: 4px;
    color: #667085;
    font-size: 12px;
    font-weight: 750;
}
.ydd-iss--immersive .ydd-iss__case-explanation-card > h4 {
    margin: 20px 0 0 !important;
    color: #101828;
    font-size: clamp(25px, 3.2vw, 42px) !important;
    line-height: 1.08;
    letter-spacing: -.035em;
}
.ydd-iss--immersive .ydd-iss__case-explanation-card > p {
    margin: 13px 0 0 !important;
    color: #475467;
    font-size: clamp(13px, 1.25vw, 16px) !important;
    line-height: 1.6;
}
.ydd-iss--immersive .ydd-iss__case-mobile-benefit {
    margin-top: 20px !important;
    padding: 17px 18px !important;
    border: 1px solid #e5e8ef;
    border-radius: 18px;
    background: rgba(248, 250, 252, .9);
}
.ydd-iss--immersive .ydd-iss__case-mobile-benefit > strong {
    color: #1d2939;
    font-size: 14px;
}
.ydd-iss--immersive .ydd-iss__case-mobile-benefit > div {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 9px 16px !important;
    margin-top: 12px !important;
}
.ydd-iss--immersive .ydd-iss__case-mobile-benefit > div > div {
    display: grid;
    grid-template-columns: 24px minmax(0, 1fr);
    align-items: center;
    gap: 8px;
}
.ydd-iss--immersive .ydd-iss__case-mobile-benefit > div span {
    display: grid;
    place-items: center;
    width: 24px;
    height: 24px;
    border-radius: 8px;
    color: #087a58;
    background: #dcf8ee;
    font-size: 12px;
    font-weight: 900;
}
.ydd-iss--immersive .ydd-iss__case-mobile-benefit p {
    margin: 0;
    color: #344054;
    font-size: 12px !important;
    line-height: 1.35;
}

/* Buttons never lose contrast on hover/focus. */
.ydd-iss--immersive .ydd-iss__mobile-complete-actions .ydd-iss__button--ghost,
.ydd-iss--immersive .ydd-iss__mobile-system-actions .ydd-iss__button--ghost {
    color: #4f3fd0 !important;
    border-color: rgba(109,93,252,.25) !important;
    background: #fff !important;
}
.ydd-iss--immersive .ydd-iss__mobile-complete-actions .ydd-iss__button--ghost:hover,
.ydd-iss--immersive .ydd-iss__mobile-complete-actions .ydd-iss__button--ghost:focus-visible,
.ydd-iss--immersive .ydd-iss__mobile-system-actions .ydd-iss__button--ghost:hover,
.ydd-iss--immersive .ydd-iss__mobile-system-actions .ydd-iss__button--ghost:focus-visible {
    color: #30258f !important;
    border-color: rgba(79,63,208,.42) !important;
    background: #eeecff !important;
}

/* Portal readability and exact checkmark centering. */
.ydd-iss--immersive .ydd-demo-task > button,
.ydd-iss--immersive .ydd-demo-board-task > button {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 !important;
    line-height: 1 !important;
}
.ydd-iss--immersive .ydd-demo-task > button > span,
.ydd-iss--immersive .ydd-demo-board-task > button > span {
    display: block;
    width: 1em;
    height: 1em;
    line-height: 1em;
    text-align: center;
    transform: translateY(-.02em);
}
.ydd-iss--immersive .ydd-demo-portal__header h2 { font-size: clamp(23px, 2.5vw, 34px) !important; }
.ydd-iss--immersive .ydd-demo-portal__header p { font-size: 13px !important; line-height: 1.45; }
.ydd-iss--immersive .ydd-demo-portal-stat span,
.ydd-iss--immersive .ydd-demo-portal-stat small,
.ydd-iss--immersive .ydd-demo-task small,
.ydd-iss--immersive .ydd-demo-activity-item span { font-size: 11px !important; }
.ydd-iss--immersive .ydd-demo-portal-stat strong,
.ydd-iss--immersive .ydd-demo-task strong,
.ydd-iss--immersive .ydd-demo-activity-item strong,
.ydd-iss--immersive .ydd-demo-portal-card__head strong { font-size: 13px !important; }
.ydd-iss--immersive .ydd-demo-portal-card__head span,
.ydd-iss--immersive .ydd-demo-task > span { font-size: 10px !important; }
.ydd-iss--immersive .ydd-demo-activity-item {
    min-height: 44px;
    padding-block: 8px !important;
}

/* Clean motion communicates state changes without feeling mechanical. */
@media (prefers-reduced-motion: no-preference) {
    .ydd-iss--immersive .ydd-iss__case-canvas > .ydd-case-app,
    .ydd-iss--immersive .ydd-iss__mobile-system-canvas > .ydd-demo {
        animation: yddV180ScreenIn .42s cubic-bezier(.22, 1, .36, 1) both;
    }
    .ydd-iss--immersive[data-case-phase="explain"] .ydd-iss__case-explanation-card {
        animation: yddV180ModalIn .46s cubic-bezier(.16, 1, .3, 1) both;
    }
    .ydd-iss--immersive .ydd-iss__case-progress > i {
        transition: width .55s cubic-bezier(.22, 1, .36, 1);
    }
    .ydd-iss--immersive .ydd-iss__button,
    .ydd-iss--immersive .ydd-case-package,
    .ydd-iss--immersive .ydd-case-mobile-calendar__days button,
    .ydd-iss--immersive .ydd-demo-task,
    .ydd-iss--immersive .ydd-demo-board-task {
        transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease, background-color .22s ease, color .22s ease;
    }
    .ydd-iss--immersive .ydd-iss__button:hover,
    .ydd-iss--immersive .ydd-case-package:hover { transform: translateY(-2px); }
    .ydd-iss--immersive .ydd-iss__button:active,
    .ydd-iss--immersive .ydd-case-package:active { transform: translateY(0) scale(.985); }
    .ydd-iss--immersive .ydd-case-mobile-calendar__days .is-available.is-active {
        animation: yddV180DateSelect .34s cubic-bezier(.22, 1, .36, 1);
    }
}
@keyframes yddV180ScreenIn {
    from { opacity: 0; transform: translateY(10px) scale(.995); }
    to { opacity: 1; transform: none; }
}
@keyframes yddV180ModalIn {
    from { opacity: 0; transform: translateY(22px) scale(.96); }
    to { opacity: 1; transform: none; }
}
@keyframes yddV180DateSelect {
    0% { transform: scale(.9); }
    70% { transform: scale(1.06); }
    100% { transform: scale(1); }
}

@media (min-width: 1025px) {
    .ydd-iss--immersive[data-case-phase="demo"] .ydd-case-app {
        font-size: 14px;
    }
    .ydd-iss--immersive[data-case-phase="demo"] .ydd-case-booking__grid {
        height: 100%;
        padding-bottom: 14px;
    }
    .ydd-iss--immersive[data-case-phase="demo"] .ydd-case-booking__grid > section {
        height: 100%;
        overflow: hidden;
    }
    .ydd-iss--immersive[data-case-phase="demo"] .ydd-case-mobile-calendar {
        display: block;
        min-height: 0;
        height: 100%;
        margin-top: 8px;
        padding: 10px 13px;
    }
    .ydd-iss--immersive[data-case-phase="demo"] .ydd-case-mobile-calendar__weekdays { margin-top: 7px; }
    .ydd-iss--immersive[data-case-phase="demo"] .ydd-case-mobile-calendar__days { margin-top: 3px; }
    .ydd-iss--immersive[data-case-phase="demo"] .ydd-case-mobile-calendar__days > span,
    .ydd-iss--immersive[data-case-phase="demo"] .ydd-case-mobile-calendar__days > button {
        max-height: 52px;
        aspect-ratio: auto;
    }
    .ydd-iss--immersive[data-case-phase="demo"] .ydd-case-dates { display: none !important; }
    .ydd-iss--immersive[data-case-phase="demo"] .ydd-case-times { margin-top: 8px; }
    .ydd-iss--immersive[data-case-phase="demo"] .ydd-case-booking__summary { margin-top: 8px; }

    /* Desktop alternate demos use the complete desktop portal instead of the
       compressed mobile navigation/layout. */
    .ydd-iss--immersive .ydd-iss__mobile-system-canvas.ydd-iss__device--desktop .ydd-demo-portal {
        display: grid !important;
        grid-template-columns: 220px minmax(0, 1fr);
    }
    .ydd-iss--immersive .ydd-iss__mobile-system-canvas.ydd-iss__device--desktop .ydd-demo-portal__side { display: block !important; }
    .ydd-iss--immersive .ydd-iss__mobile-system-canvas.ydd-iss__device--desktop .ydd-demo-portal__mobile-switch { display: none !important; }
    .ydd-iss--immersive .ydd-iss__mobile-system-canvas.ydd-iss__device--desktop .ydd-demo-portal__main {
        min-height: 0;
        padding: 22px 24px !important;
        overflow: hidden;
    }
    .ydd-iss--immersive .ydd-iss__mobile-system-canvas.ydd-iss__device--desktop .ydd-demo-portal__stats {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    }
    .ydd-iss--immersive .ydd-iss__mobile-system-canvas.ydd-iss__device--desktop .ydd-demo-portal__grid {
        grid-template-columns: minmax(0, 1.35fr) minmax(280px, .65fr);
    }
}

@media (max-width: 1024px) {
    /* Guide is concise but readable, freeing space for the live screen. */
    .ydd-iss--immersive .ydd-iss__case-progress-head strong { font-size: 12px !important; }
    .ydd-iss--immersive .ydd-iss__case-progress-head span { font-size: 11px !important; }
    .ydd-iss--immersive .ydd-iss__case-task small { font-size: 10px !important; }
    .ydd-iss--immersive .ydd-iss__case-task strong { font-size: 13px !important; line-height: 1.3; }

    .ydd-iss--immersive[data-case-phase="demo"] .ydd-iss__case-canvas {
        display: grid;
    }
    .ydd-iss--immersive[data-case-phase="demo"] .ydd-case-booking {
        grid-template-rows: auto auto minmax(0, 1fr);
    }
    .ydd-iss--immersive[data-case-phase="demo"] .ydd-case-success { display: none !important; }
    .ydd-iss--immersive .ydd-case-app__top { min-height: 48px; padding: 8px 11px !important; }
    .ydd-iss--immersive .ydd-case-app__brand strong { font-size: 12px !important; }
    .ydd-iss--immersive .ydd-case-app__role { font-size: 10px !important; }
    .ydd-iss--immersive .ydd-case-booking__hero { padding: 10px 13px !important; }
    .ydd-iss--immersive .ydd-case-booking__hero h2 { font-size: 20px !important; }
    .ydd-iss--immersive .ydd-case-booking__hero p { font-size: 11px !important; }
    .ydd-iss--immersive .ydd-case-booking__grid {
        display: grid !important;
        grid-template-columns: 1fr !important;
        grid-template-rows: auto minmax(0, 1fr);
        gap: 7px !important;
        min-height: 0;
        padding: 0 10px 8px !important;
    }
    .ydd-iss--immersive .ydd-case-booking__grid > section {
        padding: 9px 10px !important;
        overflow: hidden;
    }
    .ydd-iss--immersive .ydd-case-booking__grid > section:first-child {
        min-height: 68px;
        padding-bottom: 7px !important;
    }
    .ydd-iss--immersive .ydd-case-booking__grid > section:first-child > h3 { display: none; }
    .ydd-iss--immersive .ydd-case-packages {
        display: grid !important;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 6px !important;
        overflow: visible !important;
    }
    .ydd-iss--immersive .ydd-case-package {
        min-width: 0 !important;
        min-height: 54px !important;
        padding: 8px !important;
        grid-template-columns: 14px minmax(0, 1fr) !important;
        gap: 6px !important;
    }
    .ydd-iss--immersive .ydd-case-package > b { display: none; }
    .ydd-iss--immersive .ydd-case-package strong { font-size: 10px !important; line-height: 1.15; }
    .ydd-iss--immersive .ydd-case-package small { display: none; }
    .ydd-iss--immersive .ydd-case-package__radio { width: 13px !important; height: 13px !important; }

    .ydd-iss--immersive .ydd-case-booking__grid > section:nth-child(2) {
        grid-template-rows: auto minmax(0, 1fr) auto auto;
    }
    .ydd-iss--immersive .ydd-case-panel-title h3 { font-size: 14px !important; }
    .ydd-iss--immersive .ydd-case-panel-title span { font-size: 11px !important; }
    .ydd-iss--immersive .ydd-case-mobile-calendar {
        height: 100%;
        min-height: 0;
        margin-top: 6px !important;
        padding: 8px !important;
        border-radius: 14px !important;
    }
    .ydd-iss--immersive .ydd-case-mobile-calendar__head { grid-template-columns: 30px 1fr 30px !important; }
    .ydd-iss--immersive .ydd-case-mobile-calendar__head button { width: 30px !important; min-height: 30px !important; }
    .ydd-iss--immersive .ydd-case-mobile-calendar__head strong { font-size: 13px !important; }
    .ydd-iss--immersive .ydd-case-mobile-calendar__weekdays { margin-top: 6px !important; }
    .ydd-iss--immersive .ydd-case-mobile-calendar__weekdays span { font-size: 9px !important; }
    .ydd-iss--immersive .ydd-case-mobile-calendar__days { gap: 2px !important; margin-top: 2px !important; }
    .ydd-iss--immersive .ydd-case-mobile-calendar__days > span,
    .ydd-iss--immersive .ydd-case-mobile-calendar__days > button {
        min-height: 27px !important;
        max-height: 42px;
        aspect-ratio: auto !important;
        border-radius: 8px !important;
    }
    .ydd-iss--immersive .ydd-case-mobile-calendar__days .is-day b,
    .ydd-iss--immersive .ydd-case-mobile-calendar__days .is-available span { font-size: 10px !important; }
    .ydd-iss--immersive .ydd-case-mobile-calendar__days .is-available small b { display: none; }
    .ydd-iss--immersive .ydd-case-times { gap: 6px !important; margin-top: 6px !important; }
    .ydd-iss--immersive .ydd-case-times button { min-height: 36px !important; font-size: 12px !important; }
    .ydd-iss--immersive .ydd-case-booking__summary {
        grid-template-columns: minmax(0, 1fr) minmax(145px, .75fr) !important;
        gap: 8px !important;
        min-height: 52px;
        margin-top: 6px !important;
        padding: 7px 8px !important;
    }
    .ydd-iss--immersive .ydd-case-booking__summary span { font-size: 9px !important; }
    .ydd-iss--immersive .ydd-case-booking__summary strong { margin-top: 2px !important; font-size: 11px !important; }
    .ydd-iss--immersive .ydd-case-booking__summary small { margin-top: 1px !important; font-size: 9px !important; }
    .ydd-iss--immersive .ydd-case-booking__summary button {
        width: 100% !important;
        min-width: 0;
        min-height: 40px !important;
        padding: 7px 9px !important;
        font-size: 11px !important;
    }

    .ydd-iss--immersive .ydd-iss__case-mobile-benefit > div { grid-template-columns: 1fr; }
    .ydd-iss--immersive .ydd-iss__case-explanation-card { width: min(100%, 600px); }

    /* Mobile portal remains compact enough to fit, but readable. */
    .ydd-iss--immersive .ydd-iss__mobile-system-canvas.ydd-iss__device--mobile .ydd-demo-portal__main {
        display: grid;
        grid-template-rows: auto auto minmax(0, 1fr);
        min-height: 0;
        padding: 10px !important;
        overflow: hidden;
    }
    .ydd-iss--immersive .ydd-iss__mobile-system-canvas.ydd-iss__device--mobile .ydd-demo-portal__mobile-switch {
        margin: 0 0 6px !important;
    }
    .ydd-iss--immersive .ydd-iss__mobile-system-canvas.ydd-iss__device--mobile .ydd-demo-portal__mobile-switch > small { display: none; }
    .ydd-iss--immersive .ydd-iss__mobile-system-canvas.ydd-iss__device--mobile .ydd-demo-portal__mobile-nav {
        gap: 5px;
        padding-bottom: 4px;
    }
    .ydd-iss--immersive .ydd-iss__mobile-system-canvas.ydd-iss__device--mobile .ydd-demo-portal__mobile-nav button {
        min-height: 36px !important;
        padding: 5px 8px !important;
        font-size: 11px !important;
    }
    .ydd-iss--immersive .ydd-iss__mobile-system-canvas.ydd-iss__device--mobile .ydd-demo-portal__header { margin-bottom: 7px; }
    .ydd-iss--immersive .ydd-iss__mobile-system-canvas.ydd-iss__device--mobile .ydd-demo-portal__header h2 { font-size: 20px !important; }
    .ydd-iss--immersive .ydd-iss__mobile-system-canvas.ydd-iss__device--mobile .ydd-demo-portal__header p { font-size: 11px !important; }
    .ydd-iss--immersive .ydd-iss__mobile-system-canvas.ydd-iss__device--mobile .ydd-demo-portal__stats {
        grid-template-columns: repeat(3, minmax(0,1fr)) !important;
        gap: 5px !important;
        margin-bottom: 6px !important;
    }
    .ydd-iss--immersive .ydd-iss__mobile-system-canvas.ydd-iss__device--mobile .ydd-demo-portal-stat { padding: 7px !important; }
    .ydd-iss--immersive .ydd-iss__mobile-system-canvas.ydd-iss__device--mobile .ydd-demo-portal-stat span,
    .ydd-iss--immersive .ydd-iss__mobile-system-canvas.ydd-iss__device--mobile .ydd-demo-portal-stat small { font-size: 9px !important; }
    .ydd-iss--immersive .ydd-iss__mobile-system-canvas.ydd-iss__device--mobile .ydd-demo-portal-stat strong { font-size: 14px !important; }
    .ydd-iss--immersive .ydd-iss__mobile-system-canvas.ydd-iss__device--mobile .ydd-demo-portal__view {
        min-height: 0;
        overflow: hidden;
    }
    .ydd-iss--immersive .ydd-iss__mobile-system-canvas.ydd-iss__device--mobile .ydd-demo-portal__grid {
        grid-template-columns: 1fr !important;
        gap: 6px !important;
    }
    .ydd-iss--immersive .ydd-iss__mobile-system-canvas.ydd-iss__device--mobile .ydd-demo-portal-card { padding: 8px !important; }
    .ydd-iss--immersive .ydd-iss__mobile-system-canvas.ydd-iss__device--mobile .ydd-demo-task { min-height: 38px; padding: 5px 0 !important; }
    .ydd-iss--immersive .ydd-iss__mobile-system-canvas.ydd-iss__device--mobile .ydd-demo-task > button { width: 30px !important; height: 30px !important; }
    .ydd-iss--immersive .ydd-iss__mobile-system-canvas.ydd-iss__device--mobile .ydd-demo-activity-item { min-height: 34px; padding: 4px 0 !important; }
}

@media (max-width: 560px) {
    .ydd-iss--immersive[data-case-phase="setup"] .ydd-iss__case-fields input:not([type="color"]),
    .ydd-iss--immersive[data-case-phase="setup"] .ydd-iss__case-fields select {
        font-size: 16px !important;
    }
    .ydd-iss--immersive[data-case-phase="explain"] .ydd-iss__case-mobile-explanation {
        bottom: 58px !important;
        padding: 9px !important;
    }
    .ydd-iss--immersive .ydd-iss__case-explanation-card {
        padding: 18px 16px;
        border-radius: 21px;
    }
    .ydd-iss--immersive .ydd-iss__case-mobile-explanation-icon { width: 42px !important; height: 42px !important; }
    .ydd-iss--immersive .ydd-iss__case-explanation-card > h4 { margin-top: 14px !important; font-size: 23px !important; }
    .ydd-iss--immersive .ydd-iss__case-explanation-card > p { margin-top: 8px !important; font-size: 12px !important; }
    .ydd-iss--immersive .ydd-iss__case-mobile-benefit { margin-top: 12px !important; padding: 11px !important; }
    .ydd-iss--immersive .ydd-iss__case-mobile-benefit > strong { font-size: 12px; }
    .ydd-iss--immersive .ydd-iss__case-mobile-benefit > div { gap: 6px !important; margin-top: 8px !important; }
    .ydd-iss--immersive .ydd-iss__case-mobile-benefit > div > div { grid-template-columns: 21px minmax(0,1fr); gap: 7px; }
    .ydd-iss--immersive .ydd-iss__case-mobile-benefit > div span { width: 21px; height: 21px; font-size: 10px; }
    .ydd-iss--immersive .ydd-iss__case-mobile-benefit p { font-size: 11px !important; }

    .ydd-iss--immersive .ydd-case-booking__summary {
        grid-template-columns: minmax(0, 1fr) 132px !important;
    }
    .ydd-iss--immersive .ydd-case-booking__summary small { display: none !important; }
    .ydd-iss--immersive .ydd-case-booking__summary button { font-size: 10px !important; }
}

@media (max-width: 380px), (max-height: 700px) and (max-width: 720px) {
    .ydd-iss--immersive .ydd-case-package:nth-child(3) { display: none !important; }
    .ydd-iss--immersive .ydd-case-packages { grid-template-columns: repeat(2, minmax(0,1fr)); }
    .ydd-iss--immersive .ydd-case-booking__hero p { display: none; }
    .ydd-iss--immersive .ydd-case-mobile-calendar__weekdays { margin-top: 3px !important; }
    .ydd-iss--immersive .ydd-case-mobile-calendar__days > span,
    .ydd-iss--immersive .ydd-case-mobile-calendar__days > button { max-height: 31px; }
}

/* v1.8.0 final fit refinements */
@media (min-width: 1025px) {
    .ydd-iss--immersive[data-case-phase="demo"] .ydd-case-packages {
        display: grid !important;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 9px !important;
        overflow: visible !important;
    }
    .ydd-iss--immersive[data-case-phase="demo"] .ydd-case-package {
        min-width: 0 !important;
        padding: 12px !important;
    }
    .ydd-iss--immersive[data-case-phase="demo"] .ydd-case-package strong { font-size: 12px !important; }
    .ydd-iss--immersive[data-case-phase="demo"] .ydd-case-package small { font-size: 10px !important; line-height: 1.35; }
    .ydd-iss--immersive[data-case-phase="demo"] .ydd-case-package > b { font-size: 12px !important; }
}

@media (max-width: 1024px) {
    .ydd-iss--immersive .ydd-iss__mobile-system-canvas.ydd-iss__device--mobile .ydd-demo-portal,
    .ydd-iss--immersive .ydd-iss__mobile-system-canvas.ydd-iss__device--mobile .ydd-demo-portal__main,
    .ydd-iss--immersive .ydd-iss__mobile-system-canvas.ydd-iss__device--mobile .ydd-demo-portal__view,
    .ydd-iss--immersive .ydd-iss__mobile-system-canvas.ydd-iss__device--mobile .ydd-demo-portal__stats,
    .ydd-iss--immersive .ydd-iss__mobile-system-canvas.ydd-iss__device--mobile .ydd-demo-portal-stat {
        min-width: 0 !important;
        max-width: 100% !important;
    }
    .ydd-iss--immersive .ydd-iss__mobile-system-canvas.ydd-iss__device--mobile .ydd-demo-portal__stats {
        width: 100%;
        overflow: hidden;
    }
    .ydd-iss--immersive .ydd-iss__mobile-system-canvas.ydd-iss__device--mobile .ydd-demo-portal-stat {
        overflow: hidden;
    }
    .ydd-iss--immersive .ydd-iss__mobile-system-canvas.ydd-iss__device--mobile .ydd-demo-portal-stat span,
    .ydd-iss--immersive .ydd-iss__mobile-system-canvas.ydd-iss__device--mobile .ydd-demo-portal-stat small,
    .ydd-iss--immersive .ydd-iss__mobile-system-canvas.ydd-iss__device--mobile .ydd-demo-portal-stat strong {
        display: block;
        max-width: 100%;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }
    .ydd-iss--immersive .ydd-iss__mobile-system-canvas.ydd-iss__device--mobile .ydd-demo-task {
        min-height: 34px;
        padding: 3px 0 !important;
    }
    .ydd-iss--immersive .ydd-iss__mobile-system-canvas.ydd-iss__device--mobile .ydd-demo-task > button {
        width: 28px !important;
        height: 28px !important;
    }
    .ydd-iss--immersive .ydd-iss__mobile-system-canvas.ydd-iss__device--mobile .ydd-demo-activity-item {
        min-height: 30px;
        padding: 3px 0 !important;
    }
    .ydd-iss--immersive .ydd-iss__mobile-system-canvas.ydd-iss__device--mobile .ydd-demo-activity-item strong { font-size: 12px !important; }
    .ydd-iss--immersive .ydd-iss__mobile-system-canvas.ydd-iss__device--mobile .ydd-demo-activity-item span { font-size: 10px !important; }
}

@media (min-width: 1025px) {
    .ydd-iss--immersive[data-case-phase="demo"] .ydd-case-package {
        grid-template-columns: 16px minmax(0, 1fr) !important;
        grid-template-rows: auto auto;
        align-content: center;
    }
    .ydd-iss--immersive[data-case-phase="demo"] .ydd-case-package > b {
        grid-column: 2;
        justify-self: start;
        margin-top: 5px;
    }
}

@media (max-width: 1024px) {
    .ydd-iss--immersive .ydd-iss__mobile-system-canvas.ydd-iss__device--mobile .ydd-demo-portal__main {
        width: 100% !important;
        height: 100% !important;
        max-height: 100% !important;
        grid-template-columns: minmax(0, 1fr) !important;
    }
    .ydd-iss--immersive .ydd-iss__mobile-system-canvas.ydd-iss__device--mobile .ydd-demo-portal__view,
    .ydd-iss--immersive .ydd-iss__mobile-system-canvas.ydd-iss__device--mobile .ydd-demo-portal__stats,
    .ydd-iss--immersive .ydd-iss__mobile-system-canvas.ydd-iss__device--mobile .ydd-demo-portal__grid {
        width: 100% !important;
    }
}

/* v1.8.0 final single-screen density refinements */
@media (max-width: 1024px) {
    /* The checkout and its automation result must be visible together. */
    .ydd-iss--immersive[data-case-phase="demo"] .ydd-case-checkout__grid {
        height: calc(100% - 56px);
        grid-template-columns: minmax(0, 1fr) !important;
        grid-template-rows: minmax(0, 1.65fr) minmax(132px, .85fr);
        gap: 7px !important;
        padding: 0 10px 8px !important;
        overflow: hidden;
    }
    .ydd-iss--immersive[data-case-phase="demo"] .ydd-case-order,
    .ydd-iss--immersive[data-case-phase="demo"] .ydd-case-automation {
        min-height: 0;
        padding: 10px 12px !important;
        border-radius: 14px;
        overflow: hidden;
    }
    .ydd-iss--immersive[data-case-phase="demo"] .ydd-case-order h2,
    .ydd-iss--immersive[data-case-phase="demo"] .ydd-case-automation h2 {
        margin-top: 3px;
        font-size: 20px !important;
        line-height: 1.08;
    }
    .ydd-iss--immersive[data-case-phase="demo"] .ydd-case-order__rows {
        gap: 3px;
        margin-top: 7px;
    }
    .ydd-iss--immersive[data-case-phase="demo"] .ydd-case-order__rows > div {
        min-height: 23px;
        align-items: center;
        padding-bottom: 3px;
    }
    .ydd-iss--immersive[data-case-phase="demo"] .ydd-case-order__rows span,
    .ydd-iss--immersive[data-case-phase="demo"] .ydd-case-order__total span {
        font-size: 9px !important;
    }
    .ydd-iss--immersive[data-case-phase="demo"] .ydd-case-order__rows strong {
        max-width: 65%;
        font-size: 10px !important;
        line-height: 1.2;
    }
    .ydd-iss--immersive[data-case-phase="demo"] .ydd-case-schedule.is-compact {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 4px;
        max-height: none;
        margin-top: 6px;
        padding: 5px;
        overflow: hidden;
    }
    .ydd-iss--immersive[data-case-phase="demo"] .ydd-case-schedule.is-compact .ydd-case-schedule-row {
        min-width: 0;
        gap: 4px;
        padding: 5px;
    }
    .ydd-iss--immersive[data-case-phase="demo"] .ydd-case-schedule.is-compact .ydd-case-schedule-row > span {
        gap: 5px;
        min-width: 0;
    }
    .ydd-iss--immersive[data-case-phase="demo"] .ydd-case-schedule.is-compact .ydd-case-schedule-row > span > b {
        width: 20px;
        height: 20px;
    }
    .ydd-iss--immersive[data-case-phase="demo"] .ydd-case-schedule.is-compact .ydd-case-schedule-row strong {
        font-size: 9px !important;
    }
    .ydd-iss--immersive[data-case-phase="demo"] .ydd-case-schedule.is-compact .ydd-case-schedule-row small {
        font-size: 8px !important;
    }
    .ydd-iss--immersive[data-case-phase="demo"] .ydd-case-schedule.is-compact .ydd-case-schedule-row em {
        display: none;
    }
    .ydd-iss--immersive[data-case-phase="demo"] .ydd-case-order__total {
        margin-top: 5px;
        padding-top: 4px;
    }
    .ydd-iss--immersive[data-case-phase="demo"] .ydd-case-order__total strong {
        font-size: 17px !important;
    }
    .ydd-iss--immersive[data-case-phase="demo"] .ydd-case-order .ydd-case-main-action {
        min-height: 39px !important;
        margin-top: 5px;
        font-size: 12px !important;
    }
    .ydd-iss--immersive[data-case-phase="demo"] .ydd-case-automation-list {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 4px;
        margin-top: 6px;
    }
    .ydd-iss--immersive[data-case-phase="demo"] .ydd-case-automation-item {
        min-width: 0;
        gap: 6px;
        padding: 5px 6px;
        border-radius: 9px;
    }
    .ydd-iss--immersive[data-case-phase="demo"] .ydd-case-automation-item > span {
        width: 20px;
        height: 20px;
    }
    .ydd-iss--immersive[data-case-phase="demo"] .ydd-case-automation-item strong {
        overflow: hidden;
        font-size: 9px !important;
        line-height: 1.2;
        text-overflow: ellipsis;
        white-space: nowrap;
    }
    .ydd-iss--immersive[data-case-phase="demo"] .ydd-case-automation-item small {
        display: none;
    }
    .ydd-iss--immersive[data-case-phase="demo"] .ydd-case-link-action {
        width: 100%;
        min-height: 35px !important;
        margin-top: 5px;
        font-size: 11px !important;
    }

    /* Fit the complete operations dashboard without shrinking its typography. */
    .ydd-iss--immersive .ydd-iss__mobile-system-canvas.ydd-iss__device--mobile .ydd-demo-portal__mobile-nav {
        gap: 4px;
        padding-bottom: 3px;
    }
    .ydd-iss--immersive .ydd-iss__mobile-system-canvas.ydd-iss__device--mobile .ydd-demo-portal__mobile-nav button {
        min-height: 32px !important;
        padding: 4px 7px !important;
    }
    .ydd-iss--immersive .ydd-iss__mobile-system-canvas.ydd-iss__device--mobile .ydd-demo-portal__mobile-nav button span {
        width: 20px;
        height: 20px;
    }
    .ydd-iss--immersive .ydd-iss__mobile-system-canvas.ydd-iss__device--mobile .ydd-demo-portal__header {
        margin-bottom: 4px;
    }
    .ydd-iss--immersive .ydd-iss__mobile-system-canvas.ydd-iss__device--mobile .ydd-demo-portal__header p {
        display: none;
    }
    .ydd-iss--immersive .ydd-iss__mobile-system-canvas.ydd-iss__device--mobile .ydd-demo-portal__stats {
        margin-bottom: 4px !important;
    }
    .ydd-iss--immersive .ydd-iss__mobile-system-canvas.ydd-iss__device--mobile .ydd-demo-portal-stat {
        padding: 6px !important;
    }
    .ydd-iss--immersive .ydd-iss__mobile-system-canvas.ydd-iss__device--mobile .ydd-demo-portal-stat strong {
        margin-top: 2px;
    }
    .ydd-iss--immersive .ydd-iss__mobile-system-canvas.ydd-iss__device--mobile .ydd-demo-portal-stat small {
        margin-top: 2px;
    }
    .ydd-iss--immersive .ydd-iss__mobile-system-canvas.ydd-iss__device--mobile .ydd-demo-portal__grid {
        gap: 4px !important;
        margin-top: 4px !important;
    }
    .ydd-iss--immersive .ydd-iss__mobile-system-canvas.ydd-iss__device--mobile .ydd-demo-portal-card {
        padding: 7px !important;
    }
    .ydd-iss--immersive .ydd-iss__mobile-system-canvas.ydd-iss__device--mobile .ydd-demo-portal-card__head {
        margin-bottom: 4px;
    }
    .ydd-iss--immersive .ydd-iss__mobile-system-canvas.ydd-iss__device--mobile .ydd-demo-task {
        min-height: 31px;
        padding: 2px 0 !important;
    }
    .ydd-iss--immersive .ydd-iss__mobile-system-canvas.ydd-iss__device--mobile .ydd-demo-task > button {
        width: 27px !important;
        height: 27px !important;
    }
    .ydd-iss--immersive .ydd-iss__mobile-system-canvas.ydd-iss__device--mobile .ydd-demo-activity-item {
        min-height: 27px;
        padding: 2px 0 !important;
    }
}

/* Keep completion controls truly square so the checkmark sits at the visual center. */
.ydd-iss--immersive .ydd-demo-task > button,
.ydd-iss--immersive .ydd-demo-board-task > button {
    width: 28px !important;
    min-width: 28px !important;
    height: 28px !important;
    min-height: 28px !important;
    aspect-ratio: 1 / 1;
}

@media (max-width: 1024px) {
    /* Checkout: reserve enough space to show the automation outcome as a complete panel. */
    .ydd-iss--immersive[data-case-phase="demo"] .ydd-case-checkout__grid {
        grid-template-rows: minmax(0, 1.35fr) minmax(210px, 1fr);
    }
    .ydd-iss--immersive[data-case-phase="demo"] .ydd-case-schedule.is-compact .ydd-case-schedule-row:nth-child(n + 3) {
        display: none;
    }
    .ydd-iss--immersive[data-case-phase="demo"] .ydd-case-automation h2 {
        font-size: 18px !important;
        line-height: 1.05;
    }
    .ydd-iss--immersive[data-case-phase="demo"] .ydd-case-automation-list {
        grid-template-columns: minmax(0, 1fr);
        gap: 3px;
        margin-top: 5px;
    }
    .ydd-iss--immersive[data-case-phase="demo"] .ydd-case-automation-item {
        min-height: 22px;
        align-items: center;
        padding: 2px 5px;
    }
    .ydd-iss--immersive[data-case-phase="demo"] .ydd-case-automation-item > span {
        width: 18px;
        height: 18px;
    }
    .ydd-iss--immersive[data-case-phase="demo"] .ydd-case-automation-item strong {
        font-size: 9px !important;
        white-space: normal;
    }
}

/* The persistent Proceed control is the only stage navigation needed. */
.ydd-iss--immersive .ydd-case-automation .ydd-case-link-action {
    display: none !important;
}
@media (max-width: 1024px) {
    .ydd-iss--immersive[data-case-phase="demo"] .ydd-case-automation-item strong {
        font-size: 10px !important;
    }
}

/* Prevent iOS from moving the document behind the full-screen studio on focus. */
body.ydd-iss-mobile-demo-open {
    position: fixed !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    margin: 0 !important;
}
.ydd-iss--immersive input,
.ydd-iss--immersive select,
.ydd-iss--immersive textarea {
    touch-action: manipulation;
}

/* ========================================================================== 
   v1.9.0 · Balanced viewport workspace, visible site navigation, and
   deterministic step-by-step actions
   ========================================================================== */

/* The studio now remains in the page flow beneath the website header. This
   keeps the site's desktop and mobile navigation accessible at all times. */
.ydd-iss-site-header {
    z-index: 2147483000 !important;
}
.ydd-iss-site-header--static {
    position: relative !important;
}
html.ydd-iss-mobile-demo-open,
body.ydd-iss-mobile-demo-open {
    width: auto !important;
    height: auto !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    overscroll-behavior: auto !important;
}
body.ydd-iss-mobile-demo-open {
    position: static !important;
    inset: auto !important;
}

.ydd-iss.ydd-iss--immersive,
body > .ydd-iss.ydd-iss--immersive {
    position: relative !important;
    z-index: 1 !important;
    inset: auto !important;
    width: 100% !important;
    max-width: none !important;
    height: var(--ydd-viewport-height, calc(100dvh - 76px)) !important;
    min-height: min(620px, var(--ydd-viewport-height, 100dvh)) !important;
    margin: 0 !important;
    overflow: hidden !important;
    contain: layout paint style;
}

.ydd-iss--immersive .ydd-iss__case-study,
.ydd-iss--guided-mobile .ydd-iss__case-study {
    position: relative !important;
    z-index: 1 !important;
    inset: auto !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
}

.ydd-iss--immersive .ydd-iss__case-mobile-shell {
    height: 100% !important;
}

/* Setup CTA remains anchored to the studio rather than the browser window. */
.ydd-iss--immersive[data-case-phase="setup"] .ydd-iss__case-mobile-start {
    position: absolute !important;
    right: 12px !important;
    bottom: max(10px, env(safe-area-inset-bottom)) !important;
    left: 12px !important;
}

/* Keep the fixed navigation controls completely inside the available studio
   height, including iPhone safe-area space. */
.ydd-iss--immersive[data-case-phase="demo"] .ydd-iss__mobile-demo-viewport,
.ydd-iss--immersive[data-case-phase="explain"] .ydd-iss__mobile-demo-viewport {
    grid-template-rows: auto minmax(0, 1fr) auto !important;
    padding-bottom: max(12px, env(safe-area-inset-bottom)) !important;
}
.ydd-iss--immersive[data-case-phase="demo"] .ydd-iss__case-controls,
.ydd-iss--immersive[data-case-phase="explain"] .ydd-iss__case-controls {
    min-height: 54px;
    padding: 0 0 2px !important;
    align-self: end;
}

/* The central screen can scroll only when its real content is taller than the
   available canvas. The website page itself remains stable and the controls
   stay visible. */
.ydd-iss--immersive[data-case-phase="demo"] .ydd-iss__case-canvas {
    height: 100% !important;
    min-height: 0 !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: thin !important;
    scroll-padding-block: 16px 28px;
}
.ydd-iss--immersive[data-case-phase="demo"] .ydd-iss__case-canvas::-webkit-scrollbar {
    display: block !important;
    width: 5px;
}
.ydd-iss--immersive[data-case-phase="demo"] .ydd-iss__case-canvas::-webkit-scrollbar-thumb {
    border-radius: 999px;
    background: rgba(71, 84, 103, .28);
}
.ydd-iss--immersive[data-case-phase="demo"] .ydd-case-app {
    width: 100% !important;
    height: auto !important;
    min-height: 100% !important;
    overflow: visible !important;
    padding-bottom: max(18px, env(safe-area-inset-bottom));
}

/* Explanation is a distinct centered card in the middle row. Navigation sits
   in its own row below it and can no longer be clipped. */
.ydd-iss--immersive.ydd-iss--guided-mobile[data-case-phase="explain"] .ydd-iss__case-workspace {
    display: none !important;
}
.ydd-iss--immersive.ydd-iss--guided-mobile[data-case-phase="explain"] .ydd-iss__case-mobile-explanation {
    position: relative !important;
    z-index: 2;
    inset: auto !important;
    grid-row: 2;
    display: grid !important;
    place-items: center;
    width: 100% !important;
    max-width: none !important;
    min-height: 0 !important;
    height: 100% !important;
    margin: 0 !important;
    padding: clamp(10px, 2.5vw, 28px) !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    border: 0 !important;
    border-radius: 20px !important;
    background:
        radial-gradient(circle at 100% 0, rgba(16,185,129,.09), transparent 34%),
        linear-gradient(145deg, rgba(245,247,252,.98), rgba(239,242,249,.98)) !important;
    box-shadow: inset 0 0 0 1px rgba(224,228,237,.8) !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
}
.ydd-iss--immersive .ydd-iss__case-explanation-card {
    max-height: 100%;
    overflow-x: hidden;
    overflow-y: auto;
    scrollbar-width: thin;
}

/* Booking controls are arranged as one complete segmented row above the
   calendar on phones and tablets. No package is partly hidden below the CTA. */
@media (max-width: 1024px) {
    .ydd-iss--immersive[data-case-phase="demo"] .ydd-case-booking__grid {
        display: flex !important;
        height: auto !important;
        min-height: 0;
        flex-direction: column !important;
        gap: 9px !important;
        padding-bottom: 18px !important;
        overflow: visible !important;
    }
    .ydd-iss--immersive[data-case-phase="demo"] .ydd-case-booking__grid > section:first-child {
        order: 1 !important;
        display: block !important;
    }
    .ydd-iss--immersive[data-case-phase="demo"] .ydd-case-booking__grid > section:nth-child(2) {
        order: 2 !important;
        display: block !important;
    }
    .ydd-iss--immersive[data-case-phase="demo"] .ydd-case-booking__grid > section:first-child > h3 {
        display: block !important;
        margin-bottom: 8px;
        font-size: 12px !important;
    }
    .ydd-iss--immersive[data-case-phase="demo"] .ydd-case-packages {
        display: grid !important;
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
        gap: 6px !important;
        width: 100%;
        padding: 3px !important;
        overflow: visible !important;
    }
    .ydd-iss--immersive[data-case-phase="demo"] .ydd-case-package,
    .ydd-iss--immersive[data-case-phase="demo"] .ydd-case-package:nth-child(3) {
        display: grid !important;
        grid-template-columns: 16px minmax(0, 1fr) !important;
        grid-template-rows: auto !important;
        min-width: 0 !important;
        min-height: 58px !important;
        padding: 8px !important;
        gap: 7px !important;
        align-content: center;
    }
    .ydd-iss--immersive[data-case-phase="demo"] .ydd-case-package strong {
        font-size: 11px !important;
        line-height: 1.2;
    }
    .ydd-iss--immersive[data-case-phase="demo"] .ydd-case-package small,
    .ydd-iss--immersive[data-case-phase="demo"] .ydd-case-package > b {
        display: none !important;
    }
    .ydd-iss--immersive[data-case-phase="demo"] .ydd-case-mobile-calendar {
        min-height: 0 !important;
    }
    .ydd-iss--immersive[data-case-phase="demo"] .ydd-case-booking__summary {
        margin-bottom: 2px;
    }
    .ydd-iss--immersive[data-case-phase="demo"] .ydd-case-portal-main,
    .ydd-iss--immersive[data-case-phase="demo"] .ydd-case-results__body,
    .ydd-iss--immersive[data-case-phase="demo"] .ydd-case-room__stage {
        padding-bottom: 26px !important;
    }
}

@media (max-width: 440px) {
    .ydd-iss--immersive[data-case-phase="demo"] .ydd-case-package {
        min-height: 54px !important;
        padding: 7px 6px !important;
    }
    .ydd-iss--immersive[data-case-phase="demo"] .ydd-case-package strong {
        font-size: 10px !important;
    }
}

/* Clear action feedback and fluid screen transitions. */
.ydd-iss--immersive[data-case-phase="demo"] .ydd-case-app {
    animation: yddV190ScreenIn .38s cubic-bezier(.2,.75,.25,1) both;
}
.ydd-iss--immersive[data-case-phase="explain"] .ydd-iss__case-explanation-card {
    animation: yddV190ModalIn .42s cubic-bezier(.16,.8,.2,1) both;
}
.ydd-iss--immersive.ydd-iss--stage-transitioning .ydd-iss__case-guide,
.ydd-iss--immersive.ydd-iss--stage-transitioning .ydd-iss__case-workspace,
.ydd-iss--immersive.ydd-iss--stage-transitioning .ydd-iss__case-mobile-explanation {
    animation: yddV190ScreenIn .42s cubic-bezier(.2,.75,.25,1) both;
}

.ydd-iss__case-action-feedback {
    position: absolute;
    z-index: 80;
    top: 50%;
    left: 50%;
    display: flex;
    align-items: center;
    gap: 10px;
    max-width: min(420px, calc(100% - 36px));
    padding: 12px 16px;
    border: 1px solid rgba(16,185,129,.24);
    border-radius: 16px;
    color: #065f46;
    background: rgba(236,253,245,.98);
    box-shadow: 0 22px 55px rgba(16,24,40,.2);
    opacity: 0;
    pointer-events: none;
    transform: translate(-50%, -40%) scale(.92);
    transition: opacity .2s ease, transform .3s cubic-bezier(.2,.8,.2,1);
}
.ydd-iss__case-action-feedback.is-visible {
    opacity: 1;
    transform: translate(-50%, -50%) scale(1);
}
.ydd-iss__case-action-feedback > span {
    display: grid;
    place-items: center;
    width: 30px;
    height: 30px;
    flex: 0 0 auto;
    border-radius: 10px;
    color: #fff;
    background: #10b981;
    box-shadow: 0 7px 16px rgba(16,185,129,.24);
    font-size: 15px;
    font-weight: 900;
}
.ydd-iss__case-action-feedback strong {
    font-size: 13px;
    line-height: 1.3;
}
.ydd-is-action-highlight {
    animation: yddV190ActionHighlight .7s cubic-bezier(.2,.8,.2,1) both !important;
}

@keyframes yddV190ScreenIn {
    from { opacity: 0; transform: translateY(10px) scale(.995); }
    to { opacity: 1; transform: none; }
}
@keyframes yddV190ModalIn {
    from { opacity: 0; transform: translateY(20px) scale(.965); }
    to { opacity: 1; transform: none; }
}
@keyframes yddV190ActionHighlight {
    0% { box-shadow: 0 0 0 0 rgba(16,185,129,0); }
    35% { box-shadow: 0 0 0 7px rgba(16,185,129,.18), 0 18px 40px rgba(16,185,129,.14); }
    100% { box-shadow: 0 0 0 0 rgba(16,185,129,0); }
}

@media (prefers-reduced-motion: reduce) {
    .ydd-iss--immersive[data-case-phase="demo"] .ydd-case-app,
    .ydd-iss--immersive[data-case-phase="explain"] .ydd-iss__case-explanation-card,
    .ydd-is-action-highlight { animation: none !important; }
    .ydd-iss__case-action-feedback { transition: opacity .01ms linear !important; }
}

/* ========================================================================== 
   v1.10.0 · Stable header-aware viewport, complete alternate demos, and
   deliberate two-second action confirmations
   ========================================================================== */

/* The background page does not move while the studio is active. The genuine
   website header stays above the fixed studio and its desktop/mobile menus
   remain interactive. */
html.ydd-iss-mobile-demo-open,
body.ydd-iss-mobile-demo-open {
    width: 100% !important;
    height: 100% !important;
    overflow: hidden !important;
    overscroll-behavior: none !important;
}
body.ydd-iss-mobile-demo-open {
    position: static !important;
    inset: auto !important;
    margin: 0 !important;
}
.ydd-iss-site-header {
    z-index: 2147483000 !important;
    isolation: isolate;
}
.ydd-iss-site-header--static {
    position: relative !important;
}

.ydd-iss.ydd-iss--immersive,
body > .ydd-iss.ydd-iss--immersive {
    position: fixed !important;
    z-index: 2147482000 !important;
    top: var(--ydd-site-header-offset, 0px) !important;
    right: 0 !important;
    bottom: auto !important;
    left: 0 !important;
    width: var(--ydd-viewport-width, 100vw) !important;
    max-width: none !important;
    height: var(--ydd-viewport-height, 100dvh) !important;
    min-height: 0 !important;
    max-height: none !important;
    margin: 0 !important;
    overflow: hidden !important;
    contain: layout paint style;
    transform: translateZ(0) !important;
    -webkit-transform: translateZ(0) !important;
}
.ydd-iss--immersive .ydd-iss__shell,
.ydd-iss--immersive .ydd-iss__case-study,
.ydd-iss--immersive .ydd-iss__case-mobile-shell {
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    max-height: none !important;
    overflow: hidden !important;
}
.ydd-iss--immersive .ydd-iss__mobile-demo-viewport {
    min-height: 0 !important;
    overscroll-behavior: contain;
}

/* The active demonstration owns the only vertical scroller. This prevents the
   iPhone layout from jumping between the page, the studio, and the browser UI. */
.ydd-iss--immersive[data-case-phase="demo"] .ydd-iss__case-canvas,
.ydd-iss--immersive[data-case-phase="system"] .ydd-iss__mobile-system-canvas,
.ydd-iss--immersive[data-case-phase="setup"] .ydd-iss__mobile-demo-viewport,
.ydd-iss--immersive[data-case-phase="explain"] .ydd-iss__case-mobile-explanation {
    overscroll-behavior-y: contain !important;
    -webkit-overflow-scrolling: touch;
    touch-action: pan-y;
}
.ydd-iss--immersive[data-case-phase="demo"] .ydd-iss__case-canvas {
    overflow-x: hidden !important;
    overflow-y: auto !important;
    scroll-behavior: smooth;
    scroll-padding: 16px 0 36px;
}
.ydd-iss--immersive[data-case-phase="demo"] .ydd-case-app {
    height: auto !important;
    min-height: 100% !important;
    padding-bottom: max(28px, env(safe-area-inset-bottom)) !important;
    overflow: visible !important;
}
.ydd-iss--immersive[data-case-phase="demo"] .ydd-iss__case-workspace {
    position: relative;
    min-height: 0;
    overflow: hidden;
}
.ydd-iss--immersive[data-case-phase="demo"] .ydd-iss__case-browser {
    min-height: 0 !important;
    overflow: hidden !important;
}

/* Alternate systems also scroll inside their canvas. The last trust cards can
   now clear the persistent action row instead of being hidden underneath it. */
.ydd-iss--immersive[data-case-phase="system"] .ydd-iss__case-mobile-system {
    min-height: 0 !important;
    overflow: hidden !important;
}
.ydd-iss--immersive[data-case-phase="system"] .ydd-iss__mobile-system-canvas {
    min-height: 0 !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    padding-bottom: max(22px, env(safe-area-inset-bottom)) !important;
    scroll-padding-bottom: 42px;
    scrollbar-width: thin !important;
}
.ydd-iss--immersive[data-case-phase="system"] .ydd-iss__mobile-system-canvas::-webkit-scrollbar {
    display: block !important;
    width: 5px;
}
.ydd-iss--immersive[data-case-phase="system"] .ydd-iss__mobile-system-canvas::-webkit-scrollbar-thumb {
    border-radius: 999px;
    background: rgba(71,84,103,.26);
}
.ydd-iss--immersive[data-case-phase="system"] .ydd-iss__mobile-system-canvas > .ydd-demo {
    width: 100% !important;
    height: auto !important;
    min-height: 100% !important;
    padding-bottom: 22px !important;
    overflow: visible !important;
}
.ydd-iss--immersive[data-case-phase="system"] .ydd-demo-verification__trust {
    margin-bottom: 10px !important;
}
.ydd-iss--immersive[data-case-phase="system"] .ydd-iss__mobile-system-actions {
    position: relative;
    z-index: 4;
    flex: 0 0 auto;
    padding-top: 2px;
    background: linear-gradient(180deg, rgba(243,245,250,0), #f3f5fa 28%);
}

/* Explanation controls are a dedicated final grid row and never overlap the
   card, including when mobile browser chrome changes height. */
.ydd-iss--immersive[data-case-phase="demo"] .ydd-iss__mobile-demo-viewport,
.ydd-iss--immersive[data-case-phase="explain"] .ydd-iss__mobile-demo-viewport {
    grid-template-rows: auto minmax(0, 1fr) auto !important;
    min-height: 0 !important;
}
.ydd-iss--immersive[data-case-phase="explain"] .ydd-iss__case-mobile-explanation {
    min-height: 0 !important;
    max-height: 100% !important;
}
.ydd-iss--immersive[data-case-phase="explain"] .ydd-iss__case-explanation-card {
    max-height: 100% !important;
    margin: auto;
    overflow-y: auto !important;
}
.ydd-iss--immersive[data-case-phase="demo"] .ydd-iss__case-controls,
.ydd-iss--immersive[data-case-phase="explain"] .ydd-iss__case-controls {
    position: relative !important;
    z-index: 12;
    flex: 0 0 auto;
    min-height: 54px;
    padding-bottom: max(2px, env(safe-area-inset-bottom)) !important;
}

/* Completed schedule state is unmistakably successful rather than remaining
   purple after the reservation has been made. */
.ydd-iss--immersive .ydd-case-booking__summary button.is-success {
    color: #fff !important;
    border-color: #10b981 !important;
    background: linear-gradient(135deg, #10b981, #07966c) !important;
    box-shadow: 0 11px 24px rgba(16,185,129,.25) !important;
}
.ydd-iss--immersive .ydd-case-booking__summary button.is-success:hover,
.ydd-iss--immersive .ydd-case-booking__summary button.is-success:focus-visible {
    color: #fff !important;
    background: linear-gradient(135deg, #0eaa76, #087f5d) !important;
}

/* Confirmation feedback is shown near the top of the live application rather
   than covering its main controls. JavaScript keeps it visible for 2 seconds. */
.ydd-iss__case-action-feedback {
    position: absolute !important;
    z-index: 90;
    top: clamp(14px, 5%, 38px) !important;
    left: 50% !important;
    display: flex;
    align-items: center;
    gap: 10px;
    width: max-content;
    max-width: min(460px, calc(100% - 28px));
    min-height: 52px;
    padding: 10px 16px;
    border: 1px solid rgba(16,185,129,.3);
    border-radius: 16px;
    color: #065f46;
    background: rgba(236,253,245,.98);
    box-shadow: 0 18px 48px rgba(6,95,70,.2);
    opacity: 0;
    pointer-events: none;
    transform: translate(-50%, -12px) scale(.96);
    transition: opacity .22s ease, transform .34s cubic-bezier(.2,.8,.2,1);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
}
.ydd-iss__case-action-feedback.is-visible {
    opacity: 1;
    transform: translate(-50%, 0) scale(1);
}
.ydd-iss__case-action-feedback > span {
    width: 32px;
    height: 32px;
    border-radius: 10px;
}
.ydd-iss__case-action-feedback strong {
    font-size: 13px;
    line-height: 1.3;
}

/* Input focus may resize the visual viewport, but never changes the fixed
   relationship between the live site header and the studio. */
.ydd-iss--immersive.ydd-iss--field-focused {
    top: var(--ydd-site-header-offset, 0px) !important;
    width: var(--ydd-viewport-width, 100vw) !important;
    height: var(--ydd-viewport-height, 100dvh) !important;
}

@media (max-width: 720px) {
    .ydd-iss.ydd-iss--immersive,
    body > .ydd-iss.ydd-iss--immersive {
        min-height: 0 !important;
    }
    .ydd-iss--immersive .ydd-iss__mobile-demo-bar {
        padding-top: 9px !important;
    }
    .ydd-iss--immersive[data-case-phase="demo"] .ydd-iss__mobile-demo-viewport,
    .ydd-iss--immersive[data-case-phase="explain"] .ydd-iss__mobile-demo-viewport {
        gap: 7px !important;
        padding: 8px 9px max(7px, env(safe-area-inset-bottom)) !important;
    }
    .ydd-iss--immersive[data-case-phase="demo"] .ydd-iss__case-guide,
    .ydd-iss--immersive[data-case-phase="explain"] .ydd-iss__case-guide {
        padding: 9px 11px !important;
    }
    .ydd-iss--immersive[data-case-phase="system"] .ydd-iss__mobile-demo-viewport {
        padding: 8px 9px max(7px, env(safe-area-inset-bottom)) !important;
    }
    .ydd-iss__case-action-feedback {
        top: 10px !important;
        min-height: 48px;
        max-width: calc(100% - 22px);
        padding: 9px 12px;
    }
    .ydd-iss__case-action-feedback strong { font-size: 12px; }
    .ydd-iss--immersive[data-case-phase="system"] .ydd-demo-verification {
        padding-bottom: 16px !important;
    }
    .ydd-iss--immersive[data-case-phase="system"] .ydd-demo-verification__trust {
        padding-inline: 10px;
    }
}

@media (prefers-reduced-motion: no-preference) {
    .ydd-iss--immersive .ydd-case-booking__summary button.is-success {
        animation: yddV110SuccessButton .48s cubic-bezier(.2,.8,.2,1) both;
    }
}
@keyframes yddV110SuccessButton {
    0% { transform: scale(.94); box-shadow: 0 0 0 0 rgba(16,185,129,0); }
    55% { transform: scale(1.025); box-shadow: 0 0 0 8px rgba(16,185,129,.14); }
    100% { transform: none; box-shadow: 0 11px 24px rgba(16,185,129,.25); }
}

/* Final v1.10 fit refinements. */
@media (max-width: 1024px) {
    .ydd-iss--immersive[data-case-phase="demo"] .ydd-case-booking__grid > section:first-child {
        min-height: auto !important;
        height: auto !important;
        overflow: visible !important;
        padding-bottom: 10px !important;
    }
    .ydd-iss--immersive[data-case-phase="demo"] .ydd-case-packages {
        align-items: stretch;
    }
    .ydd-iss--immersive[data-case-phase="demo"] .ydd-case-package {
        height: auto !important;
        overflow: visible !important;
    }
}
.ydd-iss__case-action-feedback {
    top: clamp(58px, 10%, 82px) !important;
}
@media (max-width: 720px) {
    .ydd-iss__case-action-feedback { top: 56px !important; }
}

@media (max-width: 1024px) {
    /* Let the booking document establish its real height inside the contained
       canvas. Flex shrinking previously allowed the calendar and summary to
       paint outside the scrollable area without increasing scrollHeight. */
    .ydd-iss--immersive[data-case-phase="demo"] .ydd-case-booking {
        height: auto !important;
        min-height: 100% !important;
        grid-template-rows: none !important;
    }
    .ydd-iss--immersive[data-case-phase="demo"] .ydd-case-booking__grid {
        flex: 0 0 auto !important;
        height: auto !important;
        min-height: 0 !important;
        overflow: visible !important;
    }
    .ydd-iss--immersive[data-case-phase="demo"] .ydd-case-booking__grid > section:nth-child(2) {
        flex: 0 0 auto !important;
        height: auto !important;
        min-height: 0 !important;
        overflow: visible !important;
    }
    .ydd-iss--immersive[data-case-phase="demo"] .ydd-case-mobile-calendar {
        height: auto !important;
        min-height: 0 !important;
        overflow: visible !important;
    }
}

/* Desktop booking fit: preserve the full selected-schedule row above the
   persistent controls without shrinking type or requiring an initial scroll. */
@media (min-width: 1025px) {
    .ydd-iss--immersive[data-case-phase="demo"] .ydd-case-booking__hero {
        padding: 18px 36px 13px !important;
    }
}


/* ========================================================================== 
   v1.11.0 · Natural mobile document height and non-blocking confirmations
   ========================================================================== */

/* Longer mobile stages may scroll naturally inside the demonstration canvas.
   Their content is never squeezed into artificial grid tracks or clipped by
   the card that contains it. */
@media (max-width: 1024px) {
    .ydd-iss--immersive[data-case-phase="demo"] .ydd-iss__case-canvas {
        overflow-x: hidden !important;
        overflow-y: auto !important;
        scroll-behavior: auto !important;
        scroll-padding-top: 0 !important;
        scroll-padding-bottom: max(28px, env(safe-area-inset-bottom)) !important;
    }

    .ydd-iss--immersive[data-case-phase="demo"] .ydd-case-checkout {
        display: block !important;
        width: 100% !important;
        height: auto !important;
        min-height: 100% !important;
        overflow: visible !important;
    }

    .ydd-iss--immersive[data-case-phase="demo"] .ydd-case-checkout__grid {
        display: flex !important;
        flex-direction: column !important;
        grid-template-columns: none !important;
        grid-template-rows: none !important;
        width: 100% !important;
        height: auto !important;
        min-height: 0 !important;
        max-height: none !important;
        gap: 10px !important;
        padding: 0 10px max(30px, env(safe-area-inset-bottom)) !important;
        overflow: visible !important;
    }

    .ydd-iss--immersive[data-case-phase="demo"] .ydd-case-order,
    .ydd-iss--immersive[data-case-phase="demo"] .ydd-case-automation {
        flex: 0 0 auto !important;
        width: 100% !important;
        height: auto !important;
        min-height: 0 !important;
        max-height: none !important;
        overflow: visible !important;
    }

    .ydd-iss--immersive[data-case-phase="demo"] .ydd-case-schedule.is-compact {
        height: auto !important;
        min-height: 0 !important;
        max-height: none !important;
        overflow: visible !important;
    }

    .ydd-iss--immersive[data-case-phase="demo"] .ydd-case-schedule.is-compact .ydd-case-schedule-row {
        min-height: 50px !important;
        overflow: visible !important;
    }

    /* The final item in every long stage receives breathing room above the
       persistent controls without hiding or shrinking any content. */
    .ydd-iss--immersive[data-case-phase="demo"] .ydd-case-app {
        height: auto !important;
        min-height: 100% !important;
        max-height: none !important;
        overflow: visible !important;
        padding-bottom: max(24px, env(safe-area-inset-bottom)) !important;
    }
}

/* Only Student connected uses a floating confirmation. It is deliberately
   non-interactive and never disables the navigation controls. */
.ydd-iss__case-action-feedback:not([data-action="student-join"]) {
    display: none !important;
}
.ydd-iss__case-action-feedback[data-action="student-join"] {
    top: clamp(58px, 10%, 82px) !important;
}
@media (max-width: 720px) {
    .ydd-iss__case-action-feedback[data-action="student-join"] {
        top: 56px !important;
    }
}

/* ==========================================================================
   v1.11.1 · Mobile classroom containment and inline verification refinement
   ========================================================================== */

/* iOS may try to preserve a previous anchor when the live classroom replaces
   the student portal. Disable scroll anchoring so the existing JavaScript top
   reset is deterministic, and let the dark classroom background grow with its
   stacked mobile participants instead of ending before the content does. */
@media (max-width: 1024px) {
    .ydd-iss--immersive[data-case-phase="demo"] .ydd-iss__case-canvas,
    .ydd-iss--immersive[data-case-phase="demo"] .ydd-case-app {
        overflow-anchor: none !important;
    }
    .ydd-iss--immersive[data-case-phase="demo"] .ydd-case-room,
    .ydd-iss--immersive[data-case-phase="demo"] .ydd-case-room__stage {
        display: block !important;
        width: 100% !important;
        height: auto !important;
        min-height: 100% !important;
        overflow: visible !important;
        background: #101827 !important;
    }
    .ydd-iss--immersive[data-case-phase="demo"] .ydd-case-video-grid {
        height: auto !important;
        min-height: 0 !important;
    }
}

/* The record code is already supplied by the demonstration, so verification is
   a single clean action rather than a button preceded by an empty field. */
.ydd-iss--immersive .ydd-case-results__grid form {
    display: block;
}
.ydd-iss--immersive .ydd-case-results__grid form button {
    width: 100%;
    min-height: 42px;
}


/* ========================================================================== 
   v1.11.2 · Responsive homepage shortcut
   ========================================================================== */
.ydd-iss__mobile-home {
    display: none;
}

@media (max-width: 1024px) {
    .ydd-iss--guided-mobile .ydd-iss__mobile-demo-bar {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) auto auto;
        justify-content: initial !important;
        column-gap: 8px;
    }

    .ydd-iss--guided-mobile .ydd-iss__mobile-home {
        display: inline-flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        width: 44px;
        height: 44px;
        flex: 0 0 44px;
        gap: 2px;
        border: 1px solid rgba(109, 93, 252, .2);
        border-radius: 13px;
        color: #4f3fd0;
        background: rgba(109, 93, 252, .075);
        text-decoration: none !important;
        box-shadow: none;
        transition: transform .2s ease, border-color .2s ease, background-color .2s ease, box-shadow .2s ease;
        -webkit-tap-highlight-color: transparent;
    }

    .ydd-iss--guided-mobile .ydd-iss__mobile-home:hover,
    .ydd-iss--guided-mobile .ydd-iss__mobile-home:focus-visible {
        color: #4234ca;
        border-color: rgba(109, 93, 252, .38);
        background: rgba(109, 93, 252, .13);
        box-shadow: 0 7px 18px rgba(78, 63, 185, .12);
        transform: translateY(-1px);
        outline: none;
    }

    .ydd-iss--guided-mobile .ydd-iss__mobile-home svg {
        width: 17px;
        height: 17px;
        fill: none;
        stroke: currentColor;
        stroke-width: 1.9;
        stroke-linecap: round;
        stroke-linejoin: round;
    }

    .ydd-iss--guided-mobile .ydd-iss__mobile-home span {
        display: block;
        font-size: 8px;
        font-weight: 850;
        line-height: 1;
        white-space: nowrap;
    }
}

@media (max-width: 560px) {
    .ydd-iss--guided-mobile .ydd-iss__mobile-home {
        width: 40px;
        height: 40px;
        flex-basis: 40px;
        border-radius: 12px;
    }

    .ydd-iss--guided-mobile .ydd-iss__mobile-home svg {
        width: 16px;
        height: 16px;
    }

    .ydd-iss--guided-mobile .ydd-iss__mobile-home span {
        font-size: 7px;
    }
}


/* ========================================================================== 
   v1.11.3 · Universal homepage shortcut and clearer setup preview
   ========================================================================== */

/* The immersive studio can hide the site navigation at every viewport size,
   so the existing Home control remains available on desktop too. */
@media (min-width: 1025px) {
    .ydd-iss--guided-mobile .ydd-iss__mobile-demo-bar {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) auto auto;
        justify-content: initial !important;
        column-gap: 10px;
    }

    .ydd-iss--guided-mobile .ydd-iss__mobile-home {
        display: inline-flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        width: 44px;
        height: 44px;
        flex: 0 0 44px;
        gap: 2px;
        border: 1px solid rgba(109, 93, 252, .2);
        border-radius: 13px;
        color: #4f3fd0;
        background: rgba(109, 93, 252, .075);
        text-decoration: none !important;
        box-shadow: none;
        transition: transform .2s ease, border-color .2s ease, background-color .2s ease, box-shadow .2s ease;
    }

    .ydd-iss--guided-mobile .ydd-iss__mobile-home:hover,
    .ydd-iss--guided-mobile .ydd-iss__mobile-home:focus-visible {
        color: #4234ca;
        border-color: rgba(109, 93, 252, .38);
        background: rgba(109, 93, 252, .13);
        box-shadow: 0 7px 18px rgba(78, 63, 185, .12);
        transform: translateY(-1px);
        outline: none;
    }

    .ydd-iss--guided-mobile .ydd-iss__mobile-home svg {
        width: 17px;
        height: 17px;
        fill: none;
        stroke: currentColor;
        stroke-width: 1.9;
        stroke-linecap: round;
        stroke-linejoin: round;
    }

    .ydd-iss--guided-mobile .ydd-iss__mobile-home span {
        display: block;
        font-size: 8px;
        font-weight: 850;
        line-height: 1;
        white-space: nowrap;
    }
}

/* Increase only the compact journey-preview typography. */
.ydd-iss--immersive .ydd-iss__case-setup-preview > span {
    font-size: 10px;
}
.ydd-iss--immersive .ydd-iss__case-setup-preview article > b {
    font-size: 9px;
}
.ydd-iss--immersive .ydd-iss__case-setup-preview strong {
    font-size: 11px;
}
.ydd-iss--immersive .ydd-iss__case-setup-preview small {
    font-size: 8.5px;
}

@media (max-width: 560px) {
    .ydd-iss--immersive .ydd-iss__case-setup-preview > span {
        font-size: 10px;
    }
    .ydd-iss--immersive .ydd-iss__case-setup-preview article > b {
        font-size: 8.5px;
    }
    .ydd-iss--immersive .ydd-iss__case-setup-preview strong {
        font-size: 10px;
    }
    .ydd-iss--immersive .ydd-iss__case-setup-preview small {
        font-size: 8px;
    }
}
