/* Scope every rule to the opt-in free gallery. Existing paid layouts are unaffected. */
.direct-free-page #mobileStickyBar { max-width: 980px; margin-inline: auto; }
.direct-free-page #flashMessageJs { max-width: calc(100vw - 24px); width: max-content; pointer-events: none; z-index: 2000 !important; }
.direct-free-page #mobileCartModal .selection-review-kpi:not(:first-child),
.direct-free-page #mobileCartModal .selection-review-next,
.direct-free-page #mobileCartModal .selected-photo-price,
.direct-free-page #mobileCartModal .selected-photo-meta { display: none; }
.direct-free-page #mobileCartModal .selection-review-summary-grid { grid-template-columns: 1fr; }
.direct-free-page #photoModal #burstOptions { display: none; }
.direct-free-single .photo .form-check-label,
.direct-free-single .selfie-result-select,
.direct-free-single #photoModal .modal-select-label,
.direct-free-single #modalSelectedCount,
.direct-free-single #mobileStickyBar,
.direct-free-single #mobileCartModal { display: none !important; }
.direct-free-page .free-thumb-retry { margin: 4px 8px; font-size: .8rem; }
@media (max-width: 767.98px) {
    .direct-free-single #photoModal.mobile-photo-viewer .photo-viewer-actions {
        grid-template-columns: minmax(0, 1fr) 44px;
    }
    .direct-free-single #photoModal.mobile-photo-viewer.mobile-has-face-search .photo-viewer-actions {
        grid-template-columns: minmax(0, 1fr) 78px 44px;
    }
    .direct-free-single #photoModal.mobile-photo-viewer #modalCheckoutButton { grid-column: 1; }
    .direct-free-single #photoModal.mobile-photo-viewer #shareCurrentPhotoButton { grid-column: 2; }
    .direct-free-single #photoModal.mobile-photo-viewer.mobile-has-face-search #searchFromModalPhotoButton { grid-column: 2; }
    .direct-free-single #photoModal.mobile-photo-viewer.mobile-has-face-search #shareCurrentPhotoButton { grid-column: 3; }
}
@media (max-width: 350px) {
    .direct-free-single #photoModal.mobile-photo-viewer.mobile-has-face-search .photo-viewer-actions {
        grid-template-columns: minmax(0, 1fr) 44px 44px;
    }
}
@media (min-width: 768px) {
    .direct-free-page #mobileStickyBar { left: 20px; right: 20px; width: auto; bottom: 16px; border-radius: 16px; transform: none; }
}
