.studio-page-content {
    --studio-navy: #19124F;
    --studio-navy-soft: #232a4d;
    --studio-orange: #FF7300;
    --studio-orange-soft: #FFF8EC;
    --studio-border: #e5e5e5;
    --studio-text-muted: #404040;
    --studio-gray: #313131;
    --studio-bg: #ffffff;
    background: var(--studio-bg);
    color: var(--studio-navy);
    font-family: Roboto, "Helvetica Neue", Arial, sans-serif;
    padding-top: 32px;
    padding-bottom: 32px;
    box-sizing: border-box;
}

body:has( .studio-zoom-modal) {
    overflow: hidden;
}

.studio-page-content *,
.studio-page-content *::before,
.studio-page-content *::after {
    box-sizing: border-box;
}

.studio-prompt::placeholder {
    color: #a1a1a1
}

.studio-page-content button:disabled {
    pointer-events: none;
}

.studio-tips-background {
    background-color: rgba(11 11 11 / 0%);
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    left: 0;
    z-index: 31;
    display: block;
}

.studio-desktop-left {
    height: 100%;
}

.studio-app {
    margin: 0 auto;
}

/* Section */
.studio-right-content {
    display: flex;
    flex-direction: column;
    grid-gap: 30px;
}

.studio-right-content > * {
    width: 100%;
}

.studio-section:not(.studio-history),
.studio-cta-wrap {
    padding: 0 14px;
}

.studio-section.studio-history {
    padding: 0 0 0 14px;
}

.studio-section-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 10px;
    grid-gap: 12px;
}

.studio-section-title {
    font-size: 18px;
    font-weight: 700;
    color: var(--studio-navy);
    margin: 0 0 10px;
    line-height: 1.2;
}
.studio-section-head .studio-section-title {
    margin-bottom: 0;
}

.studio-section-sub {
    font-weight: 400;
    color: var(--studio-navy);
    font-size: 16px;
}

/* Sparkle title */
.studio-sparkle-title {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 14px;
    font-size: 20px;
    color: #000;
    text-transform: capitalize;
    font-weight: 600;
}

.studio-desktop-generated {
    padding: 32px;
    border-radius: 9px;
    background: #F3F0FD;
    display: flex;
    flex-direction: column;
    grid-gap: 16px;
}

.studio-desktop-generated > * {
    width: 100%;
}

.studio-sparkle {
    width: 18px;
    height: 18px;
    display: inline-block;
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23ff6b1a'><path d='M12 2l1.6 5.6L19 9l-5.4 1.4L12 16l-1.6-5.6L5 9l5.4-1.4L12 2zm7 11l.9 2.7L23 17l-3.1.3L19 20l-.9-2.7L15 17l3.1-.3L19 13z'/></svg>");
    background-repeat: no-repeat;
    background-size: contain;
}

/* Tips button */
.studio-tips-btn {
    display: flex;
    align-items: center;
    grid-gap: 4px;
    background: transparent;
    border: none;
    padding: 4px;
    font-size: 16px;
    border-radius: 5px;
    color: var(--studio-text-muted);
    cursor: pointer;
    background-color: #fafafa;
}

.studio-tips-btn:hover {
    background-color: #f8f8f8;
}

.studio-tips-btn svg {
    color: var(--studio-text-muted);
}

/* Prompt */
.studio-prompt {
    width: 100%;
    border: 1px solid var(--studio-border);
    border-radius: 8px;
    padding: 10px 14px;
    font-size: 16px;
    color: var(--studio-gray);
    background: #fff;
    resize: vertical;
    outline: none;
    line-height: 1.45;
    font-family: inherit;
    min-height: 88px;
}

.studio-prompt:focus {
    border-color: var(--studio-orange);
    box-shadow: 0 0 0 3px rgba(255, 107, 26, 0.12);
}

.studio-prompt-row {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    margin-top: 6px;
}

.studio-prompt-row:has(.studio-improve-txt) {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    grid-gap: 6px;
}

.studio-improve-txt {
    font-size: 14px;
    color: #595959;
    white-space: nowrap;
}

.studio-improve-btn {
    display: flex;
    align-items: center;
    gap: 6px;
    background: var(--studio-orange-soft);
    border: 1px solid var(--studio-orange);
    color: var(--studio-orange);
    border-radius: 32px;
    padding: 9px 12px;
    font-size: 16px;
    font-weight: 700;
    cursor: pointer;
    transition: background-color 0.15s;
}

.studio-improve-btn:hover {
    background: var(--studio-orange);
    color: #fff;
}

.studio-improve-btn:disabled {
    opacity: 0.55;
    cursor: not-allowed;
}

.studio-improve-spinner {
    width: 14px;
    height: 14px;
    border-width: 2px;
}

.studio-improve-error {
    color: #c0392b;
    font-size: 13px;
    grid-column-start: span 2;
}

.studio-counter {
    font-size: 14px;
    color: var(--studio-gray);
}

/* Reference images */
.studio-ref-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 8px;
}

.studio-ref-add,
.studio-ref-item {
    position: relative;
    aspect-ratio: 1;
    border-radius: 8px;
    overflow: hidden;
}

.studio-ref-item {
    background-color: #f7f7f7;
}

.studio-ref-add {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 6px;
    border: 1px dashed var(--studio-border);
    background: #fff;
    color: var(--studio-gray);
    font-size: 14px;
    cursor: pointer;
    padding: 6px;
}

.studio-ref-add:hover {
    border-color: var(--studio-orange);
    color: var(--studio-orange);
}

.studio-ref-add:disabled {
    opacity: 0.5;
    cursor: not-allowed;
}

.studio-ref-item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    mix-blend-mode: multiply;
}

.studio-ref-remove {
    position: absolute;
    top: 4px;
    right: 4px;
    width: 20px;
    height: 20px;
    border-radius: 4px;
    border: none;
    background: rgba(255, 255, 255, 0.95);
    color: #555;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    padding: 0;
    z-index: 2;
}

