/*
Theme Name: Solana Video Theme
Theme URI: https://acceptcrypto.dev
Author: Robert Timsah
Description: A private video creator theme.
Version: 21.0
Text Domain: Solana Video Theme
*/

@import url('https://fonts.googleapis.com/css2?family=Outfit:wght@400;500;700;800&family=Plus+Jakarta+Sans:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500&display=swap');

body {
    background-color: #ffffff;
    color: #111111;
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-weight: 400;
    line-height: 1.6;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

/* Scrollbar */
::-webkit-scrollbar { width: 8px; }
::-webkit-scrollbar-track { background: #fff; }
::-webkit-scrollbar-thumb { background: #E52E99; border-radius: 4px; border: 2px solid #fff; }
::-webkit-scrollbar-thumb:hover { background: #9945FF; }

/* =========================================
   ZONE GRADIENTS (Visual Separation)
   ========================================= */

.gradient-header {
    background: linear-gradient(135deg, #ffffff 0%, #FAFAFA 50%, #fff0f5 100%) !important;
}

.gradient-body {
    background: linear-gradient(225deg, #ffffff 0%, #FDF4FF 100%) !important;
}

.gradient-footer {
    background: linear-gradient(0deg, #FAFAFA 0%, #ffffff 100%) !important;
    border-top: 1px solid rgba(229, 46, 153, 0.05);
}

/* =========================================
   VERTICAL RHYTHM & PROSE RESET
   ========================================= */

.prose > * { margin-top: 0 !important; }

/* Base Bottom Margin for Most Elements - Reduced to 1rem to match heading bottom margin */
/* ADDED: margin-top: 0 !important to prevent nested elements from doubling up gaps */
.prose p,
.prose ul,
.prose ol,
.prose blockquote,
.prose pre,
.prose figure {
    margin-top: 0 !important;
    margin-bottom: 1rem !important; 
}

.prose p,
.entry-content p,
.wp-block-paragraph {
    color: #444;
    font-size: 1.125rem !important; 
    line-height: 1.8 !important;    
    max-width: 100%;
}

.prose h1, .prose h2, .prose h3, .prose h4, .prose h5, .prose h6 {
    font-family: 'Outfit', sans-serif !important;
    font-weight: 700 !important;
    color: #111111;
    letter-spacing: -0.02em;
    margin-bottom: 1rem !important; 
}

.prose h1 { margin-top: 3rem !important; } 
.prose h2 { margin-top: 4rem !important; } 
.prose h3 { margin-top: 3.5rem !important; } 
.prose h4 { margin-top: 2.5rem !important; }
.prose h5 { margin-top: 2rem !important; }
.prose h6 { margin-top: 2rem !important; }

.prose > *:first-child { margin-top: 0 !important; }
.prose > *:last-child { margin-bottom: 0 !important; }

.prose p:empty { display: none !important; }
.prose p:blank { display: none !important; }
.prose br { display: none; }

/* =========================================
   HEADING STYLES
   ========================================= */

.prose h1 {
    font-size: 3.5rem !important;
    text-align: center;
    font-weight: 800 !important;
    line-height: 1.1 !important;
}

.prose h2 {
    font-size: 2.25rem !important;
    color: #E52E99 !important; 
    border-bottom: 1px solid #FCE7F3;
    padding-bottom: 0.5rem;
    display: block;
}

.prose h3 {
    font-size: 2rem !important; 
    color: #111 !important; 
    font-weight: 800 !important;
}

/* =========================================
   ELEMENTS
   ========================================= */

/* FIX: Exclude buttons from the pink link color.
   Added :not() selectors to ensure buttons keep their white text 
*/
.prose a:not(.btn-liquid):not(.wp-block-button__link) {
    color: #E52E99 !important;
    text-decoration: none !important;
    font-weight: 600;
    transition: color 0.2s;
    border-bottom: 1px solid transparent;
}

.prose a:not(.btn-liquid):not(.wp-block-button__link):hover {
    color: #9945FF !important;
    border-bottom-color: #9945FF;
}

/* FIXED: Remove underline/border specifically for linked images */
.prose a:has(img) {
    border-bottom: none !important;
    text-decoration: none !important;
}

/* UPDATED: Exclude .wp-block-gallery from list styles to prevent layout breakage */
.prose ul:not(.wp-block-gallery), 
.prose ol:not(.wp-block-gallery) {
    padding-left: 1.5rem !important;
}

.prose li {
    margin-bottom: 0.5rem !important;
    color: #444;
}

/* Ensure gallery items (if lists) don't inherit spacing or bullets */
.prose .wp-block-gallery li {
    margin-bottom: 0 !important;
    padding-left: 0 !important;
}

.prose ul:not(.wp-block-gallery) li { 
    list-style-type: none; 
    position: relative; 
    padding-left: 1.5rem; 
}

.prose ul:not(.wp-block-gallery) li::before {
    content: '♡';
    color: #E52E99;
    font-weight: bold;
    position: absolute;
    left: 0;
    top: 3px;
}

.prose ol:not(.wp-block-gallery) { 
    list-style-type: decimal; 
    color: #E52E99; 
    font-weight: bold; 
    padding-left: 2rem !important; 
}

.prose ol:not(.wp-block-gallery) li { padding-left: 0.5rem; }
.prose ol:not(.wp-block-gallery) li > * { color: #444; font-weight: 400; }

blockquote {
    border-left: 4px solid #E52E99 !important;
    background: #FCE7F3; 
    padding: 2rem 2.5rem !important;
    border-radius: 0 1.5rem 1.5rem 0;
    box-shadow: 0 4px 6px rgba(0,0,0,0.02);
}
blockquote p {
    color: #111 !important;
    font-style: italic;
    font-weight: 600 !important;
    margin-bottom: 0 !important;
}

/* =========================================
   IMAGES & MEDIA
   ========================================= */

/* 1. General Media Styles (Single Images, Video, iFrames) */
.wp-block-image img, 
.prose img, 
video, 
iframe {
    border-radius: 1.5rem;
    box-shadow: 0 10px 40px -10px rgba(0,0,0,0.1); 
    height: auto !important;
    max-width: 100%;
    display: block; /* Default block behavior */
}

/* 2. Gallery Images - VISUALS ONLY 
   Critically: We do NOT set height:auto or max-width here, as that breaks 
   Gutenberg's native cropping/masonry layout logic. Only styling. */
.wp-block-gallery img {
    border-radius: 1.5rem !important;
    box-shadow: 0 10px 40px -10px rgba(0,0,0,0.1) !important;
}

/* 3. Protection: Prevent Prose margins from breaking Native WP Gallery layouts */
.wp-block-gallery figure,
.wp-block-gallery .wp-block-image,
.wp-block-gallery li {
    margin-bottom: 0 !important; /* Let native grid/flex gap handle internal spacing */
    margin-top: 0 !important;
    padding: 0 !important;
}

/* Default Spacing (Centered / No Align) */
.wp-block-image:not(.alignleft):not(.alignright) {
    margin: 3rem auto !important; /* Center and give space */
    text-align: center;
}

/* Left Alignment */
.wp-block-image.alignleft,
.alignleft {
    float: left;
    margin-right: 2rem !important;
    margin-bottom: 1.5rem !important;
    margin-top: 0.5rem !important;
    max-width: 50%;
}

/* Right Alignment */
.wp-block-image.alignright,
.alignright {
    float: right;
    margin-left: 2rem !important;
    margin-bottom: 1.5rem !important;
    margin-top: 0.5rem !important;
    max-width: 50%;
}

/* Center Alignment */
.wp-block-image.aligncenter,
.aligncenter {
    display: block;
    margin-left: auto !important;
    margin-right: auto !important;
    margin-bottom: 3rem !important;
}

/* Clear floats after content */
.prose::after {
    content: "";
    display: table;
    clear: both;
}

/* Table */
.wp-block-table, table {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
    border: 1px solid #FCE7F3;
    border-radius: 1rem;
    overflow: hidden;
    margin-bottom: 2rem !important;
}
th {
    background: #FAFAFA;
    color: #111;
    font-weight: 700;
    text-transform: uppercase;
    padding: 1rem;
    font-size: 0.8rem;
    letter-spacing: 0.05em;
}
td {
    padding: 1rem;
    border-bottom: 1px solid #FAFAFA;
    color: #666;
}

/* =========================================
   BUTTONS (Liquid Gradient)
   ========================================= */

/* FIXED: Added .prose prefixes here to significantly increase specificity (0-2-0).
   This ensures button text is ALWAYS white, even inside the prose content area 
   where the general link style (0-1-1) was previously winning.
*/
.prose .btn-liquid,
.prose .wp-block-button__link,
.btn-liquid, 
.wp-block-button__link {
    background: linear-gradient(135deg, #E52E99 0%, #9945FF 100%) !important;
    color: #ffffff !important;
    padding: 0.85rem 2.5rem !important;
    border-radius: 999px !important;
    font-weight: 700 !important;
    text-transform: uppercase;
    font-size: 0.85rem !important;
    letter-spacing: 0.05em;
    border: none !important;
    text-decoration: none !important;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: all 0.3s ease !important;
    box-shadow: 0 4px 15px rgba(229, 46, 153, 0.3) !important;
}

.prose .btn-liquid:hover,
.prose .wp-block-button__link:hover,
.btn-liquid:hover,
.wp-block-button__link:hover {
    transform: translateY(-2px) !important;
    box-shadow: 0 8px 25px rgba(153, 69, 255, 0.4) !important;
    filter: brightness(1.1);
}

.title-glow { text-shadow: 0 0 30px rgba(217, 70, 239, 0.4); }