*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
  --g1:#0d6e45;
  --g2:#1b8354;
  --g3:#22a468;
  --gold:#c9a227;
  --gold-lt:#f5e6a3;
  --gold-dk:#a07c10;
  --teal:#17a98a;
  --cream:#fdf8ee;
  --text:#1a1a2e;
  --muted:#5a6273;
  --border:#e2e8f0;
  --white:#ffffff;
  --shadow:0 4px 30px rgba(0,0,0,.10);
  --r:18px;
}
html,body
{
    font-family:'Tajawal',sans-serif;
    background-image: url(bg.png);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
    background-attachment: fixed;
    color:var(--text);
    min-height:100vh;
}

/* ── HEADER ── */
.hdr{
    position:relative;
    background:linear-gradient(135deg,var(--g1) 0%,var(--g2) 55%,var(--g3) 100%);
    overflow:hidden;border-radius:0 0 36px 36px;
    box-shadow:0 8px 40px rgba(13,110,69,.4);
}
.hdr-bg{
    position:absolute;inset:0;pointer-events:none;
    background:url('https://seu.edu.sa/img/sliderShapeGray.svg') center/cover no-repeat;
    opacity:.07;mix-blend-mode:luminosity;
}
.hdr-shimmer{
    position:absolute;inset:0;pointer-events:none;
    background:linear-gradient(115deg,transparent 25%,rgba(255,255,255,.07) 50%,transparent 75%);
    animation:shim 5s ease-in-out infinite;
}
@keyframes shim
{
    0%,100%{opacity:0}50%{opacity:1}
}

.stars
{
    position:absolute;
    inset:0;
    overflow:hidden;
    pointer-events:none;
}
.st
{
  position:absolute;border-radius:50%;
  background:var(--gold-lt);
  animation:twink var(--d) ease-in-out infinite var(--dl);opacity:0;
}
@keyframes twink{0%,100%{opacity:0;transform:scale(.5)}50%{opacity:.9;transform:scale(1.5)}}

.lang-btn
{
  position:absolute;
  top:18px;
  left:20px;
  z-index:20;
  background:rgba(255,255,255,.15);
  color:white;
  border:1.5px solid rgba(255,255,255,.45);
  border-radius:30px;
  padding:7px 22px;
  font-family:'Tajawal',sans-serif;
  font-size:.88rem;
  font-weight:600;
  cursor:pointer;
  backdrop-filter:blur(6px);
  transition:background .2s;
}
.lang-btn:hover
{
    background:rgba(255,255,255,.28);
}
[dir=ltr] .lang-btn
{
    left:auto;right:20px;
}

.moon-badge
{
  position:absolute;
  top:16px;
  right:22px;
  z-index:20;
  font-size:30px;
  animation:floatY 3s ease-in-out infinite;
}
[dir=ltr] .moon-badge{right:auto;left:22px;}
@keyframes floatY{0%,100%{transform:translateY(0)}50%{transform:translateY(-7px)}}

/* lantern row */
.lantern-strip
{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  padding:0 30px;
  position:relative;
  z-index:5;
  min-height:90px;
}
.lantern
{
    display:flex;
    flex-direction:column;
    align-items:center;
    animation:swing var(--sw) ease-in-out infinite;
    transform-origin:top center;
}
@keyframes swing{0%,100%{transform:rotate(-7deg)}50%{transform:rotate(7deg)}}
.ln-rope
{
    width:2px;
    background:linear-gradient(to bottom,rgba(201,162,39,.8),rgba(201,162,39,.3));
    margin:0 auto;
}
.ln-body
{
    filter:drop-shadow(0 4px 10px rgba(0,0,0,.35));
}

/* header center content */
.hdr-ctr
{
  position:relative;
  z-index:6;
  text-align:center;
  padding: 40px 24px 20px;
  flex:1;
}
.hdr-logo
{
    height:56px;
    margin-bottom:10px;
    filter:drop-shadow(0 3px 10px rgba(0,0,0,.3));
}
.hdr-h1
{
    font-size:2.5rem;
    font-weight:900;
    color:#fff;
    text-shadow:0 2px 14px rgba(0,0,0,.3);
    line-height:1.15;
}
.hdr-sub
{
    font-size:1rem;
    color:rgba(255,255,255,.82);
    margin-top:5px;
}
.gold-bar
{
    width:130px;
    height:3px;
    background:linear-gradient(90deg,transparent,var(--gold),transparent);
    margin:10px auto 0;
    border-radius:3px;
}

