/**
 * VFAVE Elementor Widgets Styles
 */

/* ==========================================================================
   VFAVE Viewer Button Widget
   ========================================================================== */

.vfave-viewer-button-wrapper {
    display: block;
}

.vfave-viewer-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    border: none;
    outline: none;
    text-decoration: none;
    font-family: inherit;
    line-height: 1;
    transition: all 0.3s ease;
}

/* Button Sizes */
.vfave-viewer-button.vfave-size-xs {
    padding: 8px 14px;
    font-size: 12px;
}

.vfave-viewer-button.vfave-size-sm {
    padding: 10px 18px;
    font-size: 13px;
}

.vfave-viewer-button.vfave-size-md {
    padding: 12px 24px;
    font-size: 14px;
}

.vfave-viewer-button.vfave-size-lg {
    padding: 14px 30px;
    font-size: 16px;
}

.vfave-viewer-button.vfave-size-xl {
    padding: 18px 40px;
    font-size: 18px;
}

/* Icon Styles */
.vfave-viewer-button .vfave-button-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    line-height: 1;
}

.vfave-viewer-button .vfave-button-icon svg {
    display: block;
}

.vfave-viewer-button .vfave-button-icon i {
    line-height: 1;
}

/* Icon Position - handled by Elementor selectors, these are fallbacks */
.vfave-viewer-button.icon-left .vfave-button-icon {
    margin-right: 8px;
}

.vfave-viewer-button.icon-right .vfave-button-icon {
    margin-left: 8px;
}

/* Button Text */
.vfave-viewer-button .vfave-button-text {
    display: inline-block;
}

/* Justified alignment */
.vfave-viewer-button-wrapper[style*="text-align: justify"] .vfave-viewer-button,
.vfave-viewer-button-wrapper[style*="text-align:justify"] .vfave-viewer-button {
    width: 100%;
}

/* Default styling (can be overridden by Elementor controls) */
.vfave-viewer-button {
    background-color: #0a84ff;
    color: #ffffff;
    border-radius: 4px;
}

.vfave-viewer-button:hover {
    background-color: #0070e0;
}

/* Focus state for accessibility */
.vfave-viewer-button:focus {
    outline: 2px solid #0a84ff;
    outline-offset: 2px;
}

.vfave-viewer-button:focus:not(:focus-visible) {
    outline: none;
}

.vfave-viewer-button:focus-visible {
    outline: 2px solid #0a84ff;
    outline-offset: 2px;
}

/* ==========================================================================
   Editor Preview Styles
   ========================================================================== */

.elementor-editor-active .vfave-viewer-button {
    pointer-events: none;
}

/* Notice boxes in editor */
.elementor-editor-active .vfave-viewer-button-wrapper > div[style*="background: #f0f0f1"],
.elementor-editor-active .vfave-viewer-button-wrapper > div[style*="background: #fff3cd"] {
    font-size: 13px;
    line-height: 1.5;
}

/* ==========================================================================
   VFAV Artwork Display Widget
   ========================================================================== */

.vfav-ew-artwork-image {
    display: flex;
    justify-content: center;
    align-items: center;
    min-height: 70vh;
    padding: 10px 0;
}

.vfav-ew-artwork-image img {
    max-width: 100%;
    max-height: 70vh;
    object-fit: contain;
    display: block;
}

.vfav-ew-no-image {
    color: #666;
    font-size: 18px;
    text-align: center;
    padding: 100px 0;
}

.vfav-ew-placeholder {
    background: #f0f0f1;
    border: 2px dashed #ccc;
    padding: 40px 20px;
    text-align: center;
    color: #666;
    border-radius: 4px;
}
