/* === Passport sticker final === */
.passport-page{
  /* 필요 시 한줄로 퍼센트만 바꿔 미세조정 가능 */
  --seal-size: 44%;       /* 크기 */
  --seal-rotate: 25deg;   /* 기울기 */
  --seal-right: -6%;      /* 우측으로 더 붙이기(음수면 카드 바깥으로) */
  --seal-bottom: -7%;     /* 아래로 더 내리기(음수면 카드 바깥으로) */
}

/* 사진 박스 */
.passport-page .passport-photo{
  position: relative;
  width: 300px;
  aspect-ratio: 3 / 4;
  margin: 8px auto 10px;
  border-radius: 14px;
  /* 스티커가 사진 프레임 바깥으로 살짝 나가도록 */
  overflow: visible;
  background: #f4f6f8;
  box-shadow: inset 0 6px 16px rgba(0,0,0,.08), 0 2px 10px rgba(0,0,0,.06);
  border: 1px solid rgba(0,0,0,.06);
}
.passport-page .passport-photo .photo{
  width:100%; height:100%; object-fit:cover;
  transform: scale(.85);
  transform-origin:center;
  border-radius:14px;  /* overflow visible로 바꿨으니 이미지에도 라운드 적용 */
}

/* ✅ 은색 '스티커' – 우하단, 25° */
.passport-page .passport-photo .seal-sticker{
  position:absolute;
  right: var(--seal-right);
  bottom: var(--seal-bottom);
  width: var(--seal-size);
  transform: rotate(var(--seal-rotate));
  opacity:.95;
  mix-blend-mode: normal;  /* 스티커 느낌 */
  pointer-events:none; -webkit-user-drag:none;
  image-rendering:auto;
  z-index:2;
}

@media print{
  .passport-page .passport-photo .seal-sticker{ opacity:1; }
}

/* 레이아웃 (기존과 동일) */
.passport-wrap{ box-sizing:border-box;max-width:1100px;width:100%;margin:24px auto;padding:0 8px; }
.passport-grid{
  box-sizing:border-box;min-width:0;width:100%;
  display:grid; grid-template-columns:360px 1fr; gap:22px;
  background:#0c3a52; border-radius:18px; padding:22px;
}
.passport-card{
  box-sizing:border-box;min-width:0;max-width:100%;overflow:hidden;
  background:#fff; border-radius:14px; padding:18px;
  box-shadow:0 6px 22px rgba(0,0,0,.08);
}
.passport-title{ display:flex; justify-content:space-between; align-items:center; margin-bottom:10px; }
.passport-no{ font-weight:700; color:#0c3a52; }
.passport-rows .row{
  display:grid; grid-template-columns:220px 1fr;
  gap:10px; padding:10px 0; border-bottom:1px dashed #e5e7eb;
}
.passport-rows .row:last-child{ border-bottom:none; }
.label{ color:#6b7280; font-weight:600; }
.value{ min-width:0;max-width:100%;color:#111827;font-weight:700;overflow-wrap:anywhere;word-break:break-word; }

@media (max-width: 960px){
  .passport-grid{ grid-template-columns:1fr; }
  .passport-page .passport-photo{ width:260px; }
}

@media (max-width:600px){
  .passport-wrap{margin:14px auto;padding:0 4px}
  .passport-grid{padding:10px;gap:12px;border-radius:14px}
  .passport-card{padding:13px;border-radius:11px}
  .passport-page .passport-photo{width:min(220px,78vw)}
  .passport-title h2{font-size:clamp(20px,7vw,25px)!important}
  .passport-rows .row{grid-template-columns:minmax(0,1fr);gap:3px;padding:8px 0}
  .passport-rows .label{font-size:12px;line-height:1.35}
  .passport-rows .value{font-size:14px;line-height:1.4}
}

@media (max-width:380px){
  .passport-grid{padding:7px;gap:8px;border-radius:11px}
  .passport-card{padding:10px}
  .passport-page .passport-photo{width:min(180px,72vw)}
  .passport-rows .label{font-size:10px}
  .passport-rows .value{font-size:12px}
  .passport-no{font-size:11px;overflow-wrap:anywhere}
}
