html { scroll-behavior: smooth; }
body { -webkit-font-smoothing: antialiased; }

.placeholder {
    background: linear-gradient(135deg, #df8424, #65351a);
    position: relative;
}
.placeholder::after {
    content: '';
    position: absolute;
    inset: 0;
    background-image: repeating-linear-gradient(45deg, rgba(255,255,255,0.05) 0, rgba(255,255,255,0.05) 10px, transparent 10px, transparent 20px);
}

.line-clamp-1 { display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden; }
.line-clamp-2 { display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden; }

/* Custom scrollbar */
::-webkit-scrollbar { width: 10px; height: 10px; }
::-webkit-scrollbar-track { background: #f1f5f9; }
::-webkit-scrollbar-thumb { background: #94a3b8; border-radius: 6px; }
::-webkit-scrollbar-thumb:hover { background: #df8424; }

/* Animations */
@keyframes float {
    0%, 100% { transform: translateY(0px); }
    50% { transform: translateY(-10px); }
}
.float { animation: float 4s ease-in-out infinite; }

/* RTL & Arabic typography */
html[dir="rtl"] body {
    letter-spacing: 0;
    font-family: 'Cairo', 'Inter', system-ui, sans-serif;
    font-weight: 500;
}
html[dir="rtl"] h1, html[dir="rtl"] h2, html[dir="rtl"] h3, html[dir="rtl"] h4, html[dir="rtl"] h5, html[dir="rtl"] h6, html[dir="rtl"] .font-display {
    font-family: 'Tajawal', 'Cairo', sans-serif;
    font-weight: 900;
    letter-spacing: -0.01em;
    line-height: 1.35;
}
html[dir="rtl"] .font-display.text-5xl, html[dir="rtl"] .font-display.text-6xl, html[dir="rtl"] .font-display.text-7xl {
    font-weight: 900;
    letter-spacing: -0.02em;
}
html[dir="rtl"] .tracking-wider, html[dir="rtl"] .tracking-widest { letter-spacing: 0.04em; }
html[dir="rtl"] p { line-height: 1.85; }
html[dir="rtl"] .uppercase { text-transform: none; } /* Arabic doesn't have uppercase */

/* Dark mode scrollbar */
.dark ::-webkit-scrollbar-track { background: #1e293b; }
.dark ::-webkit-scrollbar-thumb { background: #475569; }
.dark ::-webkit-scrollbar-thumb:hover { background: #df8424; }

/* Smoother dark transitions */
body, header, footer, section, .bg-white, .bg-gray-50 { transition: background-color 0.3s ease, color 0.3s ease; }

/* Service content from Quill — professional image rendering */
.service-content img {
    border-radius: 1rem;
    box-shadow: 0 20px 40px -20px rgba(15, 23, 42, 0.25);
    margin: 2.5rem 0;
    max-width: 100%;
    height: auto;
}
.service-content .ql-align-center { text-align: center; }
.service-content .ql-align-right { text-align: right; }
.service-content .ql-align-justify { text-align: justify; }
.service-content p.ql-align-center img, .service-content .ql-align-center > img { display: block; margin-left: auto; margin-right: auto; }
.service-content h2 { font-family: 'Playfair Display', serif; font-size: 2rem; font-weight: 700; margin: 2.5rem 0 1rem; color: #0f172a; }
.service-content h3 { font-family: 'Playfair Display', serif; font-size: 1.5rem; font-weight: 700; margin: 2rem 0 0.75rem; color: #0f172a; }
.service-content p { line-height: 1.85; margin: 1.25rem 0; color: #334155; }
.service-content ul, .service-content ol { margin: 1.25rem 0; padding-left: 1.5rem; }
.service-content ul li, .service-content ol li { margin: 0.5rem 0; line-height: 1.75; color: #334155; }
.service-content blockquote { border-left: 4px solid #df8424; padding: 0.5rem 1.5rem; margin: 2rem 0; background: #fdf8ef; border-radius: 0 1rem 1rem 0; font-style: italic; color: #475569; }
.service-content a { color: #c3691b; text-decoration: underline; }
.service-content a:hover { color: #9a4f1a; }
.dark .service-content h2, .dark .service-content h3 { color: #f1f5f9; }
.dark .service-content p, .dark .service-content li { color: #cbd5e1; }
.dark .service-content blockquote { background: rgba(223, 132, 36, 0.1); color: #cbd5e1; }
.dark .service-content a { color: #ecb967; }
html[dir="rtl"] .service-content ul, html[dir="rtl"] .service-content ol { padding-right: 1.5rem; padding-left: 0; }
html[dir="rtl"] .service-content blockquote { border-left: 0; border-right: 4px solid #df8424; border-radius: 1rem 0 0 1rem; }