.studio-ref-remove:hover {
    background: #fff;
}

.studio-ref-overlay {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(255, 255, 255, 0.65);
    color: var(--studio-orange);
    pointer-events: none;
    z-index: 1;
}

.studio-ref-spinner {
    width: 22px;
    height: 22px;
    border-width: 2.5px;
}

.studio-ref-error {
    background: rgba(192, 57, 43, 0.85);
    color: #fff;
    font-weight: 700;
    font-size: 18px;
}

.studio-ref-item.is-uploading img {
    filter: blur(0.5px) brightness(0.95);
}

/* CTA */
.studio-cta-wrap {
    margin: 24px 0 20px;
    text-align: center;
}

.studio-generate-btn {
    width: 100%;
    border: none;
    border-radius: 12px;
    background: var(--studio-orange);
    color: #fff;
    font-size: 18px;
    font-weight: 500;
    padding: 12px 14px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    cursor: pointer;
    transition: background-color 0.15s, transform 0.05s;
    line-height: 24px;
    border: 1px solid var(--studio-orange);
}

.studio-generate-btn:disabled {
    opacity: 0.7;
    pointer-events: none;
}

.studio-generate-btn:hover {
    background-color: var(--studio-orange-soft);
    color: var(--studio-orange);
}

.studio-generate-btn-loading,
.studio-generate-btn-loading:hover {
    background: var(--studio-orange-soft);
    color: var(--studio-orange);
}

.studio-cta-hint {
    margin-top: 10px;
    font-size: 16px;
    color: var(--studio-gray);
    display: flex;
    align-items: center;
    grid-gap: 4px;
}

.studio-generate-btn.generate-more {
    color: var(--studio-orange);
    background-color: var(--studio-orange-soft);
    border: 1px solid #FEA565;
    border-radius: 8px;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 12px 6px;
    grid-gap: 2px;
    line-height: 1.1;
    margin-top: 10px;
}

.studio-generate-btn.generate-more:hover {
    border-color: var(--studio-orange);
    background-color: var(--studio-orange-soft);
}

.generate-more small {
    font-weight: 400;
    font-size: 13px;
}

/* Spinner */
.studio-spinner {
    width: 18px;
    height: 18px;
    border-radius: 50%;
    border: 2px solid currentColor;
    border-right-color: transparent;
    display: inline-block;
    animation: studio-spin 0.8s linear infinite;
}

@keyframes studio-spin {
    to { transform: rotate(360deg); }
}

/* Results grid */
.studio-design-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 14px;
}

.studio-design-card {
    position: relative;
    aspect-ratio: 1;
    border-radius: 11px;
    cursor: pointer;
    background: #fff;
    border: 1px solid #fff;
    transition: all 250ms ease-in-out;
}

.studio-design-card:hover {
    border-color: var(--studio-orange);
}

.studio-design-card img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    pointer-events: none;
}

.history-wrapper {
    position: relative;
    overflow: hidden;
}

.history-item {
    position: relative;
}

.history-wrapper .studio-history-button {
    --swiper-navigation-size: 18px;
    position: absolute;
    top: 14px;
    right: 0;
    width: 40px;
    height: 40px;
    background: rgba(255 255 255 / 50%);
    border-radius: 50%;
    box-shadow: none;
    border-radius: 5px;
    border: 1px solid transparent;
    transition: all 250ms ease-in-out;
}

.history-wrapper .studio-history-button:hover {
    border-color: var(--studio-navy-soft);
}

.studio-design-menu-btn {
    position: absolute;
    top: 8px;
    right: 8px;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    border: none;
    background: rgba(255, 255, 255, 0.95);
    color: var(--studio-navy);
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    box-shadow: 0 1px 3px rgba(0,0,0,0.08);
    padding: 0;
    font-size: 15px;
}

.studio-history-button.studio-hist-swiper-prev {
    right: 52px;
    left: auto;
}

.studio-design-generating {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    grid-gap: 2px;
    font-size: 14px;
    color: #595959;
}

.studio-design-generating-content {
    background-color: #fff;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    position: absolute;
    top: 2px;
    left: 2px;
    width: calc(100% - 4px);
    height: calc(100% - 4px);
    z-index: 2;
    border-radius: 16px;
}

.studio-design-generating {
    position: relative;
    border-radius: 20px;
    overflow: hidden;
    padding: 2px;
}

.studio-design-generating::before {
    content: "";
    position: absolute;
    inset: -50%;
    background: conic-gradient(
        transparent 0deg,
        transparent 300deg,
        #7b61ff 330deg,
        #ff8a00 360deg
    );
    animation: rotateBorder 4000ms linear infinite;
}

.studio-design-generating::after {
    content: "";
    background-color: #fff;
    position: absolute;
    top: 2px;
    left: 2px;
    width: calc(100% - 4px);
    height: calc(100% - 4px);
    display: block;
    border-radius: 16px;
}

.studio-design-generating {
    position: relative;
    z-index: 1;
    background: #fff;
    border-radius: 18px;
    width: 100%;
    height: 100%;
}

@keyframes rotateBorder {
    to {
        transform: rotate(360deg);
    }
}

.studio-design-generating img {
    width: 130px;
    height: 130px;
}

.text-creating small {
    font-weight: 400;
    font-size: 15px;
}

.studio-design-menu-btn:hover {
    color: var(--studio-orange);
}

.studio-design-menu {
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    background: #fff;
    border-radius: 21px 21px 0 0;
    box-shadow: 0 6px 36px rgba(11 11 11 / 11%);
    overflow: hidden;
    z-index: 99;
    min-width: 150px;
    padding: 14px 0;
}

.studio-design-menu button,
.studio-design-menu a {
    display: flex;
    align-items: center;
    gap: 10px;
    width: 100%;
    text-align: left;
    background: none;
    border: none;
    padding: 14px 24px;
    font-size: 16px;
    color: #111;
    cursor: pointer;
}

