/* ==========================================================
   FMRG Theme: IUMD — International Union Medical Division
   国际旅行联合医疗部
   "Medical Aid Across Frontiers."

   Usage: add class="theme-iumd" to .page
   20th-c travel archive / field medical / passport stamps / kraft paper
   ========================================================== */

.theme-iumd{
  /* — Color System (kraft paper, dark brown-gray, passport ink) — */
  --ink:          #1a1612;
  --muted:        #6b5d52;
  --line:         #3d352c;
  --thin:         rgba(61,53,44,.20);
  --bg:           #f5f0e8;
  --accent-red:   #8b3a3a;          /* stamp red, low saturation */
  --accent-blue:  #2c4a6e;          /* stamp blue, for badges/lines */
  --accent:       var(--accent-red);
  --accent-light: rgba(139,58,58,.06);
  --accent-mid:   rgba(139,58,58,.22);

  /* — Paper — */
  --paper-warm:         rgba(180,150,110,.06);
  --paper-fiber-opacity: .022;
  --route-opacity:       .032;
  --route-gap:           14px;
  --passport-ring-opacity:.04;
  --perforation-opacity: .06;

  /* — Borders — */
  --b1: 1.5px solid var(--line);
  --b0: 1px solid var(--thin);

  /* — Letterhead — */
  --lh-h:       124px;
  --lh-logo-h:  72px;
  --lh-pad-x:   22px;
  --lh-gap:     12px;

  /* — Watermark — */
  --wm-opacity:      .05;
  --wm-color:        var(--line);
  --wm-rotate:       -10deg;

  /* — Stamp — */
  --stamp-size:      126px;
  --stamp-ink:       var(--accent-red);
  --stamp-opacity:   .28;
  --stamp-rotate:    -12deg;
  --stamp-x:         0px;
  --stamp-y:         0px;

  /* — Footer Banner — */
  --fb-bg:       rgba(180,150,110,.12);
  --fb-border:   rgba(61,53,44,.35);
}


/* ==========================================================
   PAGE — optional stamp perforation (very subtle)
   ========================================================== */
.page.theme-iumd{
  border: 1.5px solid var(--line);
  box-shadow:
    0 0 0 1px var(--line),
    /* perforation: small gaps along edge via radial-gradient on pseudo */
    0 2px 4px rgba(0,0,0,.06),
    0 10px 36px rgba(0,0,0,.07);
}


/* ==========================================================
   BACKGROUND — kraft paper + fiber + route lines + passport ring
   ========================================================== */
.page.theme-iumd::before{
  content:"";
  position:absolute; inset:0;
  z-index:0;
  pointer-events:none;

  background:
    /* L1 — warm paper base */
    linear-gradient(
      to bottom,
      var(--paper-warm) 0%,
      transparent 40%,
      transparent 70%,
      var(--paper-warm) 100%
    ),
    /* L2 — paper fiber (very subtle dot grid) */
    radial-gradient(
      circle,
      rgba(100,80,50,var(--paper-fiber-opacity)) .6px,
      transparent .6px
    ),
    /* L3 — route dashed lines (30deg) */
    repeating-linear-gradient(
      30deg,
      transparent 0px,
      transparent calc(var(--route-gap) - 2px),
      rgba(61,53,44,var(--route-opacity)) calc(var(--route-gap) - 2px),
      rgba(61,53,44,var(--route-opacity)) calc(var(--route-gap) - 1px),
      transparent calc(var(--route-gap) - 1px),
      transparent var(--route-gap)
    ),
    /* L4 — central passport stamp ring (faint circle) */
    radial-gradient(
      circle at 50% 48%,
      transparent 32%,
      rgba(139,58,58,var(--passport-ring-opacity)) 33%,
      rgba(139,58,58,var(--passport-ring-opacity)) 34%,
      transparent 35%
    );
  background-size:
    100% 100%,
    4px 4px,
    calc(var(--route-gap) * 2) calc(var(--route-gap) * 1.15),
    100% 100%;
  background-position: 0 0, 0 0, 0 0, 0 0;
}


/* ==========================================================
   PRINT — reduce texture, no route lines (avoid moiré)
   ========================================================== */
@media print{
  .page.theme-iumd::before{
    background:
      linear-gradient(to bottom, var(--paper-warm) 0%, transparent 40%, transparent 70%, var(--paper-warm) 100%),
      radial-gradient(circle, rgba(100,80,50,.006) .6px, transparent .6px);
    background-size: 100% 100%, 4px 4px;
  }
}


/* ==========================================================
   LETTERHEAD — typewriter thick line + thin second line
   ========================================================== */
.page.theme-iumd .letterhead{
  background:
    linear-gradient(to bottom, rgba(61,53,44,.04), transparent 75%);
  border-bottom: none;
  box-shadow:
    inset 0 -3px 0 0 var(--line),
    inset 0 -4.5px 0 0 var(--bg),
    inset 0 -5.5px 0 0 var(--thin);
}


/* ==========================================================
   CHIP — luggage tag / sticker
   ========================================================== */
.page.theme-iumd .chip{
  border: 2px solid var(--accent-mid);
  border-radius: 4px;
  background: rgba(255,250,240,.85);
  font-family: var(--mono);
  font-size: 10.5px;
  letter-spacing: .05em;
  color: var(--accent-red);
  padding: 3px 10px;
}


/* ==========================================================
   SECTION TITLE — serif, document feel
   ========================================================== */
.page.theme-iumd .section-title .small{
  color: var(--accent-blue);
  font-family: var(--mono);
}


/* ==========================================================
   TABLE — typewriter / register
   ========================================================== */
.page.theme-iumd .items-table th{
  background: rgba(180,150,110,.08);
  font-family: var(--mono);
  letter-spacing: .04em;
}


/* ==========================================================
   FOOTER BANNER — luggage tag / itinerary label
   ========================================================== */
.page.theme-iumd .footer-banner{
  background: var(--fb-bg);
  border: 2px solid var(--fb-border);
  font-family: var(--sans);
}
.page.theme-iumd .fb-badge{
  font-family: var(--mono);
  font-size: 10px;
  letter-spacing: .08em;
  border: 1.5px solid var(--line);
  color: var(--ink);
  background: rgba(255,250,240,.7);
  padding: 4px 12px;
}
.page.theme-iumd .fb-org{
  color: var(--ink);
  opacity: .9;
}


/* ==========================================================
   META / LH — mono typewriter
   ========================================================== */
.page.theme-iumd .meta-k,
.page.theme-iumd .lh-meta{
  font-family: var(--mono);
}
.page.theme-iumd .lh-meta .lh-tag{
  border-color: var(--accent-mid);
  color: var(--accent-red);
  font-family: var(--mono);
}
