@import url(fonts.css);

:root{
  --green:#0C4B3B;
  --green-d:#08352B;
  --green-l:#12604C;
  --gold:#C9A227;
  --gold-l:#EDD79A;
  --gold-d:#9E7C18;
  --cream:#F8F2E3;
  --paper:#FBF6EA;
  --red:#C1121F;
  --ink:#1B2B26;
  --ink-soft:#54655E;
}

*{box-sizing:border-box;margin:0;padding:0;}
html,body{background:#EFEFEF;font-family:'Cairo',sans-serif;color:var(--ink);}
.sheet{position:relative;width:297mm;height:210mm;background:#fff;overflow:hidden;
  -webkit-print-color-adjust:exact;print-color-adjust:exact;break-after:page;page-break-after:always;}
.sheet:last-child{break-after:auto;page-break-after:auto;}
.booklet{position:absolute;left:23.5mm;top:61mm;width:250mm;height:88mm;display:flex;}
.panel{position:relative;width:125mm;height:88mm;overflow:hidden;isolation:isolate;}
.marks{position:absolute;left:15.5mm;top:53mm;width:266mm;height:104mm;pointer-events:none;}
.plabel{position:absolute;left:23.5mm;bottom:12mm;font:600 6pt 'Cairo';color:#9a9a9a;
  letter-spacing:.02em;direction:rtl;}
.pnum{position:absolute;right:23.5mm;bottom:12mm;font:600 6pt 'Cairo';color:#9a9a9a;}

/* ---------- cover ---------- */
.cover{background:
    radial-gradient(120% 90% at 50% 0%,#14654F 0%,#0C4B3B 45%,#07322A 100%);}
.cover .guil{position:absolute;inset:0;
  background:
    repeating-linear-gradient(45deg,rgba(201,162,39,.055) 0 .28mm,transparent .28mm 1.5mm),
    repeating-linear-gradient(-45deg,rgba(201,162,39,.045) 0 .28mm,transparent .28mm 1.9mm),
    repeating-linear-gradient(90deg,rgba(255,255,255,.028) 0 .3mm,transparent .3mm 2.6mm);}
.cover .vig{position:absolute;inset:0;
  background:radial-gradient(110% 80% at 50% 45%,transparent 40%,rgba(0,0,0,.34) 100%);}
.frame{position:absolute;inset:5.4mm;border:.45mm solid rgba(201,162,39,.78);
  border-radius:.6mm;}
.frame::after{content:"";position:absolute;inset:.9mm;border:.18mm solid rgba(201,162,39,.5);}
.frame i{position:absolute;width:3.4mm;height:3.4mm;border:.4mm solid var(--gold);}
.frame i:nth-child(1){top:-.6mm;left:-.6mm;border-right:0;border-bottom:0;}
.frame i:nth-child(2){top:-.6mm;right:-.6mm;border-left:0;border-bottom:0;}
.frame i:nth-child(3){bottom:-.6mm;left:-.6mm;border-right:0;border-top:0;}
.frame i:nth-child(4){bottom:-.6mm;right:-.6mm;border-left:0;border-top:0;}

.gold-text{background:linear-gradient(180deg,#F6E6B4 0%,#C9A227 48%,#8F6E10 100%);
  -webkit-background-clip:text;background-clip:text;color:transparent;}
.on-gold{border-top:.25mm solid rgba(201,162,39,.85);border-bottom:.25mm solid rgba(201,162,39,.85);}

/* cover type */
.c-top{position:absolute;top:8.4mm;left:9mm;right:9mm;text-align:center;font-family:'Cinzel';
  font-weight:600;font-size:2.5mm;letter-spacing:.5em;text-indent:.5em;color:var(--gold-l);}
.c-emblem{position:absolute;top:12.8mm;left:50%;transform:translateX(-50%);width:22mm;height:22mm;}
.c-ar{position:absolute;top:34.2mm;left:9mm;right:9mm;text-align:center;font-family:'ReemKufi';
  font-weight:700;font-size:11.4mm;line-height:1.02;letter-spacing:.01em;}
.c-lat{position:absolute;top:48.2mm;left:9mm;right:9mm;text-align:center;font-family:'Cinzel';
  font-weight:600;font-size:2.35mm;letter-spacing:.3em;text-indent:.3em;color:var(--gold-l);}
.c-lat em{font-style:normal;color:rgba(201,162,39,.85);margin:0 2mm;}
.c-rule{position:absolute;top:54.4mm;left:50%;transform:translateX(-50%);width:64mm;height:.22mm;
  background:linear-gradient(90deg,transparent,rgba(201,162,39,.9),transparent);}
.c-rule::after{content:"";position:absolute;left:50%;top:-.75mm;width:1.6mm;height:1.6mm;
  margin-left:-.8mm;background:var(--gold);transform:rotate(45deg);}
.c-fest-ar{position:absolute;top:57.4mm;left:9mm;right:9mm;text-align:center;font-family:'Cairo';
  font-weight:700;font-size:3.85mm;color:var(--cream);letter-spacing:0;}
.c-fest-es{position:absolute;top:64.2mm;left:9mm;right:9mm;text-align:center;font-family:'Cinzel';
  font-weight:400;font-size:1.85mm;letter-spacing:.24em;text-indent:.24em;color:rgba(237,215,154,.9);}
.c-bottom{position:absolute;bottom:9.6mm;left:10mm;right:10mm;display:flex;align-items:center;
  justify-content:space-between;}
.chip{font-family:'Cinzel';font-weight:600;font-size:1.85mm;letter-spacing:.12em;
  color:var(--gold-l);border:.2mm solid rgba(201,162,39,.55);padding:.55mm 1.35mm;border-radius:.4mm;}
.c-date{font-family:'Cairo';font-weight:600;font-size:2.35mm;color:var(--gold-l);
  direction:ltr;letter-spacing:.06em;}
.c-note{position:absolute;bottom:4.4mm;left:10mm;right:10mm;text-align:center;font-family:'Cairo';
  font-weight:400;font-size:1.42mm;color:rgba(237,215,154,.5);letter-spacing:.02em;}

/* back cover */
.back{background:radial-gradient(120% 90% at 50% 100%,#12604C 0%,#0C4B3B 45%,#07322A 100%);}
.back .center{position:absolute;top:24mm;left:0;right:0;text-align:center;}
.back .b-emblem{width:15mm;height:15mm;margin:0 auto 4mm;display:block;opacity:.92;}
.back .b-title{font-family:'Cinzel';font-weight:600;font-size:3.1mm;letter-spacing:.38em;
  text-indent:.38em;color:var(--gold-l);}
.back .b-sub{margin-top:2.4mm;font-family:'Cairo';font-weight:600;font-size:2.7mm;color:var(--cream);
  opacity:.92;}
.back .b-date{margin-top:1.6mm;font-family:'Cinzel';font-size:1.9mm;letter-spacing:.28em;
  text-indent:.28em;color:rgba(237,215,154,.8);}
.back .picado{position:absolute;bottom:0;left:0;width:125mm;height:9mm;display:block;opacity:.95;}

/* ---------- inside paper ---------- */
.paper{background:var(--paper);}
.paper .guil{position:absolute;inset:0;
  background:
    repeating-linear-gradient(38deg,rgba(12,75,59,.05) 0 .22mm,transparent .22mm 1.15mm),
    repeating-linear-gradient(-38deg,rgba(193,18,31,.04) 0 .22mm,transparent .22mm 1.45mm),
    repeating-linear-gradient(0deg,rgba(201,162,39,.05) 0 .2mm,transparent .2mm 1.7mm);}
.paper .glow{position:absolute;inset:0;
  background:radial-gradient(80% 60% at 50% 35%,rgba(255,255,255,.85),transparent 70%);}
.picado-top{position:absolute;top:0;left:0;width:125mm;height:10.5mm;display:block;}

.w-kicker{position:absolute;top:14.2mm;left:0;right:0;text-align:center;font-family:'Cinzel';
  font-weight:600;font-size:1.9mm;letter-spacing:.32em;text-indent:.32em;color:var(--red);}
.w-es{position:absolute;top:17.2mm;left:0;right:0;text-align:center;font-family:'Cormorant';
  font-weight:700;font-style:italic;font-size:7.2mm;line-height:1;color:var(--green);}
.w-ar{position:absolute;top:26.4mm;left:0;right:0;text-align:center;font-family:'Cairo';
  font-weight:700;font-size:3.7mm;color:var(--ink);}
.w-body{position:absolute;top:33.4mm;left:14mm;right:14mm;text-align:center;font-family:'Cairo';
  font-weight:400;font-size:2.32mm;line-height:1.62;color:#3B4C45;direction:rtl;}
.w-chips{position:absolute;top:45.6mm;left:0;right:0;display:flex;justify-content:center;
  gap:3.2mm;direction:rtl;}
.w-chip{display:flex;align-items:center;gap:1.1mm;font-family:'Cairo';font-weight:600;font-size:2mm;
  color:var(--green);background:rgba(12,75,59,.07);border:.18mm solid rgba(12,75,59,.22);
  border-radius:2mm;padding:.75mm 2mm;}
.w-chip svg{width:2.9mm;height:2.9mm;stroke:var(--green);fill:none;stroke-width:1.7;}
.w-note{position:absolute;bottom:2.6mm;left:0;right:0;text-align:center;font-family:'Cinzel';
  font-size:1.5mm;letter-spacing:.26em;text-indent:.26em;color:rgba(27,43,38,.42);}

/* visa sticker */
.visa{position:absolute;left:30mm;top:52.5mm;width:65mm;height:29mm;transform:rotate(-5.2deg);
  background:linear-gradient(150deg,#EFEBF7 0%,#E2DCEE 55%,#D6CFE4 100%);
  border:.3mm solid #9A8FB4;box-shadow:0 .5mm 1.2mm rgba(0,0,0,.14);
  direction:rtl;mix-blend-mode:multiply;}
.visa::before{content:"";position:absolute;inset:0;
  background:repeating-linear-gradient(30deg,rgba(122,101,168,.13) 0 .2mm,transparent .2mm 1.1mm),
    repeating-linear-gradient(-30deg,rgba(122,101,168,.1) 0 .2mm,transparent .2mm 1.5mm);}
.visa .v-top{position:absolute;top:1.4mm;left:1.6mm;right:1.6mm;display:flex;justify-content:space-between;
  align-items:baseline;direction:ltr;border-bottom:.18mm solid rgba(90,70,140,.45);padding-bottom:1mm;}
.visa .v-brand{font-family:'Cinzel';font-weight:700;font-size:2.3mm;letter-spacing:.16em;color:#4B3A78;}
.visa .v-kind{font-family:'Cairo';font-weight:700;font-size:2mm;color:#4B3A78;}
.visa .v-body{position:absolute;top:7.4mm;left:2.6mm;right:2.6mm;display:flex;gap:2.4mm;
  align-items:center;}
.visa .v-seal{width:9.6mm;height:9.6mm;flex:none;opacity:.85;}
.visa .v-txt{font-family:'Cairo';font-weight:600;font-size:1.62mm;line-height:1.5;color:#3F3266;}
.visa .v-txt b{font-size:1.85mm;display:block;margin-bottom:.5mm;}
.visa .v-foot{position:absolute;bottom:1.5mm;left:2.4mm;right:2.4mm;display:flex;
  justify-content:space-between;align-items:flex-end;direction:ltr;}
.visa .v-date{font-family:'Cairo';font-weight:700;font-size:2.1mm;color:#4B3A78;letter-spacing:.03em;}
.visa .v-bar{width:22mm;height:3.4mm;
  background:repeating-linear-gradient(90deg,#4B3A78 0 .28mm,transparent .28mm .62mm,
  #4B3A78 .62mm 1.05mm,transparent 1.05mm 1.5mm);opacity:.75;}

/* ---------- data page ---------- */
.dp-header{position:absolute;top:0;left:0;right:0;height:13.6mm;
  background:linear-gradient(160deg,#12604C 0%,#0C4B3B 55%,#07322A 100%);
  border-bottom:.42mm solid rgba(201,162,39,.9);}
.dp-h-l{position:absolute;top:2.5mm;left:7mm;font-family:'Cinzel';font-weight:600;font-size:1.85mm;
  letter-spacing:.2em;color:var(--gold-l);line-height:1.5;direction:ltr;text-align:left;}
.dp-h-r{position:absolute;top:3.2mm;right:7mm;font-family:'Cairo';font-weight:700;font-size:3.2mm;
  color:var(--cream);}
.dp-h-c{position:absolute;top:2.2mm;left:0;right:0;text-align:center;font-family:'Cinzel';
  font-weight:700;font-size:4.2mm;letter-spacing:.26em;text-indent:.26em;}
.dp-h-s{position:absolute;top:8.6mm;left:0;right:0;text-align:center;font-family:'Cinzel';
  font-size:1.42mm;letter-spacing:.17em;text-indent:.17em;color:rgba(237,215,154,.82);}
.dp-watermark{position:absolute;right:6mm;top:34mm;font-family:'Cinzel';font-weight:700;
  font-size:34mm;letter-spacing:.06em;color:rgba(12,75,59,.055);transform:rotate(-6deg);}

.photo{position:absolute;left:7.5mm;top:17.6mm;width:28.5mm;height:36mm;background:#fff;
  padding:.9mm;border:.3mm solid rgba(12,75,59,.55);box-shadow:0 .3mm .8mm rgba(0,0,0,.12);}
.photo img{width:100%;height:100%;object-fit:cover;display:block;}
.holo{position:absolute;right:7.5mm;top:17.6mm;width:5.4mm;height:5.4mm;transform:translate(40%,-40%);
  border:.18mm solid rgba(201,162,39,.7);
  background:linear-gradient(125deg,#F2D9A8,#BFE3D2,#D9C7F0,#F6C9B4,#F2D9A8);opacity:.7;}
.photo-cap{position:absolute;left:7.5mm;top:54.6mm;width:28.5mm;text-align:center;
  font-family:'Cairo';font-weight:600;font-size:1.35mm;color:var(--ink-soft);letter-spacing:.02em;}

.dp-fields{position:absolute;top:17.4mm;left:40mm;right:7mm;display:grid;
  grid-template-columns:1fr 1fr;column-gap:3.6mm;align-content:start;direction:rtl;}
.fld{padding:1.3mm 0 1mm;border-bottom:.14mm dotted rgba(27,43,38,.26);height:9.1mm;
  display:flex;flex-direction:column;justify-content:flex-end;}
.fld.span2{grid-column:1 / -1;height:13.6mm;}
.f-lbl{font-family:'Cairo';font-weight:600;font-size:1.5mm;color:#7C8C85;line-height:1.1;}
.f-lbl span{font-family:'Cormorant';font-style:italic;font-weight:600;font-size:1.45mm;
  color:#93A29B;letter-spacing:.02em;}
.f-val{font-family:'Cairo';font-weight:700;font-size:2.45mm;color:var(--ink);line-height:1.25;
  margin-top:.35mm;}
.f-val.sm{font-size:2.1mm;}
.f-val.lt{font-family:'Cinzel';font-weight:600;font-size:1.95mm;letter-spacing:.06em;
  direction:ltr;text-align:right;}
.sig{position:absolute;left:40mm;right:7mm;top:64.4mm;display:flex;justify-content:space-between;
  align-items:flex-end;direction:rtl;}
.sig-i{width:30mm;}
.sig-line{border-bottom:.16mm solid rgba(27,43,38,.45);height:5.6mm;}
.sig-lbl{font-family:'Cairo';font-size:1.4mm;color:#7C8C85;margin-top:.7mm;}
.mrz{position:absolute;left:0;right:0;bottom:0;height:13.2mm;padding:2mm 5mm 0;
  background:linear-gradient(180deg,rgba(255,255,255,.72),rgba(246,240,226,.95));
  border-top:.25mm solid rgba(27,43,38,.25);direction:ltr;}
.mrz div{font-family:'DejaVu Sans Mono',monospace;font-size:2.28mm;line-height:1.62;
  letter-spacing:.02em;color:#22322C;white-space:pre;}

/* ---------- stamps ---------- */
.stamp-round{position:absolute;left:2.8mm;top:41.5mm;width:24mm;height:24mm;border-radius:50%;
  border:.5mm solid rgba(193,18,31,.75);display:flex;flex-direction:column;align-items:center;
  justify-content:center;transform:rotate(-13deg);color:rgba(193,18,31,.82);opacity:.92;
  mix-blend-mode:multiply;text-align:center;}
.stamp-round::before{content:"";position:absolute;inset:1.15mm;border:.2mm solid rgba(193,18,31,.55);
  border-radius:50%;}
.stamp-round b{font-family:'Cinzel';font-weight:700;font-size:2.05mm;letter-spacing:.14em;text-indent:.14em;}
.stamp-round i{font-family:'Cairo';font-style:normal;font-weight:700;font-size:2.3mm;margin-top:.2mm;}
.stamp-round small{font-family:'Cairo';font-weight:600;font-size:1.5mm;letter-spacing:.04em;margin-top:.4mm;}

.stamp-rect{position:absolute;right:9mm;bottom:14.6mm;width:35mm;height:13mm;transform:rotate(-6deg);
  border:.42mm solid rgba(78,58,124,.72);color:rgba(78,58,124,.85);opacity:.9;
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  mix-blend-mode:multiply;text-align:center;}
.stamp-rect::before{content:"";position:absolute;inset:.8mm;border:.16mm solid rgba(78,58,124,.45);}
.stamp-rect b{font-family:'Cinzel';font-weight:700;font-size:2.1mm;letter-spacing:.12em;text-indent:.12em;}
.stamp-rect span{font-family:'Cairo';font-weight:700;font-size:1.95mm;margin-top:.3mm;}
.stamp-rect small{font-family:'Cinzel';font-size:1.5mm;letter-spacing:.1em;margin-top:.5mm;}

/* ---------- print ---------- */
@page{size:297mm 210mm;margin:0;}
@media print{
  html,body{background:#fff;}
  .sheet{box-shadow:none;margin:0;}
  .screen-only{display:none;}
}
@media screen{
  body{background:#DFDFDF;padding:8mm 0;}
  .sheet{margin:0 auto 8mm;box-shadow:0 2mm 6mm rgba(0,0,0,.25);}
}

/* tweaks */
.dp-note{position:absolute;left:8mm;right:44mm;top:67.4mm;text-align:center;font-family:'Cairo';
  font-weight:600;font-size:1.5mm;color:rgba(27,43,38,.45);}
.stamp-rect{bottom:6.2mm;}

/* ---- layout fixes pass 1 ---- */
.c-emblem{top:12.6mm;width:21mm;height:21mm;}
.c-ar{top:34.8mm;line-height:1;}
.c-lat{top:47.8mm;}
.c-rule{top:53.8mm;}
.c-fest-ar{top:56.6mm;line-height:1.15;}
.c-fest-es{top:63mm;}
.c-bottom{bottom:8.6mm;}
.c-note{bottom:4mm;}
.w-ar{line-height:1.15;}
.w-chips{top:44.2mm;}
.visa{left:30mm;top:54mm;transform:rotate(-4deg);}
.dp-note{top:68.4mm;}
.stamp-round{left:2.2mm;top:44mm;width:22mm;height:22mm;}
.stamp-rect{right:3.5mm;bottom:4.5mm;width:33mm;height:12.4mm;}
.photo-cap{display:none;}
.w-note{display:none;}

/* spine shading at the fold for a real booklet feel */
.booklet .panel::after{content:"";position:absolute;top:0;bottom:0;width:7mm;pointer-events:none;}
.booklet .panel:first-child::after{left:0;
  background:linear-gradient(90deg,rgba(0,0,0,.22) 0%,rgba(0,0,0,.07) 45%,transparent 100%);}
.booklet .panel:last-child::after{right:0;
  background:linear-gradient(270deg,rgba(0,0,0,.22) 0%,rgba(0,0,0,.07) 45%,transparent 100%);}