.studio-design-menu button:hover,
.studio-design-menu a:hover {
    background: var(--studio-orange-soft);
    color: var(--studio-orange);
}

.studio-detail .studio-design-menu {
    position: absolute;
    top: 54px;
    right: 22px;
    width: max-content;
    height: max-content;
    left: auto;
    border-radius: 7px;
    padding: 4px 0;
    overflow: visible;
    box-shadow: 0 4px 16px rgba(11 11 11 / 11%);
}

.studio-detail .studio-design-menu::before {
    content: "";
    background: #fff;
    width: 10px;
    height: 10px;
    transform: rotate(45deg);
    position: absolute;
    right: 19px;
    top: -5px;
    z-index: 9999;
}

/* History row */
.studio-history-row {
    display: flex;
    gap: 10px;
    overflow-x: auto;
    padding-bottom: 4px;
}

.studio-history-row::-webkit-scrollbar { display: none; }
.studio-history-row { scrollbar-width: none; }

.studio-history-card {
    flex: 0 0 150px;
    scroll-snap-align: start;
    aspect-ratio: 1;
    background-color: #f8f8f8;
}

/* Detail view */
.studio-detail {
    max-width: 520px;
    margin: 0 auto;
    padding: 0 14px;
    position: relative;
}

.studio-detail-card {
    position: relative;
    border-radius: 14px;
    overflow: hidden;
    background: #f3f4f6;
    aspect-ratio: 1;
    margin-bottom: 14px;
}

.studio-detail-card img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    mix-blend-mode: multiply;
}

.studio-detail-head {
    display: flex;
    align-items: center;
    grid-gap: 10px;
    color: var(--studio-navy);
    font-size: 18px;
    font-weight: 600;
    margin-bottom: 16px;
    cursor: pointer;
}

.studio-detail-back {
    display: flex;
    align-items: center;
    justify-content: center;
}

.studio-detail-menu-btn {
    position: absolute;
    top: 12px;
    right: 12px;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    border: none;
    background: rgba(255, 255, 255, 0.97);
    color: var(--studio-navy);
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    box-shadow: 0 1px 4px rgba(0,0,0,0.1);
    padding: 0;
}

.studio-print-btn {
    margin-bottom: 14px;
}

.studio-edit-btn {
    width: 100%;
    border: 1px solid var(--studio-orange);
    background: #fff;
    color: var(--studio-orange);
    border-radius: 12px;
    padding: 13px 14px;
    font-size: 18px;
    font-weight: 500;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    cursor: pointer;
}

.studio-edit-btn:hover {
    background: var(--studio-orange-soft);
}

.studio-section-head-tip {
    position: relative;
}

/* Tips modal */
.studio-tips-modal {
    position: absolute;
    right: -5px;
    top: calc(100% + 8px);
    width: max-content;
    left: auto;
    z-index: 9;
}

.studio-tips-card {
    background: #FEF7F1;
    border-radius: 12px;
    padding: 16px;
    max-width: 350px;
    width: 100%;
    box-shadow: 0 6px 36px rgba(11 11 11 / 11%);
}

.studio-tips-card h3 {
    margin: 0 0 12px;
    font-size: 17px;
    color: var(--studio-navy);
}

.studio-tips-card ul {
    padding-left: 18px;
    margin: 0 0 18px;
    color: var(--studio-navy-soft);
    font-size: 14px;
    line-height: 1.55;
    list-style: none;
    padding: 0;
}

.studio-tips-card ul li {
    display: flex;
    align-items: center;
    grid-gap: 8px;
    color: #404040;
    font-size: 14px;
}

.studio-tips-card li + li {
    margin-top: 12px;
}

.studio-tips-modal::before {
    content: "";
    position: absolute;
    right: 22px;
    top: -7px;
    width: 12px;
    height: 12px;
    background: #FEF7F1;
    transform: rotate(45deg);
}

.studio-tips-head {
    display: flex;
    align-items: center;
    grid-gap: 12px;
    font-size: 18px;
    color: #171717;
    font-weight: 600;
    margin-bottom: 18px;
}

.studio-tips-head-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    background: #FEEBDD;
    border-radius: 50px;
}

.studio-tips-close {
    width: 100%;
    border: none;
    background: var(--studio-orange);
    color: #fff;
    border-radius: 999px;
    padding: 12px;
    font-weight: 700;
    cursor: pointer;
}

.studio-design-menu-bg {
    position: fixed;
    inset: 0;
    width: 100vw;
    height: 100vh;
    background: rgba(000, 000, 000, .3);
    z-index: 9;
}

.studio-edit-section-image {
    border-radius: 14px;
    display: flex;
}

.studio-edit-section-image img {
    border-radius: 14px;
}

/* ================================================
   MOBILE / DESKTOP LAYOUT TOGGLE
   ================================================ */
.studio-layout-mobile { display: block; }
/* .studio-layout-desktop { display: none; } */

