/* ================================================================
   style.css  |  Eid Al-Fitr Themed Design System
   نظام بطاقات التهنئة - شركة الشمال التعليمية
   ================================================================ */

/* ── Fonts ─────────────────────────────────────────────────────── */
@import url('https://fonts.googleapis.com/css2?family=Tajawal:wght@300;400;500;700;800;900&family=Amiri:wght@400;700&display=swap');

/* ── Variables ─────────────────────────────────────────────────── */
:root {
    /* Brand */
    --brand-darkest : #0A0520;
    --brand-dark    : #1A0A3C;
    --brand-mid     : #2D1B5E;
    --brand-main    : #503c64;
    --brand-light   : #7B5EA0;

    /* Gold */
    --gold          : #C9A227;
    --gold-bright   : #F0C040;
    --gold-pale     : #FFF8DC;
    --gold-dark     : #96780F;

    /* Neutrals */
    --white         : #FFFFFF;
    --cream         : #FFFBF0;
    --bg-light      : #F8FAFC;
    --text-main     : #1E293B;
    --text-muted    : #64748B;
    --border-color  : #E2E8F0;

    /* Shadows & Effects */
    --shadow-gold   : 0 4px 24px rgba(201,162,39,.4);
    --shadow-card   : 0 12px 40px rgba(0,0,0,.12);
    --shadow-deep   : 0 24px 64px rgba(0,0,0,.28);
    --glow-gold     : 0 0 40px rgba(201,162,39,.35);
    --glass-bg      : rgba(255,255,255,.09);
    --glass-border  : rgba(255,255,255,.18);

    /* Radii */
    --r-xs   : 6px;
    --r-sm   : 10px;
    --r-md   : 14px;
    --r-lg   : 20px;
    --r-xl   : 28px;
    --r-full : 9999px;

    /* Easing */
    --ease   : cubic-bezier(.4,0,.2,1);
    --spring : cubic-bezier(.34,1.56,.64,1);
}

