.layout-wide { width: 100%; max-width: 1600px; margin: 0 auto; padding-left: 1rem; padding-right: 1rem; transition: padding 0.3s ease; }
@media (min-width: 768px) { .layout-wide { padding-left: 2rem; padding-right: 2rem; } }
@media (min-width: 1024px) { .layout-wide { padding-left: 4rem; padding-right: 4rem; } }
@media (min-width: 1280px) { .layout-wide { padding-left: 5rem; padding-right: 5rem; } }
@media (min-width: 1536px) { .layout-wide { padding-left: 6rem; padding-right: 6rem; } }

.bg-gold-solid { background: #D4AF37; }
.bg-red-gradient { background: linear-gradient(135deg, #991B1B 0%, #7F1D1D 100%); }
.bg-blue-gradient { background: linear-gradient(135deg, #1E3A8A 0%, #172554 100%); }
.border-gold-bottom { border-bottom: 4px solid #D4AF37; }
.text-readable { color: #1F2937; }

.line-clamp-2 { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.marquee { overflow: hidden; white-space: nowrap; box-sizing: border-box; }
.marquee-content { display: inline-block; padding-left: 100%; animation: marquee 25s linear infinite; }
.marquee-content:hover { animation-play-state: paused; }
@keyframes marquee { 0% { transform: translate(0, 0); } 100% { transform: translate(-100%, 0); } }

.tab-active { border-bottom: 4px solid #D4AF37; color: #111827; font-weight: 700; background: #FFFFFF; }
.cat-badge { position: absolute; top: 15px; left: 15px; z-index: 10; font-family: 'Oswald'; font-size: 12px; text-transform: uppercase; font-weight: 700; padding: 4px 14px; letter-spacing: 1px; color: #FFFFFF; box-shadow: 0 4px 6px rgba(0,0,0,0.4); }
.image-zoom { overflow: hidden; }
.image-zoom img { transition: transform 0.7s ease; }
.image-zoom:hover img { transform: scale(1.1); }
.app-scroll::-webkit-scrollbar { height: 4px; }
.app-scroll::-webkit-scrollbar-thumb { background: #D4AF37; border-radius: 4px; }

.ql-toolbar { font-family: 'Roboto', sans-serif; background: #f9fafb; border-color: #d1d5db !important; }
.ql-container { font-family: 'Roboto', sans-serif; font-size: 16px; border-color: #d1d5db !important; padding-bottom: 10px; }
.ql-editor { min-height: 150px; max-height: 50vh; overflow-y: auto; }

.ql-editor img { display: inline; max-width: 100%; height: auto; margin: 0.5rem; cursor: pointer; }
.ql-align-center { text-align: center; }
.ql-align-right { text-align: right; }
.ql-align-justify { text-align: justify; }

.frontend-quill-content h1 { font-size: 2em; font-weight: bold; margin-bottom: 0.5em; }
.frontend-quill-content h2 { font-size: 1.5em; font-weight: bold; margin-bottom: 0.5em; }
.frontend-quill-content h3 { font-size: 1.17em; font-weight: bold; margin-bottom: 0.5em; }
.frontend-quill-content p { margin-bottom: 1em; }
.frontend-quill-content ul { list-style-type: disc; padding-left: 2em; margin-bottom: 1em; }
.frontend-quill-content ol { list-style-type: decimal; padding-left: 2em; margin-bottom: 1em; }
.frontend-quill-content a { color: #1E3A8A; text-decoration: underline; }

body { -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; }
input, textarea, select, .ql-editor { -webkit-user-select: text; -moz-user-select: text; -ms-user-select: text; user-select: text; }

.frontend-quill-content.ql-editor { max-height: none !important; overflow-y: visible !important; }