@media (min-width: 992px) {
    .studio-layout-mobile { display: none; }
    .studio-layout-desktop {
        display: grid;
        grid-template-columns: minmax(0, 1fr) 420px;
        gap: 40px;
        align-items: start;
    }
    .studio-layout-desktop .studio-section:not(.studio-history),
    .studio-layout-desktop .studio-cta-wrap {
        padding: 0;
    }
    .studio-layout-desktop .studio-design-menu {
        position: absolute;
        bottom: auto;
        left: auto;
        top: 44px;
        right: 6px;
        border-radius: 8px;
        padding: 0;
        min-width: 170px;
        width: max-content;
        overflow: visible;
        display: flex;
        flex-direction: column;
        z-index: 9999;
    }

    .studio-layout-desktop .studio-design-menu::before {
        bottom: 100%;
        right: 14px;
        border: solid transparent;
        content: "";
        height: 0;
        width: 0;
        position: absolute;
        pointer-events: none;
        border-color: rgba(255, 255, 255, 0);
        border-bottom-color: #fff;
        border-width: 6px;
        margin-left: -6px;
    }

    .studio-layout-desktop .studio-design-menu::after {
        content: "";
        width: 40%;
        height: calc(100% + 30px);
        display: block;
        background-color: rgba(11 11 11 / 0%);
        position: absolute;
        top: -36px;
        z-index: -1;
        right: 0;
    }

    .studio-tips-modal::after {
        content: "";
        width: 100%;
        height: 100%;
        display: block;
        position: absolute;
        top: -30px;
        right: 0;
        background-color: rgba(11 11 11 / 0%);
    }

    .studio-design-menu-item:first-child {
        border-radius: 8px 8px 0 0;
    }
    
    .studio-design-menu-item:last-child {
        border-radius: 0 0 8px 8px;
    }

    .studio-layout-desktop .studio-design-menu button, .studio-layout-desktop .studio-design-menu a {
        padding: 8px 14px;
        font-size: 16px;
    }
    .studio-layout-desktop .studio-design-menu-bg {
        display: none;
    }
}

@media (min-width: 1280px) {
    .studio-layout-desktop {
        grid-template-columns: minmax(0, 1fr) 490px;
    }
}

/* ================================================
   DESKTOP LEFT PANEL
   ================================================ */

/* --- Hero (new user) --- */
.studio-desktop-hero {
    background: #F3F0FD;
    border-radius: 24px;
    padding: 32px;
    text-align: center;
}

.studio-hero-illustration {
    display: flex;
    justify-content: center;
    margin: 0 auto;
}

.studio-hero-illustration img {
    
    object-fit: contain;
}

.studio-hero-title {
    font-size: 24px;
    font-weight: 700;
    color: #262626;
    margin: 0;
    line-height: 1.35;
}

.studio-hero-title .studio-hero-ai {
    color: var(--studio-orange);
}

.studio-hero-desc {
    font-size: 14px;
    color: #262626;
    margin: 0 0 16px;
    line-height: 1.5;
    margin-left: auto;
    margin-right: auto;
}

.studio-hero-features {
    display: flex;
    justify-content: center;
    grid-gap: 24px;
    margin: 24px auto 32px;
    text-align: left;
}

.studio-hero-feature {
    display: flex;
    align-items: flex-start;
    gap: 12px;
}

.studio-hero-feature-icon {
    width: 42px;
    height: 42px;
    border-radius: 50px;
    background: #FFF8EC;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    color: var(--studio-orange);
}

.studio-hero-feature strong {
    display: block;
    font-size: 16px;
    font-weight: 600;
    color: #262626;
    margin-bottom: 3px;
}

.studio-hero-feature p {
    font-size: 14px;
    color: #737373;
    margin: 0;
    line-height: 1.4;
}

.studio-hero-samples-label {
    font-size: 16px;
    font-weight: 600;
    color: #171717;
    margin: 0 0 8px;
}

.studio-sample-chips {
    display: flex;
    flex-wrap: wrap;
    grid-gap: 6px 8px;
    justify-content: center;
    text-align: left;
}

.studio-sample-chip {
    background: var(--studio-orange-soft);
    border: 1px solid #ebe1ce;
    border-radius: 8px;
    padding: 8px 10px;
    font-size: 16px;
    color: #595959;
    transition: border-color 0.15s, color 0.15s;
    line-height: 1.4;
    text-align: left;
    display: block;
    transition: all 250ms ease-in-out;
}

.studio-sample-chip:hover {
    color: var(--studio-orange);
    border-color: var(--studio-orange);
}

.studio-welcome-header {
    display: flex;
    align-items: center;
    grid-gap: 8px;
    border-radius: 9px 9px 0 0;
    padding: 24px 24px 10px 24px;
}

.studio-welcome-header-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.studio-welcome-header h2 {
    font-size: 24px;
    font-weight: 700;
    color: #262626;
    margin: 0;
}

.studio-welcome-header p {
    font-size: 14px;
    color: #595959;
    margin: 0;
}

.studio-welcome-history-title {
    font-size: 20px;
    font-weight: 700;
    color: #171717;
    position: sticky;
    margin: 0;
    padding: 16px 24px;
    border-radius: 9px 9px 0 0;
    z-index: 1;
    top: 0;
    background-color: #f3f0fd;
}

.studio-history-filter-tabs {
    display: flex;
    gap: 8px;
    margin-bottom: 12px;
    flex-wrap: wrap;
}

.studio-history-filter-tab {
    background: #fff;
    border: 1px solid transparent;
    border-radius: 999px;
    padding: 6px 18px;
    font-size: 14px;
    color: var(--studio-gray);
    cursor: pointer;
    transition: all 0.15s;
    line-height: 1.4;
}

.studio-history-filter-tab.active {
    background: var(--studio-orange);
    color: #fff;
    border-color: var(--studio-orange);
}

.studio-history-filter-tab:hover:not(.active) {
    border-color: var(--studio-orange);
    color: var(--studio-orange);
}

.studio-desktop-history-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    grid-gap: 12px;
    padding: 0 24px;
}

/* --- Generated designs: carousel --- */
.studio-carousel {
    position: relative;
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 10px;
}

.studio-carousel-main {
    flex: 1;
    position: relative;
    border-radius: 16px;
    overflow: hidden;
    background: #fff;
    aspect-ratio: 1;
}

.studio-carousel-main img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.studio-carousel-main-overlay {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    padding: 12px 20px 12px 12px;
    gap: 8px;
}

.studio-carousel-print-btn {
    border-radius: 32px;
    background-color: var(--studio-orange);
    padding: 2px;
    font-size: 16px;
    font-weight: 600;
    color: var(--studio-orange);
    cursor: pointer;
    flex-shrink: 0;
    margin-right: auto;
    border: none;
    transition: background 0.15s, color 0.15s;
    position: relative;
    overflow: hidden;
}