/* ── Reset ─────────────────────────────────────────────────────── */
*, *::before, *::after {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

html { scroll-behavior: smooth; }

body {
    font-family : 'Tajawal', sans-serif;
    color       : var(--text-main);
    background  : var(--bg-light);
    -webkit-font-smoothing : antialiased;
    -moz-osx-font-smoothing: grayscale;
    direction   : rtl;
}

img { display: block; max-width: 100%; }
a   { text-decoration: none; color: inherit; }
button { cursor: pointer; font-family: inherit; }

/* ── Utility ───────────────────────────────────────────────────── */
.text-center { text-align: center; }
.w-full      { width: 100%; }
.mt-2  { margin-top: .5rem; }
.mt-4  { margin-top: 1rem; }
.mt-8  { margin-top: 2rem; }
.mb-4  { margin-bottom: 1rem; }
.py-8  { padding-block: 2rem; }

/* ════════════════════════════════════════════════════════════════
   ANIMATIONS
════════════════════════════════════════════════════════════════ */

@keyframes star-twinkle {
    0%,100% { opacity:.15; transform:scale(.7); }
    50%      { opacity: 1; transform:scale(1.4); }
}

@keyframes float-slow {
    0%,100% { transform: translateY(0)   rotate(0deg); }
    50%     { transform: translateY(-12px) rotate(4deg); }
}

@keyframes float-crescent {
    0%,100% { transform: translateY(0) rotate(-5deg); }
    50%     { transform: translateY(-8px) rotate(0deg); }
}

@keyframes pulse-glow {
    0%     { box-shadow: var(--shadow-gold), 0 0 0 0 rgba(201,162,39,.5); }
    70%    { box-shadow: var(--shadow-gold), 0 0 0 14px rgba(201,162,39,0); }
    100%   { box-shadow: var(--shadow-gold), 0 0 0 0 rgba(201,162,39,0); }
}

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

@keyframes slide-up {
    from { opacity:0; transform:translateY(30px); }
    to   { opacity:1; transform:translateY(0); }
}

@keyframes fade-in {
    from { opacity:0; }
    to   { opacity:1; }
}

@keyframes spin-slow {
    from { transform: rotate(0deg); }
    to   { transform: rotate(360deg); }
}

@keyframes bounce-in {
    0%   { opacity:0; transform:scale(.5); }
    70%  { transform:scale(1.1); }
    100% { opacity:1; transform:scale(1); }
}

/* ════════════════════════════════════════════════════════════════
   SHARED COMPONENTS
════════════════════════════════════════════════════════════════ */

/* ── Button ──────────────────────────────────────────────────── */
.btn {
    display         : inline-flex;
    align-items     : center;
    justify-content : center;
    gap             : .4rem;
    padding         : 14px 28px;
    border          : none;
    border-radius   : var(--r-full);
    font-family     : 'Tajawal', sans-serif;
    font-size       : 1.05rem;
    font-weight     : 700;
    cursor          : pointer;
    transition      : all .25s var(--ease);
    white-space     : nowrap;
    text-decoration : none;
    width           : 100%;
}

.btn-primary {
    background    : linear-gradient(135deg, var(--gold-dark), var(--gold), var(--gold-bright), var(--gold));
    background-size : 300% 100%;
    color         : var(--brand-darkest);
    box-shadow    : var(--shadow-gold);
    animation     : gold-shimmer 4s linear infinite;
}

.btn-primary:hover  {
    transform  : translateY(-2px);
    box-shadow : var(--glow-gold);
}
.btn-primary:active { transform: translateY(0); }

.pulsate { animation: pulse-glow 2.2s ease-out infinite, gold-shimmer 4s linear infinite; }

.w-100 { width: 100%; }

/* ── Inputs & Selects ────────────────────────────────────────── */
.custom-input,
.custom-select {
    width         : 100%;
    padding       : 12px 16px;
    border        : 1.5px solid var(--border-color);
    border-radius : var(--r-md);
    font-family   : 'Tajawal', sans-serif;
    font-size     : 1rem;
    background    : var(--white);
    color         : var(--text-main);
    transition    : border-color .2s, box-shadow .2s;
    appearance    : none;
    -webkit-appearance: none;
}

.custom-input:focus,
.custom-select:focus {
    outline      : none;
    border-color : var(--brand-main);
    box-shadow   : 0 0 0 3px rgba(80,60,100,.12);
}

/* ── Color Picker ────────────────────────────────────────────── */
input[type="color"].layer-color {
    -webkit-appearance : none;
    border             : none;
    width              : 44px;
    height             : 44px;
    border-radius      : var(--r-sm);
    cursor             : pointer;
    padding            : 0;
    background         : none;
    flex-shrink        : 0;
}
input[type="color"].layer-color::-webkit-color-swatch-wrapper { padding: 0; }
input[type="color"].layer-color::-webkit-color-swatch {
    border        : 2px solid var(--border-color);
    border-radius : 8px;
}

/* ── Range Slider ────────────────────────────────────────────── */
.custom-range {
    -webkit-appearance : none;
    appearance         : none;
    flex               : 1;
    height             : 6px;
    border-radius      : var(--r-full);
    background         : #DDD6FE;
    outline            : none;
    cursor             : pointer;
}
.custom-range::-webkit-slider-thumb {
    -webkit-appearance : none;
    width              : 20px;
    height             : 20px;
    border-radius      : 50%;
    background         : var(--brand-main);
    cursor             : pointer;
    box-shadow         : 0 2px 6px rgba(80,60,100,.4);
}
.custom-range::-moz-range-thumb {
    width       : 20px;
    height      : 20px;
    border-radius: 50%;
    background  : var(--brand-main);
    cursor      : pointer;
    border      : none;
    box-shadow  : 0 2px 6px rgba(80,60,100,.4);
}

/* ── Control Rows ────────────────────────────────────────────── */
.control-group   { margin-bottom: 0; }
.controls-row    { display:flex; gap:10px; margin-top:12px; align-items:center; }
.size-label      { font-size:.82rem; color:var(--text-muted); white-space:nowrap; width:72px; flex-shrink:0; }
.size-display    { font-size:.88rem; font-weight:800; color:var(--brand-main); min-width:34px; text-align:center; flex-shrink:0; }

/* ── Error Text ──────────────────────────────────────────────── */
.error-text { color:#DC2626; }

/* ════════════════════════════════════════════════════════════════
   NIGHT-SKY BACKGROUND
════════════════════════════════════════════════════════════════ */

.night-sky {
    position   : fixed;
    inset      : 0;
    z-index    : 0;
    overflow   : hidden;
    background : linear-gradient(160deg,
        var(--brand-darkest) 0%,
        #110630 25%,
        var(--brand-dark)   55%,
        #18124A 80%,
        #0E0825 100%);
}

/* Subtle glow blobs */
.night-sky::before,
.night-sky::after {
    content       : '';
    position      : absolute;
    border-radius : 50%;
    filter        : blur(80px);
    pointer-events: none;
}
.night-sky::before {
    width  : 500px; height: 500px;
    top    : -100px; left: -100px;
    background : radial-gradient(circle, rgba(80,60,164,.35) 0%, transparent 70%);
    animation  : float-slow 12s ease-in-out infinite;
}
.night-sky::after {
    width  : 400px; height: 400px;
    bottom : -80px; right: -80px;
    background : radial-gradient(circle, rgba(201,162,39,.18) 0%, transparent 70%);
    animation  : float-slow 10s ease-in-out 3s infinite reverse;
}

/* Star particles (injected by JS) */
.star-particle {
    position      : absolute;
    border-radius : 50%;
    background    : rgba(255,230,100,.85);
    pointer-events: none;
    animation     : star-twinkle linear infinite;
}

/* Islamic geometric border strip */
.geometric-border {
    position   : absolute;
    top        : 0; left: 0; right: 0;
    height     : 5px;
    background : linear-gradient(90deg,
        transparent 0%, var(--gold) 20%, var(--gold-bright) 50%, var(--gold) 80%, transparent 100%);
    opacity    : .7;
}

/* ════════════════════════════════════════════════════════════════
   WELCOME PAGE
════════════════════════════════════════════════════════════════ */

.welcome-body {
    min-height      : 100dvh;
    display         : flex;
    align-items     : center;
    justify-content : center;
    padding         : 24px 16px;
    position        : relative;
    overflow        : hidden;
}

/* ── Glass Card ─────────────────────────────────────────────── */
.welcome-card {
    position        : relative;
    z-index         : 10;
    width           : 100%;
    max-width       : 500px;
    background      : var(--glass-bg);
    backdrop-filter : blur(24px);
    -webkit-backdrop-filter: blur(24px);
    border          : 1px solid var(--glass-border);
    border-radius   : var(--r-xl);
    padding         : 48px 36px 40px;
    box-shadow      : var(--shadow-deep),
                      inset 0 0 0 1px rgba(255,255,255,.06);
    animation       : slide-up .8s var(--ease) both;
    text-align      : center;
    overflow        : hidden;
}

/* Gold top bar */
.welcome-card::before {
    content    : '';
    position   : absolute;
    top:0; left:0; right:0;
    height     : 4px;
    background : linear-gradient(90deg, transparent, var(--gold-bright), var(--gold), var(--gold-bright), transparent);
}

/* ── Crescent + Stars decoration ────────────────────────────── */
.eid-decoration {
    display         : flex;
    flex-direction  : column;
    align-items     : center;
    margin-bottom   : 28px;
    position        : relative;
}

.crescent-wrap {
    position  : relative;
    display   : inline-flex;
    animation : float-crescent 6s ease-in-out infinite;
    filter    : drop-shadow(0 0 20px rgba(201,162,39,.6));
}

.stars-cluster {
    display         : flex;
    justify-content : center;
    gap             : 10px;
    margin-top      : -6px;
}
.stars-cluster .s-star {
    animation : float-slow 4s ease-in-out infinite;
}
.stars-cluster .s-star:nth-child(2) { animation-delay: 1s; }
.stars-cluster .s-star:nth-child(3) { animation-delay: 2s; }

/* ── Company Name ───────────────────────────────────────────── */
.brand-name {
    font-family : 'Amiri', serif;
    font-size   : clamp(1.4rem, 5vw, 2rem);
    font-weight : 700;
    color       : var(--gold-bright);
    line-height : 1.3;
    margin-bottom: 10px;
    text-shadow : 0 0 30px rgba(201,162,39,.5);
}

/* ── Eid Badge ──────────────────────────────────────────────── */
.eid-badge {
    display         : inline-flex;
    align-items     : center;
    gap             : 6px;
    background      : linear-gradient(135deg, rgba(201,162,39,.25), rgba(240,192,64,.15));
    border          : 1px solid rgba(201,162,39,.4);
    border-radius   : var(--r-full);
    padding         : 6px 18px;
    font-size       : .88rem;
    font-weight     : 700;
    color           : var(--gold-bright);
    margin-bottom   : 20px;
    animation       : fade-in 1s .3s both;
}

/* ── Welcome Message ────────────────────────────────────────── */
.message-text {
    font-size   : 1.05rem;
    line-height : 1.9;
    color       : rgba(255,255,255,.82);
    margin-bottom: 32px;
    animation   : fade-in 1s .5s both;
}

/* ── CTA Button ─────────────────────────────────────────────── */
.btn-cta {
    font-size  : 1.1rem;
    padding    : 16px 32px;
    animation  : bounce-in .7s var(--spring) .7s both;
    border-radius: var(--r-full);
}

/* ── Floating sparkles on welcome ───────────────────────────── */
.sparkle {
    position  : absolute;
    pointer-events: none;
    animation : float-slow var(--d,5s) ease-in-out infinite var(--del,0s);
}

/* ════════════════════════════════════════════════════════════════
   APP HEADER (shared: select & editor)
════════════════════════════════════════════════════════════════ */

.app-header {
    position       : relative;
    display        : flex;
    justify-content: space-between;
    align-items    : center;
    padding        : 14px 20px;
    background     : linear-gradient(135deg, var(--brand-darkest), var(--brand-mid));
    box-shadow     : 0 4px 20px rgba(0,0,0,.35);
    z-index        : 20;
    overflow       : hidden;
    flex-shrink    : 0;
}

/* Subtle pattern overlay in header */
.app-header::after {
    content    : '';
    position   : absolute;
    inset      : 0;
    background-image : url("data:image/svg+xml,%3Csvg width='40' height='40' viewBox='0 0 40 40' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M20 0L23 15L38 20L23 25L20 40L17 25L2 20L17 15Z' fill='%23ffffff' fill-opacity='0.03'/%3E%3C/svg%3E");
    pointer-events: none;
}

.app-header h2,
.editor-title {
    font-size   : 1.1rem;
    font-weight : 700;
    color       : #FFF;
    position    : relative;
    z-index     : 1;
    margin      : 0;
}

.back-link {
    color          : rgba(255,255,255,.75);
    font-size      : .9rem;
    font-weight    : 600;
    position       : relative;
    z-index        : 1;
    padding        : 6px 14px;
    border         : 1px solid rgba(255,255,255,.2);
    border-radius  : var(--r-full);
    transition     : all .2s;
}
.back-link:hover {
    color      : #FFF;
    background : rgba(255,255,255,.1);
    border-color: rgba(255,255,255,.4);
}

/* Gold crescent accent in header */
.header-crescent {
    position       : absolute;
    left           : 50%;
    top            : 50%;
    transform      : translate(-50%,-50%);
    pointer-events : none;
    z-index        : 0;
    opacity        : .06;
}

/* ════════════════════════════════════════════════════════════════
   SELECT PAGE
════════════════════════════════════════════════════════════════ */

.select-body {
    min-height     : 100dvh;
    background     : var(--bg-light);
    display        : flex;
    flex-direction : column;
}

/* ── Festive sub-banner ─────────────────────────────────────── */
.festive-banner {
    background     : linear-gradient(135deg, var(--brand-mid), var(--brand-main));
    padding        : 10px 20px;
    display        : flex;
    align-items    : center;
    justify-content: center;
    gap            : 10px;
}

.festive-banner span {
    color      : var(--gold-bright);
    font-size  : .88rem;
    font-weight: 700;
    letter-spacing: .03em;
}

/* ── Page content ───────────────────────────────────────────── */
.select-content {
    flex    : 1;
    max-width: 680px;
    width   : 100%;
    margin  : 0 auto;
    padding : 24px 16px 40px;
}

/* ── Tabs ───────────────────────────────────────────────────── */
.tabs {
    display         : flex;
    gap             : 4px;
    background      : rgba(80,60,100,.08);
    border-radius   : var(--r-full);
    padding         : 5px;
    margin-bottom   : 24px;
    border          : 1px solid rgba(80,60,100,.12);
}

.tab-btn {
    flex           : 1;
    background     : transparent;
    border         : none;
    padding        : 11px 8px;
    font-family    : 'Tajawal', sans-serif;
    font-size      : .95rem;
    font-weight    : 700;
    color          : var(--text-muted);
    border-radius  : var(--r-full);
    cursor         : pointer;
    transition     : all .3s var(--ease);
}

.tab-btn.active {
    background : linear-gradient(135deg, var(--brand-main), var(--brand-mid));
    color      : #FFF;
    box-shadow : 0 4px 14px rgba(80,60,100,.35);
}

/* ── Cards Grid ─────────────────────────────────────────────── */
.tab-pane { display:none; }
.tab-pane.active { display:grid; }

.cards-grid {
    grid-template-columns : repeat(2, 1fr);
    gap                   : 16px;
}

@media (max-width: 380px) {
    .cards-grid { grid-template-columns: 1fr; }
}

/* ── Card Item ──────────────────────────────────────────────── */
.card-item {
    position      : relative;
    overflow      : hidden;
    border-radius : var(--r-lg);
    display       : block;
    text-decoration: none;
    background    : var(--white);
    box-shadow    : 0 4px 16px rgba(0,0,0,.07);
    transition    : transform .3s var(--spring), box-shadow .3s var(--ease);
    cursor        : pointer;
    animation     : slide-up .5s var(--ease) both;
}

.card-item:nth-child(1) { animation-delay:.05s; }
.card-item:nth-child(2) { animation-delay:.1s; }
.card-item:nth-child(3) { animation-delay:.15s; }
.card-item:nth-child(4) { animation-delay:.2s; }

.card-item:hover {
    transform  : translateY(-6px) scale(1.02);
    box-shadow : 0 16px 40px rgba(80,60,100,.2);
}

.card-item img {
    width        : 100%;
    aspect-ratio : 1 / 1;
    object-fit   : cover;
    display      : block;
    transition   : transform .4s var(--ease);
    background   : var(--bg-light);
}

.card-item:hover img { transform: scale(1.06); }

.card-item .label {
    position   : absolute;
    bottom     : 0;
    left       : 0;
    right      : 0;
    background : linear-gradient(to top, rgba(26,10,60,.92) 0%, rgba(26,10,60,.5) 60%, transparent 100%);
    color      : var(--gold-bright);
    padding    : 28px 12px 14px;
    text-align : center;
    font-size  : .9rem;
    font-weight: 800;
    letter-spacing: .02em;
    transform  : translateY(100%);
    transition : transform .3s var(--ease);
}

.card-item:hover .label { transform: translateY(0); }

/* Always show label on touch devices */
@media (hover:none) {
    .card-item .label {
        transform  : translateY(0);
        background : linear-gradient(to top, rgba(26,10,60,.75) 0%, transparent 80%);
    }
}

/* Empty / error state */
.empty-state {
    grid-column : 1 / -1;
    text-align  : center;
    padding     : 48px 20px;
    color       : var(--text-muted);
    font-size   : 1rem;
}

/* ════════════════════════════════════════════════════════════════
   EDITOR PAGE
════════════════════════════════════════════════════════════════ */

.editor-body {
    display        : flex;
    flex-direction : column;
    height         : 100dvh;
    background     : var(--bg-light);
    overflow       : hidden;
}

/* ── Canvas area ────────────────────────────────────────────── */
.canvas-wrapper {
    flex            : 1;
    min-height      : 0;
    display         : flex;
    align-items     : center;
    justify-content : center;
    padding         : 16px;
    background      : linear-gradient(145deg, #EEF2FF 0%, #F5F3FF 100%);
    overflow        : hidden;
    position        : relative;
}

/* Subtle islamic pattern in canvas bg */
.canvas-wrapper::before {
    content    : '';
    position   : absolute;
    inset      : 0;
    background-image : url("data:image/svg+xml,%3Csvg width='50' height='50' viewBox='0 0 50 50' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M25 0L28 20L48 25L28 30L25 50L22 30L2 25L22 20Z' fill='%23503c64' fill-opacity='0.03'/%3E%3C/svg%3E");
    pointer-events: none;
}

canvas {
    max-width      : 100%;
    max-height     : 100%;
    border-radius  : var(--r-md);
    box-shadow     : 0 12px 40px rgba(80,60,100,.2), 0 0 0 1px rgba(80,60,100,.08);
    touch-action   : none;
    animation      : fade-in .5s var(--ease);
    position       : relative;
    z-index        : 1;
}

/* ── Controls Panel ─────────────────────────────────────────── */
.controls-panel {
    display        : flex;
    flex-direction : column;
    background     : var(--white);
    border-radius  : 24px 24px 0 0;
    box-shadow     : 0 -8px 32px rgba(0,0,0,.09);
    overflow       : hidden;
    flex-shrink    : 0;
    max-height     : 52vh;
    z-index        : 10;
}

/* drag handle indicator */
.panel-handle {
    width         : 40px;
    height        : 4px;
    background    : #DDD6FE;
    border-radius : var(--r-full);
    margin        : 10px auto 0;
    flex-shrink   : 0;
}

.controls-scroll {
    flex       : 1;
    overflow-y : auto;
    padding    : 12px 16px 4px;
    scroll-behavior: smooth;
}

/* Scrollbar styling */
.controls-scroll::-webkit-scrollbar { width:4px; }
.controls-scroll::-webkit-scrollbar-track { background:transparent; }
.controls-scroll::-webkit-scrollbar-thumb { background:var(--border-color); border-radius:2px; }

/* Sticky download footer */
.controls-footer {
    padding       : 10px 16px 14px;
    background    : var(--white);
    border-top    : 1px solid var(--border-color);
    flex-shrink   : 0;
}

/* ── Layer Cards ────────────────────────────────────────────── */
.layer-card {
    background    : #F8F5FF;
    border        : 1.5px solid #EDE9FE;
    border-radius : var(--r-md);
    padding       : 14px;
    margin-bottom : 12px;
    transition    : border-color .2s;
}

.layer-card:focus-within {
    border-color : var(--brand-light);
}

.layer-card-header {
    display     : flex;
    align-items : center;
    gap         : 8px;
    margin-bottom: 12px;
}

.layer-dot {
    width         : 10px;
    height        : 10px;
    border-radius : 50%;
    flex-shrink   : 0;
}

.layer-card h4 {
    font-size    : .88rem;
    font-weight  : 700;
    color        : var(--brand-main);
    margin       : 0;
}

/* ── Editor tip ─────────────────────────────────────────────── */
.tip-text {
    font-size    : .82rem;
    color        : var(--text-muted);
    text-align   : center;
    padding      : 8px 12px;
    background   : #FFFBEB;
    border       : 1px solid #FDE68A;
    border-radius: var(--r-sm);
    margin-bottom: 4px;
    line-height  : 1.6;
}

/* ── Download button in editor ──────────────────────────────── */
.btn-download {
    font-size    : 1rem;
    padding      : 14px 24px;
    border-radius: var(--r-full);
    gap          : 8px;
}

/* ════════════════════════════════════════════════════════════════
   RESPONSIVE — EDITOR DESKTOP SPLIT LAYOUT
════════════════════════════════════════════════════════════════ */

@media (min-width: 768px) {
    .editor-body {
        flex-direction : row;
    }

    .canvas-wrapper {
        flex    : 1;
        padding : 24px;
    }

    .controls-panel {
        width         : 360px;
        max-height    : 100vh;
        border-radius : 0;
        box-shadow    : -4px 0 24px rgba(0,0,0,.07);
        flex-shrink   : 0;
    }

    .panel-handle { display: none; }

    .controls-scroll {
        padding : 16px 20px 8px;
    }

    .controls-footer {
        padding : 12px 20px 20px;
    }
}

/* ════════════════════════════════════════════════════════════════
   LOADING SKELETON
════════════════════════════════════════════════════════════════ */

@keyframes skeleton-pulse {
    0%,100% { opacity:.4; }
    50%     { opacity:1; }
}

.skeleton {
    background    : linear-gradient(90deg, #F0EEFF 25%, #E8E0FF 50%, #F0EEFF 75%);
    background-size: 200% 100%;
    border-radius : var(--r-md);
    animation     : skeleton-pulse 1.5s ease-in-out infinite;
}

/* ════════════════════════════════════════════════════════════════
   SCROLLBAR GLOBAL
════════════════════════════════════════════════════════════════ */

::-webkit-scrollbar { width:6px; height:6px; }
::-webkit-scrollbar-track { background:transparent; }
::-webkit-scrollbar-thumb { background:#DDD6FE; border-radius:3px; }
::-webkit-scrollbar-thumb:hover { background:var(--brand-light); }
