/**
 * Combined Block Styles
 * 
 * This file imports all block-specific styles
 * Individual block styles are loaded separately via block registration
 * This file provides common block utilities and overrides
 *
 * @package NUSY_Official
 * @since 1.0.0
 */

/* Common Block Utilities */
.alignwide {
    max-width: 1200px;
    margin-left: auto;
    margin-right: auto;
}

.alignfull {
    max-width: 100%;
    width: 100vw;
    margin-left: calc(50% - 50vw);
}

/* Button Styles */
.btn {
    display: inline-block;
    padding: 0.75rem 1.5rem;
    font-weight: 500;
    text-align: center;
    text-decoration: none;
    border-radius: 4px;
    transition: all 0.3s ease;
    cursor: pointer;
    border: 2px solid transparent;
}

.btn-outline-primary {
    color: var(--nusy-primary, #0066cc);
    border-color: var(--nusy-primary, #0066cc);
    background: transparent;
}

.btn-outline-primary:hover {
    background: var(--nusy-primary, #0066cc);
    color: #fff;
}

.btn-outline-secondary {
    color: #666;
    border-color: #666;
    background: transparent;
}

.btn-outline-secondary:hover {
    background: #666;
    color: #fff;
}

/* Icon Styles */
.icon-photo::before {
    content: '📷';
}

.icon-video::before {
    content: '🎥';
}

.icon-chevron-up::before {
    content: '↑';
}

.icon-gallery-next::before {
    content: '→';
}

.icon-gallery-prev::before {
    content: '←';
}

/* Tag List */
.tag-list {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    list-style: none;
    margin: 2rem 0;
    padding: 0;
}

.tag-list__it a {
    display: inline-block;
    padding: 0.5rem 1rem;
    background: #f0f0f0;
    color: #333;
    border-radius: 20px;
    text-decoration: none;
    font-size: 0.875rem;
    transition: all 0.3s ease;
}

.tag-list__it a:hover {
    background: var(--nusy-primary, #0066cc);
    color: #fff;
}

/* Download List */
.download-list {
    list-style: none;
    margin: 2rem 0;
    padding: 0;
}

.download-list__it {
    display: flex;
    align-items: center;
    gap: 1rem;
    padding: 1rem;
    background: #f9f9f9;
    border-radius: 8px;
    margin-bottom: 0.5rem;
}

.download-list__type {
    flex-shrink: 0;
}

.download-list__type img {
    width: 40px;
    height: 40px;
}

.download-list__size {
    margin-left: auto;
    color: #666;
    font-size: 0.875rem;
}

/* WYSIWYG Content */
.wysiwyg {
    font-size: 1.125rem;
    line-height: 1.8;
}

.wysiwyg h2,
.wysiwyg h3,
.wysiwyg h4 {
    margin-top: 2rem;
    margin-bottom: 1rem;
}

.wysiwyg p {
    margin-bottom: 1.5rem;
}

.wysiwyg ul,
.wysiwyg ol {
    margin-bottom: 1.5rem;
    padding-left: 2rem;
}

.wysiwyg img {
    max-width: 100%;
    height: auto;
    border-radius: 8px;
}

/* Responsive Utilities */
@media (max-width: 768px) {
    .hide-sm {
        display: none !important;
    }
    
    .show-sm-inline {
        display: inline-block !important;
    }
}

@media (max-width: 450px) {
    .hide-xs {
        display: none !important;
    }
}