.studio-carousel-print-btn-content {
    background-color: #fff;
    padding: 10px 16px;
    border-radius: 32px;
    display: flex;
    align-items: center;
    grid-gap: 6px;
    justify-content: center;
    position: relative;
    z-index: 2;
}

.studio-carousel-print-btn-content:hover {
    background-color: var(--studio-orange);
    color: #fff;
}

@keyframes spin {
    to {
        transform: rotate(360deg);
    }
}

.studio-carousel-icon-btns {
    display: flex;
    gap: 6px;
    flex-shrink: 0;
}

.studio-carousel-icon-btn {
    width: 40px;
    height: 40px;
    border-radius: 50px;
    border: none;
    background: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    padding: 0;
    color: #000;
}

.studio-carousel-icon-btn:hover {
    color: var(--studio-orange);
    background-color: rgba(11 11 11 / 5%);
}

.studio-carousel-nav {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    border: 1px solid var(--studio-border);
    background: #fff;
    color: var(--studio-navy);
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    flex-shrink: 0;
    box-shadow: 0 1px 4px rgba(0,0,0,0.08);
    padding: 0;
    transition: border-color 0.15s, color 0.15s;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 9;
}

.studio-carousel-nav-prev {
    left: 8px;
}

.studio-carousel-nav-next {
    right: 8px;
}

.studio-carousel-nav:hover:not([disabled]) {
    border-color: var(--studio-orange);
    color: var(--studio-orange);
}

.studio-carousel-nav[disabled] {
    opacity: 0.3;
    pointer-events: none;
}

.studio-carousel-thumbs {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    grid-gap: 10px;
    margin-bottom: 32px;
}

.is-editing .studio-carousel-nav,
.studio-carousel-thumbs:has( :only-child),
.is-editing .studio-carousel-thumbs {
    display: none;
}

.studio-carousel-thumb {
    flex: 1;
    aspect-ratio: 1;
    border-radius: 8px;
    overflow: hidden;
    cursor: pointer;
    border: 2px solid transparent;
    transition: border-color 0.15s;
    background: #fff;
    position: relative;
}

.studio-carousel-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.studio-carousel-thumb.active {
    border-color: var(--studio-orange);
}

.studio-desktop-hist-head {
    font-size: 20px;
    font-weight: 700;
    color: #171717;
    margin: 0;
}

.studio-desktop-hist-sub {
    font-size: 14px;
    color: #737373;
    margin: 0 0 12px;
}

.studio-desktop-hist-scroll:not(.swiper-initialized) .swiper-wrapper {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    grid-gap: 12px;
}

.studio-desktop-hist-scroll:not(.swiper-initialized) .swiper-wrapper .studio-desktop-hist-card:nth-child(n + 5),
.studio-desktop-hist-scroll:not(.swiper-initialized) .swiper-button-next,
.studio-desktop-hist-scroll:not(.swiper-initialized) .swiper-button-prev {
    display: none;
} 

.studio-desktop-hist-card {
    border-radius: 8px;
    cursor: pointer;
    background: #fff;
    transition: opacity 0.15s;
    position: relative;
}

.history-item::before{
    content: "";
    padding-bottom: 100%;
    display: block;
}

.studio-desktop-hist-card:hover { opacity: 0.85; }

.studio-desktop-hist-card img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    position: absolute;
    top: 0;
    left: 0;
}

.studio-hist-swiper-prev::after,
.studio-hist-swiper-next::after {
    font-size: 14px;
    font-weight: 700;
    color: #171717;
}

/* --- Edit preview --- */
.studio-desktop-edit-preview {
    position: relative;
    border-radius: 20px;
    overflow: hidden;
    background: #F3F4F6;
    aspect-ratio: 1;
}

.studio-desktop-edit-preview img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.studio-desktop-back,
.studio-desktop-edit-expand {
    position: absolute;
    top: 12px;
    right: 12px;
    width: 36px;
    height: 36px;
    border-radius: 36px;
    border: none;
    background: rgba(255, 255, 255, 0.97);
    color: var(--studio-navy);
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    box-shadow: 0 1px 4px rgba(0,0,0,0.1);
    z-index: 2;
    padding: 0;
}

.selected {
    border-radius: 5px;
    background-color: var(--studio-orange);
    color: #fff;
    padding: 4px 6px;
    line-height: 1.4;
    position: absolute;
    bottom: 6px;
    left: 6px;
    width: fit-content;
    font-size: 13px;
    pointer-events: none;
    opacity: 0;
    transform: all 250ms ease-in-out;
}

.active .selected {
    opacity: 1;
}

.studio-desktop-back {
    right: 60px;
}

.studio-desktop-back:hover,
.studio-desktop-edit-expand:hover {
    color: var(--studio-orange);
}

/* ================================================
   DESKTOP RIGHT PANEL
   ================================================ */
.studio-desktop-right {
    position: sticky;
    top: 24px;
}

.studio-edit-form-subtitle {
    font-size: 14px;
    color: var(--studio-gray);
    margin: -4px 0 16px;
    line-height: 1.55;
}

/* 2x2 grid action buttons after generation */
.studio-desktop-action-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
    width: 100%;
    margin: 16px auto;
}

.studio-desktop-action-grid .studio-generate-btn {
    width: 100%;
    font-size: 16px;
    padding: 8px 10px;
    border-radius: 8px;
    border: 1px solid var(--studio-orange);
}

.studio-desktop-action-grid .studio-edit-btn {
    width: 100%;
    font-size: 16px;
    padding: 12px 10px;
    border-radius: 8px;
    color: #4329D6;
    border: 1px solid #AE9DF3;
    background: #F3F1FE;
}

.studio-desktop-outline-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    width: 100%;
    border: 1px solid #DDEEE3;
    background: #F2F9F3;
    color: #40A16A;
    border-radius: 8px;
    padding: 12px 10px;
    font-size: 16px;
    font-weight: 500;
    cursor: pointer;
    transition: border-color 0.15s, color 0.15s;
    line-height: 1;
}

