/* Kids Paper visual theme for image bingo. */

.image-bingo-theme-papel-infantil {
    --image-bingo-bg: #fff7df;
    --image-bingo-ink: #4b3825;
    --image-bingo-muted: #8a7057;
    --image-bingo-line: #e8cfa4;
    --image-bingo-green: #6fc37a;
    --image-bingo-green-dark: #3c9b5c;
    --image-bingo-blue: #4b8fd8;
    --image-bingo-yellow: #ffcf5c;
    --image-bingo-red: #ff8a9a;
    --image-bingo-shadow: 0 18px 34px rgba(99, 72, 39, 0.13);
    --image-bingo-page-background:
        radial-gradient(circle at 12% 12%, rgba(255, 207, 92, 0.28), transparent 24%),
        radial-gradient(circle at 86% 16%, rgba(123, 206, 245, 0.26), transparent 25%),
        radial-gradient(circle at 18% 88%, rgba(255, 138, 154, 0.22), transparent 24%),
        linear-gradient(145deg, #fff8e7 0%, #f3fbff 54%, #fff2f5 100%);
    --image-bingo-board-radius: 8px;
    --image-bingo-board-background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.82), rgba(255, 248, 226, 0.82)),
        repeating-linear-gradient(0deg, rgba(75, 143, 216, 0.06) 0 1px, transparent 1px 30px);
    --image-bingo-cell-radius: 5px 18px 7px 16px;
    --image-bingo-cell-background: linear-gradient(180deg, #ffffff 0%, #fff4ce 100%);
    --image-bingo-cell-shadow:
        inset 0 0 0 2px rgba(255, 255, 255, 0.86),
        0 5px 0 rgba(207, 167, 88, 0.32);
    --image-bingo-cell-image-filter: drop-shadow(0 4px 0 rgba(139, 105, 61, 0.12));
    --image-bingo-cell-name-size: clamp(12px, 1vw, 20px);
    --image-bingo-called-cell-background: linear-gradient(180deg, #ffe57a 0%, #ff9fb0 100%);
    --image-bingo-called-cell-shadow:
        inset 0 0 0 3px rgba(255, 255, 255, 0.88),
        0 7px 0 rgba(211, 118, 87, 0.32),
        0 12px 22px rgba(193, 116, 73, 0.18);
    --image-bingo-called-name-color: #512b20;
    --image-bingo-called-name-shadow: 0 1px 0 rgba(255, 255, 255, 0.72);
    --image-bingo-panel-border: 3px dashed rgba(232, 180, 96, 0.86);
    --image-bingo-brand-logo-filter: drop-shadow(0 4px 0 rgba(75, 143, 216, 0.18));
    --image-bingo-brand-subtitle-color: #5d4527;
    --image-bingo-current-frame-radius: 22px 46px 26px 42px;
    --image-bingo-current-frame-background:
        radial-gradient(circle at 50% 44%, #ffffff 0%, #fff9dc 72%, #f7d675 100%);
    --image-bingo-current-frame-shadow:
        inset 0 0 0 5px rgba(255, 255, 255, 0.86),
        0 9px 0 rgba(207, 167, 88, 0.38),
        0 20px 34px rgba(99, 72, 39, 0.12);
    --image-bingo-current-image-filter: drop-shadow(0 6px 0 rgba(139, 105, 61, 0.14));
    --image-bingo-current-badge-background: linear-gradient(180deg, #7bcef5 0%, #4b8fd8 100%);
    --image-bingo-current-badge-color: #ffffff;
    --image-bingo-current-badge-radius: 8px 18px 8px 16px;
    --image-bingo-current-badge-shadow: 0 5px 0 rgba(47, 104, 164, 0.24);
    --image-bingo-last-circle-background: #fff8cf;
    --image-bingo-counter-background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.86), rgba(255, 246, 209, 0.86));
    --image-bingo-button-shadow: 0 6px 0 rgba(129, 93, 46, 0.16);
    --image-bingo-pause-background: linear-gradient(180deg, #ffe57a, #ffbf45);
    --image-bingo-pause-color: #4b3825;
    --image-bingo-resume-background: linear-gradient(180deg, #8fe49a, #4ab46b);
    --image-bingo-exit-background: linear-gradient(180deg, #ffa7b4, #ff7084);
    --image-bingo-toggle-background: #ffffff;
    --image-bingo-toggle-active-background: #fff4ce;
    --image-bingo-intro-background:
        radial-gradient(circle at 16% 22%, rgba(255, 207, 92, 0.32), transparent 28%),
        radial-gradient(circle at 82% 18%, rgba(123, 206, 245, 0.28), transparent 28%),
        linear-gradient(145deg, #fff8e7 0%, #f3fbff 100%);
    --image-bingo-intro-text-shadow: 2px 2px 0 #ffffff, 0 5px 0 rgba(255, 207, 92, 0.62);
    --image-bingo-loader-track: rgba(255, 255, 255, 0.78);
    --image-bingo-loader-border: 3px dashed rgba(232, 180, 96, 0.95);
    --image-bingo-loader-shadow:
        inset 0 0 12px rgba(255, 255, 255, 0.84),
        0 12px 26px rgba(99, 72, 39, 0.12);
    --image-bingo-loader-complete-shadow:
        inset 0 0 14px rgba(255, 255, 255, 0.9),
        0 14px 30px rgba(111, 195, 122, 0.18);
    --image-bingo-loader-bar-background: linear-gradient(90deg, #ffcf5c 0%, #ff8a9a 42%, #7bcef5 72%, #6fc37a 100%);
    --image-bingo-loader-bar-shadow: 0 0 14px rgba(255, 207, 92, 0.58);
    --image-bingo-cell-mounted-animation: imageBingoPaperBoardTileIn 520ms ease-out both;
    --image-bingo-panel-item-animation: imageBingoPaperPanelSlide 560ms cubic-bezier(0.2, 0.86, 0.2, 1) both;
    --image-bingo-called-cell-animation: none;
    --image-bingo-called-image-animation: imageBingoPaperBoardImagePlace 620ms ease-out both;
    --image-bingo-current-frame-animation: none;
    --image-bingo-current-image-animation: imageBingoPaperCurrentCardIn 680ms ease-out both;
    --image-bingo-current-badge-animation: none;
    --image-bingo-last-item-animation: imageBingoPaperLastNoteIn 520ms ease-out both;
    --image-bingo-last-circle-animation: imageBingoPaperLastNoteSettle 520ms ease-out both;
}

.image-bingo-theme-papel-infantil .image-bingo-board-wrap {
    transform: rotate(-0.2deg);
}

.image-bingo-theme-papel-infantil .image-bingo-side {
    background:
        linear-gradient(90deg, rgba(255, 255, 255, 0.5), transparent 40%),
        repeating-linear-gradient(0deg, rgba(75, 143, 216, 0.06) 0 1px, transparent 1px 28px);
    border-radius: 18px 4px 18px 4px;
}

.image-bingo-theme-papel-infantil .image-bingo-brand-sub {
    margin-top: 0.35cqh;
}

.image-bingo-theme-papel-infantil .image-bingo-current-card {
    padding-top: clamp(2px, 0.25vw, 5px);
    padding-bottom: clamp(20px, 1.6vw, 32px);
    overflow: hidden;
    min-height: 0;
    container-type: size;
}

.image-bingo-theme-papel-infantil .image-bingo-current-frame {
    width: min(92%, 100cqh);
    max-width: 100%;
    height: auto;
    max-height: 100%;
    aspect-ratio: 1;
    flex: 0 0 auto;
    min-height: 0;
}

.image-bingo-theme-papel-infantil .image-bingo-current-badge {
    left: 10%;
    right: 10%;
    bottom: -7px;
    padding-block: 5px;
    font-size: clamp(16px, 1.5vw, 26px);
}

.image-bingo-theme-papel-infantil .image-bingo-last-area {
    position: relative;
    z-index: 2;
    margin-top: 0;
}

.image-bingo-theme-papel-infantil .image-bingo-cell {
    transition: none;
}

.image-bingo-theme-papel-infantil .image-bingo-cell:nth-child(3n) {
    transform: rotate(0.35deg);
}

.image-bingo-theme-papel-infantil .image-bingo-cell:nth-child(4n) {
    transform: rotate(-0.28deg);
}

.image-bingo-theme-papel-infantil .image-bingo-cell.called {
    transform: none;
}

.image-bingo-theme-papel-infantil .image-bingo-cell.mounted.called {
    animation: none;
}

.image-bingo-theme-papel-infantil .image-bingo-cell.called:nth-child(3n) {
    transform: rotate(0.35deg);
}

.image-bingo-theme-papel-infantil .image-bingo-cell.called:nth-child(4n) {
    transform: rotate(-0.28deg);
}

.image-bingo-theme-papel-infantil .image-bingo-last-item-circle {
    border-style: dashed;
    box-shadow: 0 5px 0 rgba(207, 167, 88, 0.24);
}

.image-bingo-theme-papel-infantil .image-bingo-counter {
    border-style: dashed;
}

.image-bingo-theme-papel-infantil .image-bingo-btn {
    border-radius: 8px 18px 8px 18px;
}

.image-bingo-theme-papel-infantil .image-bingo-cell.just-called::before {
    content: "✦";
    position: absolute;
    left: 14%;
    top: 10%;
    z-index: 3;
    color: #ffcf5c;
    font-size: clamp(18px, 1.45vw, 30px);
    font-weight: 1000;
    line-height: 1;
    text-shadow:
        3.2em 0.2em 0 #7bcef5,
        4.3em 2.25em 0 #ff8a9a,
        0.35em 3.3em 0 #6fc37a,
        2.35em 4.15em 0 #ffcf5c,
        4.95em 4.45em 0 #ffffff;
    pointer-events: none;
    animation: imageBingoPaperStarBurst 820ms ease-out both;
}

@keyframes imageBingoPaperBoardTileIn {
    0% {
        opacity: 0;
        transform: translateY(12px) rotate(-1.8deg);
    }
    100% {
        opacity: 1;
        transform: translateY(0) rotate(0deg);
    }
}

@keyframes imageBingoPaperPanelSlide {
    0% {
        opacity: 0;
        transform: translateX(28px) rotate(1.4deg);
    }
    62% {
        opacity: 1;
        transform: translateX(-4px) rotate(-0.6deg);
    }
    100% {
        opacity: 1;
        transform: translateX(0) rotate(0deg);
    }
}

.image-bingo-theme-papel-infantil .image-bingo-cell.just-called::after {
    content: "";
    position: absolute;
    left: 12%;
    right: 12%;
    bottom: 7px;
    z-index: 2;
    height: 7px;
    border-radius: 999px 8px 999px 8px;
    background:
        linear-gradient(90deg, rgba(255, 207, 92, 0), rgba(255, 207, 92, 0.78) 18%, rgba(255, 138, 154, 0.72) 74%, rgba(255, 138, 154, 0));
    box-shadow: 0 2px 0 rgba(139, 105, 61, 0.08);
    pointer-events: none;
    transform-origin: left center;
    animation: imageBingoPaperCrayonMark 620ms ease-out both;
}

@keyframes imageBingoPaperBoardImagePlace {
    0% {
        opacity: 0.58;
        transform: translateY(16px) rotate(-5deg) scale(0.82);
        filter: saturate(0.86) brightness(1.08);
    }
    62% {
        opacity: 1;
        transform: translateY(-3px) rotate(1.5deg) scale(1.04);
        filter: saturate(1.08) brightness(1.02);
    }
    100% {
        opacity: 1;
        transform: translateY(0) rotate(0deg);
        filter: saturate(1);
    }
}

@keyframes imageBingoPaperCrayonMark {
    0% {
        opacity: 0;
        transform: scaleX(0) rotate(-1deg);
    }
    100% {
        opacity: 1;
        transform: scaleX(1) rotate(0deg);
    }
}

@keyframes imageBingoPaperStarBurst {
    0% {
        opacity: 0;
        transform: rotate(-12deg) scale(0.35);
    }
    45% {
        opacity: 1;
        transform: rotate(4deg) scale(1.16);
    }
    100% {
        opacity: 0;
        transform: rotate(0deg) scale(1.34);
    }
}

@keyframes imageBingoPaperCurrentCardIn {
    0% {
        opacity: 0;
        transform: translateX(-22px) rotate(-4deg);
    }
    62% {
        opacity: 1;
        transform: translateX(4px) rotate(1.2deg);
    }
    100% {
        opacity: 1;
        transform: translateX(0) rotate(0deg);
    }
}

@keyframes imageBingoPaperLastNoteIn {
    0% {
        opacity: 0;
        transform: translateX(14px) rotate(5deg);
    }
    100% {
        opacity: 1;
        transform: translateX(0) rotate(-1deg);
    }
}

@keyframes imageBingoPaperLastNoteSettle {
    0% {
        filter: saturate(0.82) brightness(1.05);
        transform: rotate(3deg);
    }
    100% {
        filter: saturate(1) brightness(1);
        transform: rotate(0deg);
    }
}
