/* pochi-float-kun/assets/css/public.css */

.pochifloat-floating-btn {
    position: fixed;
    bottom: -100px;
    left: var(--pochifloat-pos-left);
    right: var(--pochifloat-pos-right);
    margin: 0 auto;
    width: var(--pochifloat-btn-width-pc);
    box-sizing: border-box;
    color: #ffffff !important;
    padding: 15px 25px;
    text-decoration: none !important;
    font-weight: bold;
    font-size: var(--pochifloat-font-size-pc);
    z-index: 9999;
    opacity: 0;
    visibility: hidden;
    transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
    display: flex;
    align-items: center;
    justify-content: center;
}

.pochifloat-floating-btn.pochifloat-is-visible {
    bottom: 20px;
    opacity: 1;
    visibility: visible;
}

.pochifloat-floating-btn:hover {
    transform: translateY(-3px);
    filter: brightness(1.1);
}

.pochifloat-balloon {
    position: absolute;
    bottom: calc(100% + 5px);
    left: 50%;
    transform: translateX(-50%);
    color: var(--pochifloat-balloon-color);
    font-size: calc(var(--pochifloat-font-size-pc) * 0.85); /* ボタンより少し小さく */
    font-weight: bold;
    white-space: nowrap;
    pointer-events: none;
    text-shadow: 0px 1px 3px rgba(255,255,255,0.7);
}

.pochifloat-tmpl-simple { background-color: var(--pochifloat-color); border-radius: var(--pochifloat-btn-radius); box-shadow: 0 4px 6px rgba(0,0,0,0.2); }
.pochifloat-tmpl-gradient { background: linear-gradient(135deg, var(--pochifloat-color) 0%, var(--pochifloat-color2) 100%); border-radius: var(--pochifloat-btn-radius); box-shadow: 0 8px 15px rgba(0,0,0,0.3); }
.pochifloat-tmpl-pill { background-color: var(--pochifloat-color); border-radius: var(--pochifloat-btn-radius); box-shadow: 0 4px 10px rgba(0,0,0,0.2); }
.pochifloat-tmpl-outline { background-color: transparent; border: 2px solid var(--pochifloat-color); color: var(--pochifloat-color) !important; border-radius: var(--pochifloat-btn-radius); }
.pochifloat-tmpl-outline:hover { background-color: var(--pochifloat-color); color: #ffffff !important; }
.pochifloat-tmpl-material { background-color: var(--pochifloat-color); border-radius: var(--pochifloat-btn-radius); box-shadow: 0 10px 20px rgba(0,0,0,0.25), 0 6px 6px rgba(0,0,0,0.22); }

.pochifloat-tmpl-image { background: transparent !important; padding: 0 !important; box-shadow: none !important; border: none !important; }
.pochifloat-img-pc { display: block; width: var(--pochifloat-img-width-pc); max-width: 100%; height: auto; border-radius: var(--pochifloat-img-radius); box-shadow: var(--pochifloat-img-shadow); }
.pochifloat-img-sp { display: none !important; }

@media (max-width: 768px) {
    .pochifloat-floating-btn.pochifloat-is-visible {
        bottom: var(--pochifloat-bottom-sp);
        left: var(--pochifloat-pos-left-sp);
        right: var(--pochifloat-pos-right-sp);
    }
    .pochifloat-floating-btn {
        padding: 12px 20px; 
        font-size: var(--pochifloat-font-size-sp);
        width: var(--pochifloat-btn-width-sp);
    }
    .pochifloat-balloon { font-size: calc(var(--pochifloat-font-size-sp) * 0.85); }
    
    .pochifloat-tmpl-image { padding: 0; }
    .pochifloat-img-pc { display: none !important; }
    .pochifloat-img-sp {
        display: block !important;
        width: var(--pochifloat-img-width-sp);
        max-width: 100%;
        height: auto;
        border-radius: var(--pochifloat-img-radius);
        box-shadow: var(--pochifloat-img-shadow);
    }
}