.studio-desktop-outline-btn.btn-recreate {
    color: #0566F0;;
    border: 1px solid #B0CDFC;
    background: #F1F6FD;
}

/* Edit mode action row: Download | Recreate | Generate Design */
.studio-desktop-edit-actions {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 10px;
    margin: 16px auto;
}

.studio-desktop-edit-actions .studio-generate-btn {
    width: 100%;
    font-size: 16px;
    padding: 8px 10px;
    border-radius: 8px;
}

/* Desktop CTA (generate button area) */
.studio-desktop-cta {
    display: grid;
    grid-template-columns: 1.5fr 1fr;
    grid-gap: 10px 20px;
    align-items: center;
}

.studio-desktop-cta .studio-generate-btn {
    width: 100%;
    padding: 12px 10px;
    font-size: 16px;
    border-radius: 8px;
    white-space: nowrap;
    position: relative;
    z-index: 2;
}

.studio-desktop-cta .studio-cta-hint {
    margin-top: 0;
    font-size: 13px;
    color: #818181;
}

.studio-desktop-cta.is-loading::before {
    content: "";
    width: 100%;
    height: 100%;
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
    background-color: rgba(11 11 11 / 0%);
}

.studio-desktop-welcome {
    padding: 0;
    background: #F3F0FD;
    border-radius: 9px;
    height: 100%;
}