/* ── PAGE ── */
.page
{
    max-width:1320px;
    margin:0 auto;
    padding:28px 18px 60px;
}

.eid-strip
{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  margin-bottom:24px;
  font-size:.88rem;
  color:var(--gold-dk);
  font-weight:700;
  letter-spacing:.4px;
}
.eid-strip::before,.eid-strip::after{
  content:'';
  flex:1;
  height:1.5px;
  background:linear-gradient(90deg,transparent,var(--gold),transparent);
}

/* ── GRID ── */
.grid
{
    display:grid;
    grid-template-columns:290px 1fr 285px;
    gap:20px;
    align-items:start;
}
@media(max-width:960px){
  .grid{grid-template-columns:1fr;}
  .grid > div:nth-child(3){order:1;display:flex;flex-direction:column;}
  .grid > div:nth-child(3) > .card:nth-child(1){order:1;}
  .grid > div:nth-child(3) > .card:nth-child(2){order:2;}
  .canvas-col{order:3;}
  .grid > div:nth-child(1){order:4;}
  .grid > div:nth-child(3) > .card.last{order:5;}
}

/* ── CARDS ── */
.card
{
  background:var(--white);
  border-radius:var(--r);
  box-shadow:var(--shadow);
  padding:20px;
  margin-bottom:16px;
  border:1px solid rgba(255,255,255,.9);
  position:relative;
  overflow:hidden;
}
.card::after
{
  content:'';
  position:absolute;
  top:-20px;
  right:-20px;
  width:80px;
  height:80px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(27,131,84,.05),transparent 70%);
  pointer-events:none;
}
.card:last-child
{
    margin-bottom:0;
}
.card-head
{
  display:flex;
  align-items:center;
  gap:10px;
  font-size:1rem;
  font-weight:700;
  color:var(--text);
  margin-bottom:16px;
  padding-bottom:12px;
  border-bottom:2px solid var(--border);
}
.c-icon
{
  width:34px;
  height:34px;
  border-radius:10px;
  background:linear-gradient(135deg,var(--g2),var(--g3));
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:17px;
  box-shadow:0 3px 10px rgba(27,131,84,.3);flex-shrink:0;
  color: #fff;
}

/* inputs */
.lbl
{
    font-size:.76rem;
    font-weight:700;
    color:var(--muted);
    text-transform:uppercase;
    letter-spacing:.5px;
    margin:14px 0 6px;
    display:block;
}
.lbl:first-of-type{margin-top:0;}
select,.inp
{
  width:100%;
  padding:10px 14px;
  border:1.5px solid var(--border);
  border-radius:10px;
  font-family:'Tajawal',sans-serif;
  font-size:.95rem;
  color:var(--text);
  background:white;
  transition:border-color .2s,box-shadow .2s;
}
select
{
  appearance:none;
  cursor:pointer;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='%236b7280' viewBox='0 0 16 16'%3E%3Cpath d='M7.247 11.14 2.451 5.658C1.885 5.013 2.345 4 3.204 4h9.592a1 1 0 0 1 .753 1.659l-4.796 5.48a1 1 0 0 1-1.506 0z'/%3E%3C/svg%3E");
  background-repeat:no-repeat;
  background-position:left 12px center;
  padding-left:36px;
  padding-right:14px;
}
[dir=ltr] select
{
  background-position:right 12px center;
  padding-left:14px;
  padding-right:36px;
}
select:focus,.inp:focus
{
    outline:none;
    border-color:var(--g2);
    box-shadow:0 0 0 3px rgba(27,131,84,.12);
}
.inp
{
    margin-bottom:12px;
}
.inp::placeholder
{
    color:#bbb;
}

