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

/* ============================================================
   lazurde sweets — silver & charcoal theme
   Walnut wood (#16181b / #2a2d31) + mother-of-pearl cream (#eef0f2)
   + brass gold (#5b6169), on warm ivory backgrounds.
   ============================================================ */

:root {
    --gold: #5b6169;          /* brass / gold inlay */
    --gold-soft: #c9ccd1;
    --walnut: #16181b;        /* dark walnut */
    --walnut-mid: #2a2d31;    /* mid walnut */
    --pearl: #eef0f2;         /* mother-of-pearl cream */
    --cream: #f4f5f6;         /* warm ivory page tone */
    --azure: #16181b;         /* legacy var name -> walnut */
}

/* Warm-ivory alternating section backgrounds (heritage feel) */
.bg-gray-50 { background-color: #f4f5f6 !important; }
.bg-gray-100 { background-color: #efe6d4 !important; }
/* dark-mode sections stay walnut (dark:bg-ink-800/50 wins in dark mode) */

.text-pearl { color: #eef0f2; }
.text-walnut { color: #16181b; }

/* Animated Damascene geometric mesh — subtle, semi-transparent (footer background) */
.footer-mesh {
    position: absolute;
    inset: -64px;
    background-image: url("../images/mesh.svg");
    background-repeat: repeat;
    background-size: 64px 64px;
    opacity: 0.08;
    animation: meshDrift 36s linear infinite;
    pointer-events: none;
}
@keyframes meshDrift {
    from { background-position: 0 0; }
    to   { background-position: 64px 128px; }
}

/* Gold gradient text (headings / accents) */
.text-gilt {
    background: linear-gradient(95deg, #b8860b 0%, #c9ccd1 45%, #5b6169 75%, #474c52 100%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    color: transparent;
}

/* Ornamental divider — gold line with a centered diamond (Damascene) */
.ornament {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.75rem;
    color: var(--gold);
}
.ornament::before,
.ornament::after {
    content: '';
    height: 1px;
    width: 3.5rem;
    background: linear-gradient(to right, transparent, var(--gold));
}
.ornament::after { background: linear-gradient(to left, transparent, var(--gold)); }
.ornament span { font-size: 0.85rem; transform: rotate(45deg); display: inline-block; }
.ornament.center { margin-left: auto; margin-right: auto; }

/* Arabesque / Islamic geometric pattern overlay (subtle, gold on transparent) */
.arabesque {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='60' height='60' viewBox='0 0 60 60'%3E%3Cg fill='none' stroke='%23c9a227' stroke-width='1' stroke-opacity='0.5'%3E%3Cpath d='M30 0l30 30-30 30L0 30z'/%3E%3Cpath d='M30 12l18 18-18 18-18-18z'/%3E%3Ccircle cx='30' cy='30' r='6'/%3E%3C/g%3E%3C/svg%3E");
    background-size: 60px 60px;
}

/* ===== Damascene MOSAIC (موزاييك) — filled 8-point-star zellige ===== */
.mosaic-bg {
    background-image: url("../images/mosaic-star.svg");
    background-size: 56px 56px;
}
/* faint version for use behind text */
.mosaic-bg-soft {
    background-image: url("../images/mosaic-star.svg");
    background-size: 56px 56px;
    opacity: 0.10;
}

/* Horizontal Damascene tile border strip (موزاييك) */
.mosaic-border {
    height: 28px;
    background-image: url("../images/mosaic-border.svg");
    background-repeat: repeat-x;
    background-size: auto 28px;
    background-position: center;
}
.mosaic-border.tall { height: 38px; background-size: auto 38px; }

/* Ornamental Damascene divider (زخرفة) — replaces plain accent lines */
.ornament-divider {
    width: 240px; height: 24px;
    background: url("../images/ornament-divider.svg") center / contain no-repeat;
}
.ornament-divider.center { margin-left: auto; margin-right: auto; }

/* Gold mosaic frame for images/cards */
.mosaic-frame {
    border: 2px solid var(--gold);
    box-shadow: 0 0 0 1px rgba(120,128,138,0.35), 0 0 0 6px rgba(14,42,82,0.06);
}

/* Thin gold top accent line (cards / sections) */
.gold-accent-top { position: relative; }
.gold-accent-top::before {
    content: '';
    position: absolute; top: 0; left: 0; right: 0; height: 3px;
    background: linear-gradient(to right, transparent, var(--gold), transparent);
}

.placeholder {
    background: linear-gradient(135deg, #5b6169, #16181b);
    position: relative;
}
.placeholder::after {
    content: '';
    position: absolute;
    inset: 0;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='40' height='40' viewBox='0 0 40 40'%3E%3Cpath fill='none' stroke='%23ffffff' stroke-opacity='0.14' stroke-width='1' d='M20 0l20 20-20 20L0 20z'/%3E%3C/svg%3E");
    background-size: 40px 40px;
}

.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: #f5f1e6; }
::-webkit-scrollbar-thumb { background: #5b6169; border-radius: 6px; }
::-webkit-scrollbar-thumb:hover { background: #a9881d; }

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

@keyframes shimmer {
    0% { background-position: -200% 0; }
    100% { background-position: 200% 0; }
}

/* Latin display — luxurious high-contrast serif */
.font-display { letter-spacing: -0.01em; }

/* RTL & Arabic typography — Amiri (classical Naskh) for headings */
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: 'Amiri', 'Tajawal', serif;
    font-weight: 700;
    letter-spacing: 0;
    line-height: 1.5;
}
html[dir="rtl"] .tracking-wider, html[dir="rtl"] .tracking-widest { letter-spacing: 0.04em; }
html[dir="rtl"] p { line-height: 1.95; }
html[dir="rtl"] .uppercase { text-transform: none; } /* Arabic doesn't have uppercase */

/* Dark mode scrollbar */
.dark ::-webkit-scrollbar-track { background: #0e0f11; }
.dark ::-webkit-scrollbar-thumb { background: #5b6169; }
.dark ::-webkit-scrollbar-thumb:hover { background: #c9ccd1; }

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

/* Service / product content from Quill — professional image rendering */
.service-content img {
    border-radius: 1rem;
    box-shadow: 0 20px 40px -20px rgba(14, 42, 82, 0.35);
    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: #16181b; }
.service-content h3 { font-family: 'Playfair Display', serif; font-size: 1.5rem; font-weight: 700; margin: 2rem 0 0.75rem; color: #16181b; }
.service-content p { line-height: 1.95; 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 #5b6169; padding: 0.5rem 1.5rem; margin: 2rem 0; background: #faf6ea; border-radius: 0 1rem 1rem 0; font-style: italic; color: #475569; }
.service-content a { color: #a9881d; text-decoration: underline; }
.service-content a:hover { color: #82690f; }
.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(201, 162, 39, 0.1); color: #cbd5e1; }
.dark .service-content a { color: #c9ccd1; }
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 #5b6169; border-radius: 1rem 0 0 1rem; }
html[dir="rtl"] .service-content h2, html[dir="rtl"] .service-content h3 { font-family: 'Amiri', 'Tajawal', serif; }