.studio-desktop-welcome::after {
    content: "";
    width: 100%;
    height: 50px;
    display: block;
    position: sticky;
    bottom: 0;
    left: 0;
    background-image: -webkit-gradient(linear, left top, left bottom, from(rgba(243 240 253 / 0)), to(#f3f0fd));
    background-image: linear-gradient(180deg, rgba(243 240 253 / 0), #f3f0fd);
    pointer-events: none;
}

.try-sample .studio-sample-chips {
    justify-content: flex-start;
}

/* ================================================
   OLD DESKTOP OVERRIDES (mobile layout hidden on desktop)
   ================================================ */
/* ---------- Desktop layout (>= 992px) ---------- */
@media (min-width: 992px) {

    .studio-section-title {
        font-size: 20px;
    }

    .studio-section-sub {
        font-size: 15px;
    }

    /* Main view: form sidebar + results panel */
    .studio-main {
        display: grid;
        grid-template-columns: minmax(360px, 420px) minmax(0, 1fr);
        column-gap: 36px;
        row-gap: 12px;
        align-items: start;
    }

    .studio-main > .studio-section:nth-of-type(1),
    .studio-main > .studio-section:nth-of-type(2),
    .studio-main > .studio-cta-wrap {
        grid-column: 1;
        margin-bottom: 18px;
    }

    .studio-main > .studio-cta-wrap {
        margin: 8px 0 0;
    }

    .studio-results,
    .studio-history {
        grid-column: 2;
        margin-bottom: 32px;
    }

    /* When designs have been generated: results take rows 1-2, history below */
    .studio-main-has-designs .studio-results {
        grid-row: 1 / span 2;
    }

    .studio-main-has-designs .studio-history {
        grid-row: 3 / span 1;
    }

    /* When no designs yet: history floats to the top of column 2 */
    .studio-main:not(.studio-main-has-designs) .studio-history {
        grid-row: 1 / span 3;
        align-self: start;
    }

    .studio-prompt {
        min-height: 110px;
        font-size: 16px;
    }

    /* Reference images: 5 across on desktop */
    .studio-ref-grid {
        grid-template-columns: repeat(5, 1fr);
    }

    /* CTA bigger on desktop */
    .studio-generate-btn {
        font-size: 18px;
        padding: 18px 24px;
    }

    /* Results grid: 3 columns on desktop */
    .studio-design-grid {
        grid-template-columns: repeat(3, 1fr);
        gap: 14px;
    }

    .studio-design-menu-btn {
        width: 346x;
        height: 36px;
    }

    /* History cards wider */
    .studio-history-card {
        flex: 0 0 200px;
    }

    .studio-sparkle {
        width: 22px;
        height: 22px;
    }

    /* Detail view: image on left, actions stacked on right */
    .studio-detail {
        max-width: 980px;
        display: grid;
        grid-template-columns: minmax(0, 1fr) 320px;
        column-gap: 36px;
        row-gap: 14px;
        align-items: start;
    }

    .studio-detail-card {
        grid-column: 1;
        grid-row: 1 / span 2;
        margin-bottom: 0;
        max-width: 600px;
        justify-self: center;
        width: 100%;
    }

    .studio-print-btn,
    .studio-edit-btn {
        margin-bottom: 0;
        font-size: 17px;
    }

    .studio-print-btn {
        grid-row: 1;
        align-self: end;
    }

    .studio-edit-btn {
        align-self: start;
    }

    .studio-tips-card {
        max-width: 480px;
        padding: 24px;
    }

    .studio-tips-card h3 {
        font-size: 19px;
    }

    .studio-desktop-welcome {
        max-height: 74vh;
        overflow-y: auto;
    }
}

/* ---------- Wider desktop (>= 1280px) ---------- */
@media (min-width: 1280px) {
    .studio-main {
        grid-template-columns: minmax(380px, 440px) minmax(0, 1fr);
        column-gap: 48px;
    }

    .studio-design-grid {
        gap: 16px;
    }

    .studio-history-card {
        flex: 0 0 220px;
    }
}

/* Fullscreen Zoom Modal */
.studio-zoom-modal {
    position: fixed;
    inset: 0;
    width: 100vw;
    height: 100vh;
    background: rgba(0, 0, 0, 0.4);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 10000;
    animation: studioFadeIn 0.2s ease-out;
}

.studio-zoom-card {
    background: #ffffff;
    border-radius: 24px;
    position: relative;
    max-width: 60vw;
    max-height: 80vh;
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.15);
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    animation: studioZoomIn 0.25s cubic-bezier(0.34, 1.56, 0.64, 1);
}

.zoom-slider-nav {
    width: 100%;
    display: flex;
    justify-content: flex-end;
    align-items: center;
    grid-gap: 10px;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 2;
    padding: 12px 16px;
}

.history-item img {
    border-radius: 8px;
    pointer-events: none;
}

.studio-zoom-close-btn {
    background: none;
    border: none;
    cursor: pointer;
    color: #595959;
    background: rgba(255, 255, 255, .6);
    padding: 6px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    transition: background-color 0.2s, color 0.2s;
}

.studio-zoom-close-btn:hover {
    background-color: rgba(0, 0, 0, 0.05);
    color: #111111;
}

.studio-zoom-img-container {
    max-width: 100%;
    max-height: 100%;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: grab;
    user-select: none;
    border-radius: 12px;
}

.studio-zoom-img-container:active {
    cursor: grabbing;
}

.studio-zoom-image {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
    transition: transform 0.05s ease-out;
    pointer-events: none;
}

/* Slider styling on the left */
.studio-zoom-slider-wrapper {
    position: absolute;
    left: 20px;
    top: 50%;
    transform: translateY(-50%);
    width: 34px;
    height: 150px;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 10001;
    border-radius: 32px;
    background-color: rgba(255, 255, 255, .6);
}

.studio-zoom-slider {
    -webkit-appearance: none;
    appearance: none;
    width: 240px; /* Width becomes height when rotated */
    height: 6px;
    background: #e2e8f0;
    border-radius: 3px;
    outline: none;
    transform: rotate(-90deg);
    margin: 0;
    cursor: pointer;
}

/* Chrome/Safari track & thumb */
.studio-zoom-slider::-webkit-slider-thumb {
    -webkit-appearance: none;
    appearance: none;
    width: 20px;
    height: 20px;
    border-radius: 50%;
    background: #FF7300;
    cursor: pointer;
    box-shadow: 0 2px 6px rgba(255, 115, 0, 0.4);
    transition: transform 0.1s;
}

.studio-zoom-slider::-webkit-slider-thumb:hover {
    transform: scale(1.15);
}

/* Firefox track & thumb */
.studio-zoom-slider::-moz-range-thumb {
    width: 20px;
    height: 20px;
    border: none;
    border-radius: 50%;
    background: #FF7300;
    cursor: pointer;
    box-shadow: 0 2px 6px rgba(255, 115, 0, 0.4);
    transition: transform 0.1s;
}

.studio-zoom-slider::-moz-range-thumb:hover {
    transform: scale(1.15);
}

@keyframes studioFadeIn {
    from { opacity: 0; }
    to { opacity: 1; }
}

@keyframes studioZoomIn {
    from { transform: scale(0.92); opacity: 0; }
    to { transform: scale(1); opacity: 1; }
}

.design-generator-banner-wrapper {
    padding: 10px 14px;
    position: relative;
}

.design-generator-banner-content {
    position: relative;
    z-index: 1;
}

.design-generator-banner-img {
    position: absolute;
    top: 50%;
    right: 0;
    transform: translateY(-50%);
    z-index: 0;
}

/* Mobile responsive adjustments */
@media (max-width: 767px) {
    
    .header-navigation-block {
        display: none;
    }

    .studio-section.studio-history {
        padding: 0;
    }

    .studio-section-head-tip {
        display: flex;
        justify-content: flex-end;
    }

    .studio-tips-btn {
        font-size: 16px;
        position: absolute;
        bottom: 6px;
        padding: 4px 10px;
        border-radius: 16px;
        background: #FFF;
        box-shadow: 0 6px 36px 0 rgba(0, 0, 0, 0.11);
        color: var(--studio-orange);
        line-height: 1.4;
        z-index: 2;
    }

    .studio-tips-modal {
        top: calc(100% + 4px);
        right: 12px;
    }

    .studio-tips-modal::before {
        right: 30px;
    }

    .studio-page-content {
        border-top: 1px solid #f1f1f1;
        margin-top: 0;
        visibility: visible;
        min-height: 100vw;
        padding: 16px 0;
    }

    .studio-zoom-card {
        padding: 48px 16px 16px 16px;
        flex-direction: column;
        max-width: 95%;
        max-height: 90%;
    }
    .studio-zoom-img-container {
        width: 320px;
        height: 320px;
    }
    .studio-zoom-slider-wrapper {
        position: static;
        transform: none;
        width: 100%;
        height: auto;
        margin-bottom: 16px;
        order: -1;
    }
    .studio-zoom-slider {
        transform: none;
        width: 100%;
    }
    .studio-edit-section-image {
        background-color: #f8f8f8;
    }
    .studio-design-card {
        flex: inherit;
        min-width: 35vw;
        background-color: #f8f8f8;
    }

    .sample-prompt {
        padding-left: 14px;
        padding-right: 14px;
    }

    .studio-main {
        display: flex;
        flex-direction: column;
        grid-gap: 20px;
        margin-top: 12px;
    }

    .studio-main > * {
        width: 100%;
    }

    .studio-section,
    .studio-cta-wrap {
        margin: 0 auto;
    }

    .studio-section .studio-cta-wrap {
        margin-top: 16px;
        padding: 0;
    }

    .studio-sample-chips {
        width: 100%;
        overflow-x: auto;
        flex-wrap: nowrap;
        white-space: nowrap;
        justify-content: flex-start;
        align-items: flex-start;
        margin-top: 6px;
    }

    .studio-improve-error {
        color: rgb(216, 20, 20);
        background-color: #faeced;
        position: fixed;
        bottom: 30px;
        border-radius: 8px;
        left: 50%;
        transform: translateX(-50%);
        width: 92vw;
        line-height: 44px;
        font-size: 15px;
    }

    .mb-studio-design-generating {
        width: 35vw;
        height: 35vw;
        position: fixed;
        display: flex;
        justify-content: center;
        align-items: center;
        top: 40%;
        left: 50%;
        transform: translate(-50%, -50%);
        z-index: 999999;
        background-color: rgba(255 255 255 / 100%);
        border-radius: 50%;
        box-shadow: 0 6px 36px rgba(11 11 11 / 8%);
    }

    .mb-studio-design-generating img {
        width: 100%;
        height: 100%;
        object-fit: contain;
    }

    .studio-cta-hint {
        font-size: 14px;
        color: #595959;
    }

    .ai-loading {
        width: 35vw;
        height: 35vw;
        border-radius: 35vw;
        background: #fff;
        display: flex;
        align-items: center;
        justify-content: center;
    }

    .ai-loading::before {
        content: '';
        position: absolute;
        inset: -2px;
        border-radius: 50%;
        padding: 2px;

        background: conic-gradient(
            transparent 0deg,
            transparent 280deg,
            #7b61ff 320deg,
            #ff8a00 360deg
        );

        animation: spin 1.5s linear infinite;

        -webkit-mask:
            linear-gradient(#fff 0 0) content-box,
            linear-gradient(#fff 0 0);
        -webkit-mask-composite: xor;
        mask-composite: exclude;
    }

    .try-sample {
        padding-left: 14px;
        padding-right: 14px;
    }

    .studio-sample-chip {
        white-space: normal;
        word-break: break-word;
    }

    .main-content:has(.studio-page-content) {
        background: linear-gradient(0deg, #FFF 0%, #FFECCC 100%);
    }

    .main-content .studio-page-content {
        background-color: transparent;
    }

    .design-generator-banner-content svg {
        color: var(--studio-orange);
    }
    
    .design-generator-banner-title {
        font-size: 24px;
        color: #000;
        font-weight: 500;
        line-height: 1;
        margin-top: 8px;
        margin-bottom: 6px;
    }
    
    .design-generator-banner-subtitle {
        font-size: 16px;
        color: #000;
        max-width: 200px;
    }
    
    .design-generator-banner-content {
        margin-bottom: 20px;
    }

    .studio-main .studio-section {
        border-radius: 21px;
        background: var(--White, #FFF);
        box-shadow: 0 4px 12px 0 rgba(0, 0, 0, 0.08);
        margin: 0 14px;
        width: calc(100% - 28px);
        padding: 14px !important;
    }

    .studio-prompt-content-wrap {
        position: relative;
    }
    
    .studio-prompt-content-wrap .studio-counter {
        position: absolute;
        right: 0;
        top: -24px;
        color: #a3a3a3;
    }

    .design-generator-banner-wrapper {
        padding: 10px 14px 16px 14px;
        min-height: 166px;
    }

    .studio-prompt:focus {
        box-shadow: none;
    }

    .studio-detail-head {
        font-size: 20px;
        color: #171717;
    }

    .studio-detail-body {
        padding: 14px;
        background-color: #fff;
        border-radius: 21px;
        box-shadow: 0 4px 12px 0 rgba(0, 0, 0, 0.08);
    }

    .studio-detail-back svg {
        color: var(--studio-orange);
    }

    .studio-section-title {
        color: #171717;
    }

    .design-generator-banner-content:has(.design-generator-back-btn) .studio-tips-btn {
        bottom: -25px;
    }

    .design-generator-banner-content:has(.design-generator-back-btn) .studio-tips-modal {
        top: calc(100% + 34px);
    }

    .studio-improve-btn {
        font-size: 15px;
    }

    .studio-ref-add {
        font-size: 13px;
    }

    .design-generator-banner-content,
    .studio-section-head-tip {
        position: static;
    }

    .studio-cta-hint {
        justify-content: center;
    }

    .studio-layout-desktop .studio-section-head {
        position: relative;
    }
    
    .studio-layout-desktop .studio-desktop-welcome,
    .studio-layout-desktop .studio-desktop-welcome::after,
    .studio-layout-desktop .studio-welcome-history-title,
    .studio-layout-desktop .studio-desktop-generated {
        background: transparent;
    }
    
    .studio-layout-desktop .studio-welcome-history-title {
        position: static;
    }
    
    .studio-layout-desktop .studio-desktop-cta {
        padding-left: 14px;
        padding-right: 14px;
        grid-template-columns: 1fr;
    }
    
    .studio-layout-desktop .studio-desktop-history-grid {
        overflow-x: auto;
    }

    .studio-layout-desktop .studio-desktop-generated {
        padding: 20px 14px;
    }

    .studio-layout-desktop .studio-design-generating img {
        width: 100px;
        height: 100px;
    }

    .studio-layout-desktop .studio-design-menu-btn {
        display: none;
    }

    .studio-layout-desktop .studio-tips-btn {
        bottom: 0;
    }
}

@keyframes spin {
    to {
        transform: rotate(360deg);
    }
}

@media (min-width: 767px) {
    .studio-carousel-icon-btn {
        position: relative;
    }

    .studio-carousel-icon-btn[data-title]::before {
        content: attr(data-title);
        width: fit-content;
        font-size: 12px;
        line-height: 14px;
        padding: 6px 10px;
        background-color: rgba(0 0 0 / 80%);
        color: #fff;
        border-radius: 24px;
        position: absolute;
        top: 110%;
        left: 50%;
        transform: translateX(-50%);
        white-space: nowrap;
        opacity: 0;
        transition: all 250ms ease-in-out;
    }
    .studio-carousel-icon-btn[data-title]::after {
        top: calc(110% - 8px);
        left: 50%;
        border: solid transparent;
        content: "";
        height: 0;
        width: 0;
        position: absolute;
        pointer-events: none;
        border-color: rgba(0, 0, 0, 0);
        border-bottom-color: #000;
        border-width: 4px;
        margin-left: -4px;
        opacity: 0;
        transition: all 250ms ease-in-out;
    }

    .studio-carousel-icon-btn:hover::before,
    .studio-carousel-icon-btn:hover::after {
        opacity: 1;
    }
}