.wp-block-wallpaper-download {
    --wallpaper-download-blue: #2f86ff;
    --wallpaper-download-blue-deep: #1e68f3;
    --wallpaper-download-cyan: #31cfd2;
    --wallpaper-download-violet: #7d63e7;
    --wallpaper-download-ink: #263244;
    --wallpaper-download-muted: #667085;
    --wallpaper-download-line: rgba(76, 151, 255, .26);
    --wallpaper-download-surface: rgba(255, 255, 255, .9);
    box-sizing: border-box;
    width: 100%;
    margin: 24px 0;
}

.wp-block-wallpaper-download *,
.wp-block-wallpaper-download *::before,
.wp-block-wallpaper-download *::after,
.wallpaper-download-editor-panel *,
.wallpaper-download-editor-panel *::before,
.wallpaper-download-editor-panel *::after {
    box-sizing: border-box;
}

.wp-block-wallpaper-download .wallpaper-download-card {
    position: relative;
    isolation: isolate;
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(190px, 300px);
    gap: 26px;
    align-items: center;
    width: 100%;
    min-height: 168px;
    padding: 30px 34px;
    overflow: hidden;
    color: var(--wallpaper-download-ink);
    background:
        linear-gradient(112deg, rgba(218, 240, 255, .9) 0%, rgba(242, 249, 255, .96) 26%, rgba(255, 255, 255, .98) 48%, rgba(237, 246, 255, .94) 100%),
        linear-gradient(180deg, #ffffff 0%, #eef7ff 100%);
    border: 1px solid var(--wallpaper-download-line);
    border-radius: 8px;
    box-shadow: 0 18px 44px rgba(35, 116, 232, .16), inset 0 0 0 1px rgba(255, 255, 255, .66);
}

.wp-block-wallpaper-download .wallpaper-download-card::before {
    position: absolute;
    inset: auto 52% -40px -30px;
    z-index: -1;
    height: 150px;
    content: "";
    background: linear-gradient(14deg, rgba(67, 153, 255, .22), rgba(150, 221, 255, .08));
    clip-path: polygon(0 36%, 72% 0, 100% 100%, 0 100%);
}

.wp-block-wallpaper-download .wallpaper-download-card::after {
    position: absolute;
    right: 18px;
    bottom: 22px;
    z-index: -1;
    width: 150px;
    height: 86px;
    content: "";
    opacity: .42;
    background-image: radial-gradient(rgba(47, 134, 255, .22) 1px, transparent 1px);
    background-size: 12px 12px;
    transform: skewX(-8deg);
}

.wp-block-wallpaper-download .wallpaper-download-main,
.wp-block-wallpaper-download .wallpaper-download-trigger {
    position: relative;
    z-index: 1;
}

.wp-block-wallpaper-download .wallpaper-download-main {
    min-width: 0;
    align-self: center;
}

.wp-block-wallpaper-download .wallpaper-download-action {
    position: relative;
    z-index: 1;
    display: flex;
    min-width: 190px;
    flex-direction: column;
    justify-content: center;
    align-self: center;
    gap: 12px;
    width: 100%;
}

.wp-block-wallpaper-download .wallpaper-download-attrs {
    display: grid;
    grid-template-columns: repeat(3, minmax(128px, 1fr));
    gap: 10px;
    margin-top: 22px;
}

.wp-block-wallpaper-download .wallpaper-download-attrs:first-child {
    margin-top: 0;
}

.wp-block-wallpaper-download .wallpaper-download-attr {
    display: grid;
    grid-template-columns: 48px minmax(0, 1fr);
    gap: 12px;
    align-items: center;
    min-width: 0;
    min-height: 76px;
    padding: 12px 14px;
    color: var(--wallpaper-download-ink);
    background: linear-gradient(180deg, rgba(255, 255, 255, .94), rgba(236, 245, 255, .9));
    border: 1px solid rgba(85, 154, 240, .15);
    border-radius: 8px;
    box-shadow: 0 10px 22px rgba(31, 99, 191, .09);
}

.wp-block-wallpaper-download .wallpaper-download-attr-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 48px;
    color: #2f86ff;
    font-size: 24px;
    background: linear-gradient(180deg, rgba(64, 151, 255, .16), rgba(64, 151, 255, .08));
    border-radius: 8px;
}