/* sliders */
.sl-row
{
    display:flex;
    align-items:center;
    gap:10px;
    margin-bottom:10px;
}
.sl-lbl
{
    font-size:.82rem;
    color:var(--muted);
    min-width:52px;
    white-space:nowrap;
}
input[type=range]
{
  flex:1;
  -webkit-appearance:none;
  height:5px;
  border-radius:3px;
  outline:none;
  cursor:pointer;
  background:linear-gradient(to left,var(--teal) 0%,var(--teal) var(--pct,50%),#dde4ea var(--pct,50%),#dde4ea 100%);
}
input[type=range]::-webkit-slider-thumb{
  -webkit-appearance:none;
  width:18px;
  height:18px;
  border-radius:50%;
  background:white;
  border:3px solid var(--teal);
  box-shadow:0 2px 8px rgba(23,169,138,.4);
  cursor:pointer;
}
input[type=range]::-moz-range-thumb{
  width:18px;
  height:18px;
  border-radius:50%;
  background:white;
  border:3px solid var(--teal);
  cursor:pointer;
}

/* color rows */
.col-row
{
    display:flex;
    align-items:center;
    justify-content:space-between;
    margin-bottom:10px;
}
.col-row label
{
    font-size:.88rem;
    font-weight:500;
}
.swatch
{
    width:42px;
    height:30px;
    border-radius:8px;
    border:2px solid var(--border);
    overflow:hidden;
    cursor:pointer;
    padding:0;
}
input[type=color]
{
    width:100%;
    height:100%;
    border:none;
    cursor:pointer;
    padding:0;
    background:none;
}

/* ── CANVAS ── */
.canvas-col
{
    display:flex;
    flex-direction:column;
    align-items:center;
}
.canvas-frame
{
  width:100%;
  max-width:500px;
  border-radius:24px;
  overflow:hidden;
  box-shadow:0 14px 55px rgba(0,0,0,.18),0 0 0 4px rgba(201,162,39,.25);
  position:relative;
}
.canvas-frame::before,.canvas-frame::after{
  content:'✦';
  position:absolute;
  font-size:22px;
  color:var(--gold);
  z-index:5;
  pointer-events:none;
  text-shadow:0 0 10px rgba(201,162,39,.8);
}
.canvas-frame::before
{
    top:12px;
    right:16px;
}
.canvas-frame::after
{
    bottom:12px;
    left:16px;
}
#canvas
{
    width:100%;
    height:auto;
    display:block;
}

/* download */
.dl-btn{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  width:100%;
  max-width:500px;
  margin-top:18px;
  padding:17px;
  border:none;
  border-radius:50px;
  background:linear-gradient(135deg,var(--g1),var(--g2) 50%,var(--g3));
  color:white;
  font-family:'Tajawal',sans-serif;
  font-size:1.15rem;
  font-weight:700;
  cursor:pointer;
  text-decoration:none;
  box-shadow:0 6px 28px rgba(27,131,84,.45);
  transition:transform .15s,box-shadow .15s;
  position:relative;
  overflow:hidden;
}
.dl-btn::after{
  content:'';
  position:absolute;
  inset:0;
  background:linear-gradient(115deg,transparent 25%,rgba(255,255,255,.15) 50%,transparent 75%);
  animation:shim 3s ease-in-out infinite;
}
.dl-btn:hover
{
    transform:translateY(-2px);
    box-shadow:0 10px 36px rgba(27,131,84,.55);
}

/* preview btns */
.pv-grid
{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:10px;
    margin-top:12px;
}
.pv-btn
{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:6px;
  padding:13px 6px;
  border:1.5px solid var(--border);
  border-radius:12px;
  background:white;
  cursor:pointer;
  font-family:'Tajawal',sans-serif;
  font-size:.82rem;
  color:var(--muted);
  font-weight:600;
  transition:all .2s;
}
.pv-btn:hover
{
    border-color:var(--g2);
    background:var(--g2);
    color:white;
}
.pv-btn:hover .pv-icon{stroke:white;}
.pv-icon{stroke:var(--teal);transition:stroke .2s;}

/* tip card */
.tip-card{
  background:linear-gradient(135deg,#f0faf5,#e6f7ef);
  border:1.5px solid rgba(27,131,84,.2);
}

/* footer */
.footer
{
    text-align:center;
    margin-top:40px;
    font-size:.82rem;
    color:var(--muted);
}
.mobile
{
    display:none;
}
.desktop
{
    display:block;
}

@media(max-width:540px){
  .mobile
    {
        display:block;
        margin-top:20px;
    }
    .desktop
    {
        display:none;
    }
    .card
    {
        padding:8px;
        margin-bottom: 8px;
    }
    .inp
    {
        margin-bottom: 8px;
    }

    .inp:last-child
    {
        margin-bottom: 0px;
    }
}