/**
 * Poultry Magazine Preview - Flipbook Styles (Turn.js)
 */

.pmagazine-preview-wrapper {
    position: relative;
    padding-bottom: 20px;
    background: #939393;
}

.pmagazine-preview-container {
    position: relative;
    background: transparent;
    border-radius: 4px 4px 0 0;
    overflow: hidden;
    height: calc(100% - 52px);
}

.pmagazine-preview-viewport {
    position: relative;
    width: 100%;
    height: 100%;
}

.pmagazine-preview-book-container {
    position: absolute;
    top: 50%;
    left: 50%;
}

.animated {
    -webkit-transition: margin-left 0.5s;
    -moz-transition: margin-left 0.5s;
    -ms-transition: margin-left 0.5s;
    -o-transition: margin-left 0.5s;
    transition: margin-left 0.5s;
}

/* Flipbook shadow (Turn.js .shadow div) - default from magazine sample */
.flip-book .shadow {
    -webkit-box-shadow: 0 0 40px rgba(0, 0, 0, 0.4);
    -moz-box-shadow: 0 0 40px rgba(0, 0, 0, 0.4);
    -ms-box-shadow: 0 0 40px rgba(0, 0, 0, 0.4);
    -o-box-shadow: 0 0 40px rgba(0, 0, 0, 0.4);
    box-shadow: 0 0 40px rgba(0, 0, 0, 0.4);
}

/* Page styling - default from magazine sample */
.flip-book .page {
    background-color: white;
    background-repeat: no-repeat;
    background-size: 100% 100%;
    -webkit-box-shadow: 0 0 20px rgba(0, 0, 0, 0.2);
    -moz-box-shadow: 0 0 20px rgba(0, 0, 0, 0.2);
    -ms-box-shadow: 0 0 20px rgba(0, 0, 0, 0.2);
    -o-box-shadow: 0 0 20px rgba(0, 0, 0, 0.2);
    box-shadow: 0 0 20px rgba(0, 0, 0, 0.2);
}

.flip-book .page img {
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    -khtml-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    margin: 0;
    width: 100%;
    height: 100%;
}

/* Center fold shadow - even (right) pages */
.flip-book .even .gradient {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: -webkit-gradient(linear, left top, right top, color-stop(0.90, rgba(0,0,0,0)), color-stop(1, rgba(0,0,0,0.4)));
    background-image: -webkit-linear-gradient(left, rgba(0,0,0,0) 90%, rgba(0,0,0,0.4) 100%);
    background-image: -moz-linear-gradient(left, rgba(0,0,0,0) 90%, rgba(0,0,0,0.4) 100%);
    background-image: -ms-linear-gradient(left, rgba(0,0,0,0) 90%, rgba(0,0,0,0.4) 100%);
    background-image: -o-linear-gradient(left, rgba(0,0,0,0) 90%, rgba(0,0,0,0.4) 100%);
    background-image: linear-gradient(left, rgba(0,0,0,0) 90%, rgba(0,0,0,0.4) 100%);
}

/* Center fold shadow - odd (left) pages */
.flip-book .odd .gradient {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: -webkit-gradient(linear, right top, left top, color-stop(0.90, rgba(0,0,0,0)), color-stop(1, rgba(0,0,0,0.35)));
    background-image: -webkit-linear-gradient(right, rgba(0,0,0,0) 90%, rgba(0,0,0,0.35) 100%);
    background-image: -moz-linear-gradient(right, rgba(0,0,0,0) 90%, rgba(0,0,0,0.35) 100%);
    background-image: -ms-linear-gradient(right, rgba(0,0,0,0) 90%, rgba(0,0,0,0.35) 100%);
    background-image: -o-linear-gradient(right, rgba(0,0,0,0) 90%, rgba(0,0,0,0.35) 100%);
    background-image: linear-gradient(right, rgba(0,0,0,0) 90%, rgba(0,0,0,0.35) 100%);
}

/* Navigation */
.pmagazine-preview-nav {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 15px;
    padding: 10px 15px;
    background: #fff;
    margin: auto;
    width: fit-content;
    border-radius: 8px;
}

.pmagazine-preview-nav button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 32px;
    padding: 0 12px;
    border: 1px solid #ccc;
    border-radius: 4px;
    background: #fff;
    color: #333;
    font-size: 13px;
    cursor: pointer;
}

.pmagazine-preview-nav button:hover:not(:disabled) {
    background: #f0f0f0;
    border-color: #999;
}

.pmagazine-preview-nav button:disabled {
    opacity: 0.4;
    cursor: not-allowed;
}

.pmagazine-preview-page-info {
    font-size: 14px;
    color: #666;
}

.pmagazine-preview-page-info .current-page {
    font-weight: 600;
    color: #333;
}

/* Fullscreen Button */
.pmagazine-preview-fullscreen {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    padding: 0;
    border: 1px solid #ccc;
    border-radius: 4px;
    background: #fff;
    color: #333;
    cursor: pointer;
    margin-left: 10px;
}

.pmagazine-preview-fullscreen:hover {
    background: #f0f0f0;
    border-color: #999;
}

.pmagazine-preview-fullscreen .dashicons {
    font-size: 16px;
    width: 16px;
    height: 16px;
}

/* Badge */
.pmagazine-preview-badge {
    position: absolute;
    top: 10px;
    left: 10px;
    z-index: 15;
}

.pmagazine-preview-badge .badge {
    display: inline-block;
    padding: 4px 8px;
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
    border-radius: 3px;
    letter-spacing: 0.5px;
}

.pmagazine-preview-badge .badge-preview {
    background: #0073aa;
    color: #fff;
}

/* Loading */
.pmagazine-preview-loading {
    position: absolute;
    top: 0; left: 0; right: 0; bottom: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    background: rgba(255, 255, 255, 0.9);
    z-index: 100;
}

.pmagazine-preview-loading .spinner {
    width: 40px; height: 40px;
    border: 3px solid #f3f3f3;
    border-top: 3px solid #0073aa;
    border-radius: 50%;
    animation: pmagazine-spin 1s linear infinite;
}

@keyframes pmagazine-spin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

.pmagazine-preview-loading p {
    margin-top: 15px;
    color: #666;
    font-size: 14px;
}

/* Error */
.pmagazine-preview-error {
    padding: 15px 20px;
    background: #fcf0f1;
    border: 1px solid #d63638;
    border-radius: 4px;
    color: #d63638;
    text-align: center;
}

/* Fullscreen */
.pmagazine-preview-wrapper.pmagazine-fullscreen {
    position: fixed;
    top: 0; left: 0;
    width: 100vw; height: 100vh;
    z-index: 999999;
    border-radius: 0;
}

.pmagazine-preview-wrapper.pmagazine-fullscreen .pmagazine-preview-container {
    border-radius: 0;
}

@media print { .pmagazine-preview-container { display: none; } }