.wp-block-wallpaper-download .wallpaper-download-attr-type .wallpaper-download-attr-icon {
    color: var(--wallpaper-download-cyan);
    background: linear-gradient(180deg, rgba(49, 207, 210, .18), rgba(49, 207, 210, .08));
}

.wp-block-wallpaper-download .wallpaper-download-attr-size .wallpaper-download-attr-icon {
    color: var(--wallpaper-download-violet);
    background: linear-gradient(180deg, rgba(125, 99, 231, .18), rgba(125, 99, 231, .08));
}

.wp-block-wallpaper-download .wallpaper-download-attr-copy {
    display: flex;
    min-width: 0;
    flex-direction: column;
    gap: 4px;
}

.wp-block-wallpaper-download .wallpaper-download-attr small {
    display: block;
    color: #39475a;
    font-size: 15px;
    font-weight: 700;
    line-height: 1.2;
    white-space: nowrap;
}

.wp-block-wallpaper-download .wallpaper-download-attr b {
    display: block;
    min-width: 0;
    color: #1d2735;
    font-size: 22px;
    font-weight: 800;
    line-height: 1.1;
    overflow-wrap: anywhere;
}

.wp-block-wallpaper-download .wallpaper-download-trigger {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 16px;
    width: 100%;
    min-width: 190px;
    min-height: 78px;
    margin: 0;
    padding: 16px 24px;
    color: #fff;
    font-size: 26px;
    font-weight: 800;
    line-height: 1.15;
    text-align: center;
    text-decoration: none;
    white-space: nowrap;
    background: linear-gradient(135deg, #43c1ff 0%, #2f86ff 52%, #1f63f3 100%);
    border: 0;
    border-radius: 8px;
    box-shadow: 0 16px 28px rgba(43, 123, 239, .28), inset 0 1px 0 rgba(255, 255, 255, .34);
    cursor: pointer;
    transition: transform .18s ease, box-shadow .18s ease, filter .18s ease;
}

.wp-block-wallpaper-download .wallpaper-download-trigger i {
    flex: 0 0 auto;
    font-size: 30px;
}

.wp-block-wallpaper-download .wallpaper-download-trigger:hover,
.wp-block-wallpaper-download .wallpaper-download-trigger:focus-visible {
    color: #fff;
    text-decoration: none;
    box-shadow: 0 18px 32px rgba(43, 123, 239, .34), inset 0 1px 0 rgba(255, 255, 255, .38);
    filter: saturate(1.04);
    outline: 0;
    transform: translateY(-1px);
}

.wp-block-wallpaper-download .wallpaper-download-ribbon {
    position: absolute;
    top: 18px;
    right: -34px;
    z-index: 2;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 144px;
    min-height: 30px;
    color: #fff;
    font-size: 15px;
    font-weight: 700;
    line-height: 1;
    background: linear-gradient(135deg, #5fb9ff, #286ef2);
    box-shadow: 0 8px 16px rgba(38, 107, 223, .2);
    transform: rotate(45deg);
    pointer-events: none;
}

.wp-block-wallpaper-download .wallpaper-download-stats {
    position: absolute;
    top: calc(100% + 10px);
    left: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: max-content;
    max-width: 100%;
    min-height: 32px;
    margin-top: 0;
    padding: 6px 16px;
    color: var(--wallpaper-download-muted);
    background: rgba(255, 255, 255, .78);
    border: 1px solid rgba(148, 163, 184, .18);
    border-radius: 8px;
    transform: translateX(-50%);
}

.wp-block-wallpaper-download .wallpaper-download-stats-label {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    min-width: 0;
    color: var(--wallpaper-download-muted);
    font-size: 12px;
    font-weight: 600;
    line-height: 1;
    white-space: nowrap;
}

.wp-block-wallpaper-download .wallpaper-download-stats-value {
    color: inherit;
    font-size: inherit;
    font-weight: 700;
    line-height: inherit;
}

.wallpaper-download-modal {
    position: fixed;
    inset: 0;
    z-index: 99999;
    display: none;
    align-items: center;
    justify-content: center;
    padding: 18px;
}

.wallpaper-download-modal.is-open {
    display: flex;
}

.wallpaper-download-modal-backdrop {
    position: absolute;
    inset: 0;
    background: rgba(14, 26, 46, .52);
    backdrop-filter: blur(5px);
}

.wallpaper-download-modal-panel {
    position: relative;
    z-index: 1;
    width: min(540px, 100%);
    max-height: min(720px, calc(100vh - 36px));
    overflow: hidden;
    color: var(--wallpaper-download-ink);
    background: linear-gradient(180deg, #ffffff, #f4f9ff);
    border: 1px solid rgba(83, 155, 244, .2);
    border-radius: 8px;
    box-shadow: 0 24px 70px rgba(8, 31, 74, .3);
}

.wallpaper-download-modal-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    min-height: 58px;
    padding: 15px 18px;
    border-bottom: 1px solid rgba(92, 160, 244, .16);
}

.wallpaper-download-modal-head strong {
    min-width: 0;
    color: var(--wallpaper-download-ink);
    font-size: 18px;
    font-weight: 800;
    line-height: 1.35;
    overflow-wrap: anywhere;
}

.wallpaper-download-close {
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    margin: 0;
    padding: 0;
    color: var(--wallpaper-download-muted);
    background: rgba(237, 246, 255, .9);
    border: 1px solid rgba(88, 157, 244, .16);
    border-radius: 8px;
    cursor: pointer;
}

.wallpaper-download-close:hover,
.wallpaper-download-close:focus-visible {
    color: var(--wallpaper-download-blue-deep);
    background: #fff;
    outline: 0;
}

.wallpaper-download-modal-body {
    max-height: calc(100vh - 136px);
    padding: 16px;
    overflow: auto;
}

.wallpaper-download-options {
    display: grid;
    gap: 10px;
}

.wallpaper-download-option {
    display: block;
    overflow: hidden;
    background: rgba(255, 255, 255, .94);
    border: 1px solid rgba(83, 155, 244, .16);
    border-radius: 8px;
    box-shadow: 0 8px 20px rgba(31, 99, 191, .06);
}

.wallpaper-download-option-link {
    display: grid;
    grid-template-columns: 50px minmax(0, 1fr);
    align-items: center;
    gap: 12px;
    width: 100%;
    min-height: 68px;
    padding: 12px;
    overflow: hidden;
    color: var(--wallpaper-download-ink);
    border-radius: 8px;
    text-decoration: none;
}

.wallpaper-download-option-link:hover,
.wallpaper-download-option-link:focus-visible {
    color: var(--wallpaper-download-ink);
    background: #f1f8ff;
    outline: 0;
    text-decoration: none;
}

.wallpaper-download-option.is-locked .wallpaper-download-option-link {
    cursor: default;
}

.wallpaper-download-option.is-locked .wallpaper-download-option-title,
.wallpaper-download-option.is-locked .wallpaper-download-option-desc {
    opacity: .76;
}

.wallpaper-download-option-visual {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    overflow: hidden;
    color: var(--wallpaper-download-blue);
    font-size: 20px;
    background: linear-gradient(180deg, rgba(64, 151, 255, .15), rgba(64, 151, 255, .08));
    border-radius: 8px;
}

.wallpaper-download-option-visual.has-image {
    background: transparent;
}

.wallpaper-download-option-visual img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: inherit;
}

.wallpaper-download-option-visual svg,
.wallpaper-download-option-visual i {
    max-width: 24px;
    max-height: 24px;
}

.wallpaper-download-option-content {
    display: flex;
    min-width: 0;
    flex-direction: column;
    gap: 4px;
}

.wallpaper-download-option-title-row {
    display: flex;
    align-items: center;
    gap: 8px;
    min-width: 0;
}

.wallpaper-download-option-title {
    flex: 1 1 auto;
    min-width: 0;
    color: var(--wallpaper-download-ink);
    font-size: 16px;
    font-weight: 800;
    line-height: 1.35;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.wallpaper-download-option-action {
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    max-width: 48%;
}

.wallpaper-download-option-action .but {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 28px;
    max-width: 100%;
    padding: 4px 10px;
    font-size: 12px;
    line-height: 1.35;
    white-space: nowrap;
}

.wallpaper-download-option-desc {
    min-width: 0;
    color: var(--wallpaper-download-muted);
    font-size: 13px;
    line-height: 1.45;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.wallpaper-download-option-extra {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: center;
    justify-content: space-between;
    padding: 0 12px 12px 74px;
}

.wallpaper-download-option-note {
    min-width: 0;
    color: var(--wallpaper-download-muted);
    font-size: 13px;
    line-height: 1.5;
    overflow-wrap: anywhere;
}

.wallpaper-download-copy {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 30px;
    padding: 4px 10px;
    color: var(--wallpaper-download-blue-deep);
    font-size: 13px;
    line-height: 1.4;
    background: #fff;
    border: 1px solid rgba(77, 146, 239, .22);
    border-radius: 8px;
    cursor: pointer;
}

.wallpaper-download-copy:hover,
.wallpaper-download-copy:focus-visible {
    color: var(--wallpaper-download-blue-deep);
    border-color: rgba(47, 134, 255, .55);
    outline: 0;
}

.wallpaper-download-locked {
    padding: 18px;
    border-radius: 8px;
}

.wallpaper-download-editor-panel {
    width: 100%;
    margin-top: 12px;
    padding: 12px;
    background: #fff;
    border: 1px solid #dcdcde;
    border-radius: 8px;
}

.wallpaper-download-editor-panel-head,
.wallpaper-download-editor-row-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    margin-bottom: 12px;
}

.wallpaper-download-attribute-panel {
    margin-top: 0;
}

.wallpaper-download-editor-attribute-fields {
    display: grid;
    gap: 12px;
}

.wallpaper-download-editor-row {
    padding: 12px;
    background: #f6f7f7;
    border: 1px solid #dcdcde;
    border-radius: 8px;
}

.wallpaper-download-editor-row + .wallpaper-download-editor-row {
    margin-top: 12px;
}

.wallpaper-download-editor-copy {
    display: grid;
    grid-template-columns: minmax(0, 1.4fr) minmax(0, .8fr) minmax(0, 1fr);
    gap: 10px;
}

.wallpaper-download-editor-size-field {
    display: grid;
    grid-template-columns: minmax(0, 1.2fr) minmax(120px, .8fr);
    gap: 10px;
}

.wallpaper-download-editor-panel .components-base-control {
    margin-bottom: 12px;
}

.wallpaper-download-editor-panel .components-base-control__field {
    margin-bottom: 0;
}

.wallpaper-download-editor-panel .components-select-control,
.wallpaper-download-editor-panel .components-text-control {
    width: 100%;
}

.wallpaper-download-editor-size-field .components-base-control {
    margin-bottom: 0;
}

.editor-styles-wrapper .wp-block-wallpaper-download {
    max-width: 100%;
}

.dark-theme .wp-block-wallpaper-download {
    --wallpaper-download-blue: #69b7ff;
    --wallpaper-download-blue-deep: #8cc8ff;
    --wallpaper-download-cyan: #55d7d9;
    --wallpaper-download-violet: #a994ff;
    --wallpaper-download-ink: var(--main-color, #e5eef7);
    --wallpaper-download-muted: var(--muted-color, #b8c1ce);
    --wallpaper-download-line: var(--main-border-color, rgba(148, 163, 184, .18));
    --wallpaper-download-surface: var(--main-bg-color, rgba(38, 39, 42, .94));
}

.dark-theme .wp-block-wallpaper-download .wallpaper-download-card {
    color: var(--wallpaper-download-ink);
    background:
        linear-gradient(112deg, rgba(28, 41, 59, .96) 0%, rgba(34, 39, 48, .98) 46%, rgba(24, 31, 43, .96) 100%),
        var(--wallpaper-download-surface);
    border-color: var(--wallpaper-download-line);
    box-shadow: 0 18px 44px rgba(0, 0, 0, .28), inset 0 0 0 1px rgba(255, 255, 255, .04);
}

.dark-theme .wp-block-wallpaper-download .wallpaper-download-card::before {
    background: linear-gradient(14deg, rgba(75, 145, 255, .2), rgba(68, 218, 221, .08));
}

.dark-theme .wp-block-wallpaper-download .wallpaper-download-card::after {
    opacity: .24;
    background-image: radial-gradient(rgba(122, 184, 255, .24) 1px, transparent 1px);
}

.dark-theme .wp-block-wallpaper-download .wallpaper-download-attr {
    color: var(--wallpaper-download-ink);
    background: linear-gradient(180deg, rgba(45, 53, 65, .86), rgba(31, 39, 52, .9));
    border-color: rgba(148, 163, 184, .16);
    box-shadow: 0 10px 22px rgba(0, 0, 0, .18);
}

.dark-theme .wp-block-wallpaper-download .wallpaper-download-attr-icon {
    background: linear-gradient(180deg, rgba(105, 183, 255, .18), rgba(105, 183, 255, .08));
}

.dark-theme .wp-block-wallpaper-download .wallpaper-download-attr small {
    color: var(--wallpaper-download-muted);
}

.dark-theme .wp-block-wallpaper-download .wallpaper-download-attr b {
    color: var(--wallpaper-download-ink);
}

.dark-theme .wp-block-wallpaper-download .wallpaper-download-stats {
    color: var(--wallpaper-download-muted);
    background: rgba(255, 255, 255, .06);
    border-color: rgba(148, 163, 184, .16);
    box-shadow: 0 8px 20px rgba(0, 0, 0, .14);
}

.dark-theme .wp-block-wallpaper-download .wallpaper-download-stats-label,
.dark-theme .wp-block-wallpaper-download .wallpaper-download-stats-value {
    color: var(--wallpaper-download-muted);
}

.dark-theme .wp-block-wallpaper-download .wallpaper-download-modal-backdrop {
    background: rgba(4, 8, 16, .72);
}

.dark-theme .wp-block-wallpaper-download .wallpaper-download-modal-panel {
    color: var(--wallpaper-download-ink);
    background: linear-gradient(180deg, rgba(38, 40, 45, .98), rgba(28, 34, 45, .98));
    border-color: var(--wallpaper-download-line);
    box-shadow: 0 24px 70px rgba(0, 0, 0, .54);
}

.dark-theme .wp-block-wallpaper-download .wallpaper-download-modal-head {
    border-bottom-color: rgba(148, 163, 184, .14);
}

.dark-theme .wp-block-wallpaper-download .wallpaper-download-close {
    color: var(--wallpaper-download-muted);
    background: rgba(255, 255, 255, .06);
    border-color: rgba(148, 163, 184, .16);
}

.dark-theme .wp-block-wallpaper-download .wallpaper-download-close:hover,
.dark-theme .wp-block-wallpaper-download .wallpaper-download-close:focus-visible {
    color: var(--wallpaper-download-blue-deep);
    background: rgba(105, 183, 255, .12);
}

.dark-theme .wp-block-wallpaper-download .wallpaper-download-option {
    background: rgba(35, 42, 53, .92);
    border-color: rgba(148, 163, 184, .14);
    box-shadow: 0 8px 20px rgba(0, 0, 0, .16);
}

.dark-theme .wp-block-wallpaper-download .wallpaper-download-option-link:hover,
.dark-theme .wp-block-wallpaper-download .wallpaper-download-option-link:focus-visible {
    background: rgba(105, 183, 255, .1);
}

.dark-theme .wp-block-wallpaper-download .wallpaper-download-option-visual {
    background: linear-gradient(180deg, rgba(105, 183, 255, .16), rgba(105, 183, 255, .07));
}

.dark-theme .wp-block-wallpaper-download .wallpaper-download-copy {
    color: var(--wallpaper-download-blue-deep);
    background: rgba(255, 255, 255, .06);
    border-color: rgba(105, 183, 255, .22);
}

.dark-theme .wp-block-wallpaper-download .wallpaper-download-copy:hover,
.dark-theme .wp-block-wallpaper-download .wallpaper-download-copy:focus-visible {
    border-color: rgba(105, 183, 255, .5);
    background: rgba(105, 183, 255, .1);
}

@media (max-width: 1100px) {
    .wp-block-wallpaper-download .wallpaper-download-card {
        grid-template-columns: minmax(0, 1fr) minmax(180px, 260px);
        gap: 20px;
    }

    .wp-block-wallpaper-download .wallpaper-download-action {
        min-width: 180px;
    }

    .wp-block-wallpaper-download .wallpaper-download-trigger {
        justify-self: stretch;
        min-height: 62px;
    }
}

@media (max-width: 760px) {
    .wp-block-wallpaper-download .wallpaper-download-card {
        grid-template-columns: 1fr;
        gap: 18px;
        min-height: 0;
        padding: 22px 16px 18px;
    }

    .wp-block-wallpaper-download .wallpaper-download-card::before {
        inset: 50px -24px auto -30px;
        height: 118px;
    }

    .wp-block-wallpaper-download .wallpaper-download-attrs {
        grid-template-columns: 1fr;
        margin-top: 18px;
    }

    .wp-block-wallpaper-download .wallpaper-download-attr {
        min-height: 68px;
    }

    .wp-block-wallpaper-download .wallpaper-download-attr b {
        font-size: 20px;
    }

    .wp-block-wallpaper-download .wallpaper-download-trigger {
        min-width: 0;
        min-height: 58px;
        font-size: 22px;
    }

    .wp-block-wallpaper-download .wallpaper-download-action {
        min-width: 0;
    }

    .wp-block-wallpaper-download .wallpaper-download-stats {
        position: static;
        align-self: center;
        transform: none;
    }

    .wp-block-wallpaper-download .wallpaper-download-ribbon {
        top: 14px;
        right: -40px;
        width: 138px;
        min-height: 28px;
        font-size: 13px;
    }

    .wallpaper-download-modal {
        align-items: flex-end;
        padding: 10px;
    }

    .wallpaper-download-modal-panel {
        width: 100%;
        max-height: calc(100vh - 20px);
    }

    .wallpaper-download-option-link {
        grid-template-columns: 44px minmax(0, 1fr);
        gap: 10px;
    }

    .wallpaper-download-option-extra {
        padding-left: 12px;
    }

    .wallpaper-download-option-title-row {
        flex-wrap: wrap;
    }

    .wallpaper-download-option-action {
        max-width: 100%;
    }

    .wallpaper-download-editor-size-field {
        grid-template-columns: 1fr;
    }

}

@media (max-width: 420px) {
    .wp-block-wallpaper-download .wallpaper-download-card {
        padding-right: 12px;
        padding-left: 12px;
    }

    .wp-block-wallpaper-download .wallpaper-download-attr {
        grid-template-columns: 42px minmax(0, 1fr);
        gap: 10px;
        padding: 10px;
    }

    .wp-block-wallpaper-download .wallpaper-download-attr-icon {
        width: 42px;
        height: 42px;
        font-size: 21px;
    }

    .wp-block-wallpaper-download .wallpaper-download-trigger {
        gap: 10px;
        font-size: 20px;
    }
}
