.pdf-viewer-container {
    position: relative;
    overflow-y: auto;
    overflow-x: hidden;
    background: #f9f9f9;
    width: 100%;
    height: 100%;
    max-width: 100%;
    user-select: none;
    border: var(--viewer-border-thickness, 1px) var(--viewer-border-style, solid) var(--viewer-outline-color, #ccc);
}

/* Cover overlay */
.cover-overlay-wrapper {
    position: relative;
    height: 100%;
}

.cover-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 9998;
}

/* Stripe modal */
.securepdf-modal-backdrop {
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,0.65);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 10000;
}
.securepdf-modal {
    background: #fff;
    padding: 20px;
    border-radius: 8px;
    min-width: 320px;
    max-width: 90vw;
    box-shadow: 0 10px 30px rgba(0,0,0,0.4);
}
.securepdf-modal h3 { margin-top: 0; }
.securepdf-modal .modal-actions {
    margin-top: 12px;
    display: flex;
    gap: 8px;
    justify-content: flex-end;
}

.securepdf-modal .securepdf-mode-indicator {
    font-size: 12px;
    line-height: 1;
    padding: 4px 8px;
    border-radius: 4px;
    border: 1px solid #ccc;
    color: #555;
    background: #f1f1f1;
}
.securepdf-modal .securepdf-mode-indicator.is-live {
    background: #e8f6ee;
    border-color: #8ad1a2;
    color: #207a3a;
}
.securepdf-modal .securepdf-mode-indicator.is-test {
    background: #fff4e5;
    border-color: #f0c27b;
    color: #a86b00;
}

/* Hide footer while cover overlay is active */
.pdf-viewer-footer.is-hidden {
    display: none !important;
}

/* Utility to hide specific elements (e.g., buttons before purchase) */
.securepdf-hidden {
    display: none !important;
}

.cover-overlay .cover-overlay-bg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-size: cover; /* default */
    background-position: center center;
    transform: scale(1.02);
}

.cover-overlay .cover-open-button {
    position: relative;
    z-index: 1;
    background-color: var(--open-button-bg, var(--button-bg, #0073aa));
    color: var(--open-button-font, var(--button-font, #fff));
    border: none;
    border-radius: 4px;
    padding: 12px 20px;
    font-size: 16px;
    font-weight: bold;
    box-shadow: 0 4px 10px rgba(0,0,0,0.3);
    cursor: pointer;
    transition: background-color 0.2s ease, transform 0.1s ease;
}

.cover-overlay .cover-open-button:hover {
    background-color: var(--open-button-hover-bg, var(--button-hover-bg, #005177));
    transform: translateY(-1px);
}

.pdf-viewer {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 10px;
    box-sizing: border-box;
}

.pdf-viewer canvas {
    margin: 10px 0;
    border: 1px solid #ddd;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
    width: auto;
    max-width: 100%;
}

.pdf-viewer-container::-webkit-scrollbar {
    width: 10px;
}

.pdf-viewer-container::-webkit-scrollbar-track {
    background: #f0f0f0;
}

.pdf-viewer-container::-webkit-scrollbar-thumb {
    background: #888;
    border-radius: 5px;
}

.pdf-viewer-container::-webkit-scrollbar-thumb:hover {
    background: #555;
}

.pdf-viewer-wrapper {
    display: flex;
    flex-direction: column;
    align-items: center;
}

.pdf-viewer-footer {
    display: flex;
    justify-content: space-between; /* Align file name left, buttons right */
    align-items: center;
    background-color: var(--footer-bg, #333); /* Dark gray background */
    color: #fff;
    padding: 10px 20px;
    box-sizing: border-box;
    font-family: Arial, sans-serif;
    font-size: 14px;
    box-shadow: 0 -2px 5px rgba(0, 0, 0, 0.2);
    border-top: var(--footer-border-thickness, 4px) var(--footer-border-style, solid) var(--footer-border-color, #000); /* Dynamic values */
}

/* Block editor placeholder styling */
.secure-pdf-block-placeholder {
    border: 1px dashed #c3c4c7;
    padding: 16px;
    background: #f6f7f7;
}

.pdf-filename {
    font-size: 16px;
    font-weight: bold;
    color: #fff;
}

.pdf-button {
    background-color: var(--button-bg, #0073aa); /* Default WordPress blue */
    color: var(--button-font, #fff);
    border: none;
    border-radius: 3px;
    padding: 8px 16px;
    margin-left: 10px;
    font-size: 14px;
    font-weight: bold;
    text-transform: uppercase;
    cursor: pointer;
    transition: background-color 0.3s, transform 0.2s;
    box-shadow: 0px 2px 4px rgba(0, 0, 0, 0.2);
}

.pdf-button:hover {
    background-color: var(--button-hover-bg, #005177); /* Darker WordPress blue */
    transform: translateY(-2px);
}

.pdf-join-button { background-color: var(--join-button-bg, #d63638); }

.pdf-join-button:hover { background-color: #b22e2f; }

#copy-shortcode {
    background-color: #008CBA;
    color: #fff;
    border: none;
    padding: 8px 12px;
    margin-top: 10px;
    cursor: pointer;
    font-size: 14px;
    border-radius: 4px;
    display: none; /* Initially hidden */
}

#copy-shortcode:hover {
    background-color: #0077a3;
}

#copy-success {
    margin-left: 10px;
    font-weight: bold;
}
/* Mature content styles for Secure PDF Embedder */

/* Wrapper to indicate mature content requiring verification */
.mature-content-wrapper {
    position: relative;
}

/* Blur the PDF viewer until verification */
.mature-content-wrapper .pdf-viewer {
    filter: blur(10px);
    pointer-events: none;
    user-select: none;
}

/* Overlay to prompt for age verification */
.mature-content-wrapper .mature-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.85);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 9999;
}

/* Popup box for age verification */
.mature-content-wrapper .mature-overlay .mature-popup {
    background: #ffffff;
    padding: 20px;
    max-width: 400px;
    width: 90%;
    border-radius: 8px;
    text-align: center;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);
}

/* Headline in the popup */
.mature-content-wrapper .mature-overlay .mature-popup h2 {
    margin-top: 0;
    font-size: 1.5em;
}

/* Date input for birthdate */
.mature-content-wrapper .mature-overlay .mature-popup input[type="date"] {
    width: 100%;
    padding: 8px;
    margin: 12px 0;
    box-sizing: border-box;
    font-size: 1em;
}

/* Verification button */
.mature-content-wrapper .mature-overlay .mature-popup button {
    background-color: #d63638;
    color: #ffffff;
    border: none;
    border-radius: 4px;
    padding: 10px 20px;
    cursor: pointer;
    font-size: 1em;
    transition: background-color 0.3s;
}

/* Hover state for the button */
.mature-content-wrapper .mature-overlay .mature-popup button:hover {
    background-color: #b22e2f;
}
