/* Minimal styles for buttons */

.uklob.uklob--bg{
    background-color: #F2F2F2;
}
.uklob {
    display: flex;
    justify-content: center;
    gap: .5rem;
    align-items: center;
    padding-bottom: 18rem;
    position: relative;
}
@media screen and (max-width: 700px) {
    .uklob {
        margin: 0 auto;
        display: flex;
        justify-content: center;
        gap: .5rem;
        align-items: center;
        padding-bottom: 12rem;
    }
}

.uklob .uklob-btn {
    border: 1px solid #ccc;
    background: #fff;
    padding: 1.7rem 0;
    border-radius: 7px;
    cursor: pointer;
    display: flex;
    /* gap: 3rem; */
    align-items: center;
    line-height: 1;
    position: relative;
    text-align: center;
    justify-content: center;
    width: 30rem;
    color: #000;
}
@media screen and (max-width: 700px) {
    .uklob .uklob-btn {
        border: 1px solid #ccc;
        background: #fff;
        padding: 1.1rem;
        border-radius: 7px;
        cursor: pointer;
        /* gap: 3rem; */
        align-items: center;
        line-height: 1;
        position: relative;
        text-align: center;
        justify-content: center;
    }
}


.uklob .uklob-btn:hover {
    background: #f7f7f7;
}

/* 無効時の視覚明確化 */
.uklob .uklob-btn:disabled {
    opacity: .5;
    cursor: not-allowed;
    background: #f2f2f2;
    border-color: #ddd;
    color: #888;
}

/* ラッパーが無効状態のとき（再読込後のCookie判定など） */
.uklob.uklob-disabled .uklob-btn {
    background: #fff;
    border-color: #ccc;
    color: #888;
    cursor: not-allowed;
    pointer-events: none;
    /* ホバーやクリックを無効化 */
    transition: none !important;
    width: 30rem;
    padding: 1.7rem 0;
}
@media screen and (max-width: 700px) {
    .uklob.uklob-disabled .uklob-btn {
        background: #fff;
        border-color: #ccc;
        color: #888;
        cursor: not-allowed;
        pointer-events: none;
        /* ホバーやクリックを無効化 */
        transition: none !important;
        width: 16rem;
        padding: 1.1rem 0;
    }
}

/* 無効状態ではホバー効果を適用しない */
.uklob .uklob-btn:disabled:hover,
.uklob.uklob-disabled .uklob-btn:hover,
.uklob .uklob-btn:disabled:focus,
.uklob.uklob-disabled .uklob-btn:focus {
    background: #fff !important;
    border-color: #ccc !important;
    color: #888 !important;
    box-shadow: none !important;
    transform: none !important;
    text-decoration: none !important;
}

.uklob .uklob-like {
    border-color: #707070;
    font-size: 1.6rem;
}
@media screen and (max-width: 700px) {
    .uklob .uklob-like {
        border-color: #707070;
        font-size: 1.3rem;
        width: 16rem;
    }
}

.uklob .uklob-bad {
    border-color: #707070;
    font-size: 1.6rem;
}
@media screen and (max-width: 700px) {
    .uklob .uklob-bad {
        border-color: #707070;
        font-size: 1.3rem;
        width: 16rem;
    }
}

.uklob.uklob-disabled {
    opacity: 1;
}

/* 投票済みの視覚フック */
.uklob.uklob-voted .uklob-btn {
    opacity: .8;
}

.uklob .uklob-btn.uklob-btn-voted {
    opacity: 1;
    box-shadow: 0 0 0 2px rgba(0, 0, 0, .04) inset;
}

.uklob.uklob-voted-like .uklob-like.uklob-btn-voted {
    /* border-color: #2ecc71; */
    border-color: #ccc;
}

.uklob.uklob-voted-bad .uklob-bad.uklob-btn-voted {
    /* border-color: #e74c3c; */
    border-color: #ccc;
}

/* サンクスメッセージ */
.uklob .uklob-thanks {
    margin-left: .5rem;
    font-size: .9rem;
    color: #333;
    opacity: 0;
    transition: opacity .3s ease;
    position: absolute;
    transform: translate(-50%, -50%);
    top: 40%;
    left: 50%;
    z-index: 10;
    font-size: 2rem;
}
@media screen and (max-width: 700px) {
    .uklob .uklob-thanks {
        margin-left: .5rem;
        font-size: .9rem;
        color: #333;
        opacity: 0;
        transition: opacity .3s ease;
        position: absolute;
        top: 40%;
        left: 50%;
        z-index: 10;
        font-size: 1.3rem;
        width: 19rem;
        margin: 0 auto;
    }
}
.uklob .uklob-thanks-visible {
    opacity: 1;
}