/* Pedigree certificate presentation.
   Visual-only override: the original PHP tree, links and petkey contract stay intact. */
@import url("https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@500;600;700&family=Great+Vibes&family=Inter:wght@400;500;600&display=swap");

:root{
  --cert-ink:#182234;
  --cert-muted:#657083;
  --cert-gold:#a77b32;
  --cert-line:rgba(167,123,50,.36);
  --cert-glass:rgba(255,255,255,.72);
  --cert-glass-strong:rgba(255,255,255,.9);
  --cert-shadow:0 28px 70px rgba(22,33,52,.16);
}
body{
  color:var(--cert-ink) !important;
  background:
    radial-gradient(circle at 8% 8%,rgba(154,215,229,.36),transparent 28rem),
    radial-gradient(circle at 92% 18%,rgba(155,144,219,.25),transparent 30rem),
    linear-gradient(145deg,#edf5f7,#ececf5 50%,#f8f1e7) !important;
  padding:20px 12px 42px !important;
}
.ped-page{ max-width:1480px !important; }
.ped-actions{
  position:sticky !important;
  top:10px;
  z-index:50;
  width:max-content;
  max-width:100%;
  margin:0 auto 12px !important;
  padding:6px;
  border:1px solid rgba(255,255,255,.74);
  border-radius:16px;
  background:rgba(255,255,255,.58);
  box-shadow:0 12px 32px rgba(32,46,70,.12);
  backdrop-filter:blur(18px) saturate(150%);
  -webkit-backdrop-filter:blur(18px) saturate(150%);
}
.ped-actions button,.ped-actions a{
  min-height:36px;
  padding:7px 15px !important;
  border-color:rgba(43,57,78,.12) !important;
  border-radius:10px !important;
  background:rgba(255,255,255,.72) !important;
  color:var(--cert-ink) !important;
  font:600 12px/1 "Inter","Tahoma",sans-serif !important;
  box-shadow:none !important;
}
.ped-actions button:hover,.ped-actions a:hover{
  border-color:var(--cert-line) !important;
  background:#fff !important;
}
.ped-sheet{
  padding:28px 30px 24px !important;
  border:1px solid rgba(255,255,255,.85) !important;
  border-radius:24px !important;
  background:linear-gradient(145deg,rgba(255,255,255,.84),rgba(255,255,255,.55)) !important;
  box-shadow:var(--cert-shadow) !important;
  backdrop-filter:blur(24px) saturate(135%);
  -webkit-backdrop-filter:blur(24px) saturate(135%);
}
.ped-sheet::before{
  inset:9px !important;
  border-color:var(--cert-line) !important;
  border-radius:17px !important;
}
.ped-letterhead{
  min-height:76px;
  gap:14px !important;
  margin:0 0 10px !important;
  padding:0 0 13px !important;
  border-bottom:1px solid var(--cert-line) !important;
}
.ped-letterhead__badge{
  width:48px;
  height:48px;
  display:grid;
  place-items:center;
  border:1px solid var(--cert-line);
  border-radius:14px;
  background:rgba(255,255,255,.74);
  font-size:24px !important;
  filter:saturate(.75);
}
.ped-letterhead__text h1{
  color:var(--cert-ink) !important;
  font-family:"Cormorant Garamond",Georgia,serif !important;
  font-size:clamp(27px,3vw,42px) !important;
  font-weight:700 !important;
  line-height:.9;
  letter-spacing:3.5px !important;
}
.ped-letterhead__text .sub{
  margin-top:7px !important;
  color:var(--cert-gold) !important;
  font-family:"Great Vibes",cursive !important;
  font-size:19px !important;
}
.ped-meta{
  margin:0 0 15px !important;
  padding:8px 3px 0 !important;
  color:var(--cert-muted) !important;
  font:500 10px/1.35 "Inter","Tahoma",sans-serif !important;
  letter-spacing:.2px;
}
.ped-meta__item b{ color:var(--cert-ink) !important; }
.ped-subject .name{
  color:var(--cert-ink) !important;
  font-family:"Cormorant Garamond",Georgia,serif !important;
  font-size:28px !important;
  font-weight:700;
}
.ped-subject .breed{
  color:var(--cert-muted) !important;
  font:500 11px/1.4 "Inter","Tahoma",sans-serif !important;
  text-transform:uppercase;
  letter-spacing:1.1px;
}
.ped-tree-wrap{
  position:relative !important;
  padding:12px !important;
  border:1px solid rgba(255,255,255,.72);
  border-radius:18px;
  background:rgba(243,247,250,.48);
}
.ped-connectors{
  position:absolute;
  top:0;
  left:0;
  z-index:0;
  overflow:visible;
  pointer-events:none;
}
.ped-connector{
  fill:none;
  stroke:rgba(72,91,116,.52);
  stroke-width:1.5;
  stroke-linecap:round;
  stroke-linejoin:round;
  vector-effect:non-scaling-stroke;
}
.ped-connector--male{ stroke:rgba(79,133,171,.58); }
.ped-connector--female{ stroke:rgba(176,109,137,.55); }
.ped-connector--unknown{ stroke:rgba(104,111,125,.45); }
.pedn__children::before,
.pedn__slot::before{
  display:none !important;
  content:none !important;
}
.ped-card{ position:relative; z-index:2; }
.ped-card{
  border:1px solid rgba(115,132,154,.23) !important;
  border-radius:13px !important;
  background:rgba(255,255,255,.78) !important;
  box-shadow:0 8px 20px rgba(24,34,52,.08) !important;
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
  transition:border-color .18s ease,transform .18s ease,box-shadow .18s ease;
}
.ped-card:hover{
  transform:translateY(-2px) !important;
  border-color:var(--cert-line) !important;
  box-shadow:0 13px 28px rgba(24,34,52,.13) !important;
}
.ped-card--male{
  background:linear-gradient(135deg,rgba(235,247,252,.9),rgba(255,255,255,.76)) !important;
}
.ped-card--female{
  background:linear-gradient(135deg,rgba(252,240,245,.9),rgba(255,255,255,.76)) !important;
}
.ped-card--main{
  border-color:var(--cert-line) !important;
  background:linear-gradient(145deg,rgba(255,252,244,.96),rgba(255,255,255,.78)) !important;
}
.ped-card__photo{
  border-radius:9px !important;
  background:#eef2f5 !important;
}
.ped-card__photo img{ object-fit:cover !important; }
.ped-card__reg{
  color:var(--cert-gold) !important;
  font:600 9px/1.2 "Inter","Tahoma",sans-serif !important;
  letter-spacing:.5px;
}
.ped-card__name{
  color:var(--cert-ink) !important;
  font-family:"Cormorant Garamond",Georgia,serif !important;
  font-weight:700 !important;
  letter-spacing:.1px;
}
.ped-card__row{
  color:var(--cert-muted) !important;
  font:500 9px/1.4 "Inter","Tahoma",sans-serif !important;
}
.pedn__children::before,
.pedn__slot::before{
  border-color:rgba(87,105,129,.3) !important;
}
.ped-gallery{
  margin-top:18px !important;
  padding-top:18px !important;
  border-top:1px solid var(--cert-line) !important;
}
.ped-gallery img{
  border:1px solid rgba(255,255,255,.82) !important;
  border-radius:12px !important;
  box-shadow:0 8px 20px rgba(24,34,52,.1) !important;
}
.ped-print-footer,.ped-footer{
  color:var(--cert-muted) !important;
  font:500 10px/1.5 "Inter","Tahoma",sans-serif !important;
}
@media(max-width:760px){
  body{ padding:8px 5px 24px !important; }
  .ped-actions{ top:5px; overflow-x:auto; justify-content:flex-start !important; }
  .ped-actions button,.ped-actions a{ white-space:nowrap; }
  .ped-sheet{ padding:18px 12px !important; border-radius:17px !important; }
  .ped-sheet::before{ inset:5px !important; border-radius:12px !important; }
  .ped-letterhead{ justify-content:flex-start !important; }
  .ped-letterhead__badge{ width:40px;height:40px;font-size:19px !important; }
  .ped-letterhead__text h1{ font-size:25px !important; letter-spacing:2px !important; }
  .ped-letterhead__text .sub{ font-size:16px !important; }
  .ped-tree-wrap{ padding:8px !important; }
}
@media print{
  body{ background:#fff !important; padding:0 !important; }
  .ped-sheet{ border:1px solid #c7ae7d !important; box-shadow:none !important; background:#fff !important; }
  .ped-tree-wrap{ background:#fff !important; }
}
