/* Shared styles for individual bulldog profile pages, site/dogs/*.html.
   Reuses the color/type system from ../index.html. */

:root{
  --cream:#F1E8D8;
  --cream-2:#E9DCC3;
  --navy:#1C2B3A;
  --navy-2:#233A4F;
  --rust:#B5502E;
  --rust-dark:#8C3B20;
  --brass:#A9822E;
  --ink:#2A241C;
  --border:rgba(28,43,58,.14);
  --shadow-soft:0 2px 14px rgba(28,43,58,.08), 0 1px 2px rgba(28,43,58,.05);
  --shadow-lift:0 22px 48px -16px rgba(28,43,58,.35);
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  background:var(--cream);
  color:var(--ink);
  font-family:'Public Sans',sans-serif;
  line-height:1.6;
}
.wrap{max-width:900px;margin:0 auto;padding:0 28px;}
img{max-width:100%;display:block;}
h1,h2,h3{font-family:'Fraunces',serif;color:var(--navy);margin:0;}
a{color:inherit;}

/* press badge */
.press-badge{
  display:flex;align-items:center;justify-content:center;gap:10px;
  width:100%;background:var(--brass);color:var(--navy);
  font-family:'IBM Plex Mono',monospace;font-size:.76rem;font-weight:600;
  text-transform:uppercase;letter-spacing:.04em;text-decoration:none;
  padding:9px 16px;text-align:center;
}
.press-badge:hover{background:#BF9640;}
.press-badge-icon{
  display:inline-flex;align-items:center;justify-content:center;flex:none;
  width:20px;height:20px;border-radius:999px;
  background:var(--navy);color:var(--brass);
  font-size:.62rem;font-weight:700;letter-spacing:0;
}

/* nav */
header.nav{background:var(--navy);}
.nav-inner{
  max-width:1180px;margin:0 auto;padding:16px 28px;
  display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;
}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;}
.brand-name{font-family:'Fraunces',serif;font-weight:900;font-size:1.1rem;color:var(--cream);}
.brand-name span{color:var(--brass);}
.back-link{
  font-family:'IBM Plex Mono',monospace;font-size:.78rem;text-transform:uppercase;letter-spacing:.06em;
  color:rgba(241,232,216,.8);text-decoration:none;
}
.back-link:hover{color:var(--brass);}
.btn{
  font-family:'Public Sans',sans-serif;font-size:.86rem;font-weight:600;
  background:var(--rust);color:var(--cream);
  padding:12px 24px;border-radius:999px;text-decoration:none;
  border:2px solid var(--rust);white-space:nowrap;
  display:inline-flex;align-items:center;justify-content:center;
  box-shadow:var(--shadow-soft);
  transition:transform .2s ease, box-shadow .2s ease;
}
.btn:hover{transform:translateY(-2px);box-shadow:var(--shadow-lift);}
.btn-outline{background:transparent;color:var(--cream);border:2px solid rgba(241,232,216,.4);box-shadow:none;}
.btn-outline:hover{background:rgba(241,232,216,.1);}

/* hero */
.dog-hero{background:var(--navy);color:var(--cream);padding:56px 0 64px;}
.dog-hero-grid{display:grid;grid-template-columns:260px 1fr;gap:44px;align-items:center;}
.dog-photo{
  border-radius:1.75rem;overflow:hidden;box-shadow:var(--shadow-lift);
  border:1px solid rgba(241,232,216,.15);aspect-ratio:4/5;
}
.dog-photo img{width:100%;height:100%;object-fit:cover;}
.dog-eyebrow{
  font-family:'IBM Plex Mono',monospace;font-size:.76rem;text-transform:uppercase;
  letter-spacing:.1em;color:var(--brass);font-weight:600;margin-bottom:10px;
}
.dog-hero h1{color:var(--cream);font-size:2.6rem;font-weight:900;line-height:1.05;}
.dog-hero-email{
  display:inline-block;margin-top:10px;
  font-family:'IBM Plex Mono',monospace;font-size:.85rem;
  color:var(--brass);text-decoration:none;
}
.dog-hero-email:hover{color:var(--cream);text-decoration:underline;}
.dog-hero .dog-tag{
  font-family:'Fraunces',serif;font-style:italic;color:#EDE3D0;font-size:1.25rem;margin-top:8px;
}
.dog-hero-ctas{display:flex;gap:12px;flex-wrap:wrap;margin-top:22px;}
@media (max-width:700px){ .dog-hero-grid{grid-template-columns:1fr;} .dog-photo{max-width:220px;} }

/* content sections */
main{padding:56px 0 40px;}
section.block{margin-bottom:56px;}
.block-title{
  font-family:'IBM Plex Mono',monospace;font-size:.74rem;text-transform:uppercase;
  letter-spacing:.1em;color:var(--rust);font-weight:600;margin-bottom:10px;
}
section.block h2{font-size:1.7rem;margin-bottom:18px;}
section.block p{font-size:1.02rem;color:#3d3626;margin:0 0 16px;max-width:720px;}
section.block p:last-child{margin-bottom:0;}

/* stat grid */
.stat-grid{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:14px;
  margin-top:8px;
}
.stat-card{
  background:var(--cream-2);border:1px solid var(--border);border-radius:1.1rem;
  padding:18px 18px;box-shadow:var(--shadow-soft);
}
.stat-card .k{
  font-family:'IBM Plex Mono',monospace;font-size:.68rem;text-transform:uppercase;
  letter-spacing:.08em;color:var(--rust);margin-bottom:6px;
}
.stat-card .v{font-family:'Fraunces',serif;font-weight:700;color:var(--navy);font-size:1.05rem;}

/* rap sheet */
.rap-sheet{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px;}
.rap-sheet li{
  background:var(--cream);border:1px solid var(--border);border-radius:1rem;
  padding:16px 20px;box-shadow:var(--shadow-soft);
  display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap;
}
.rap-sheet .charge{font-weight:600;color:var(--navy);}
.rap-sheet .status{
  font-family:'IBM Plex Mono',monospace;font-size:.68rem;text-transform:uppercase;
  letter-spacing:.06em;color:var(--cream);background:var(--rust);
  padding:5px 12px;border-radius:999px;white-space:nowrap;
}

/* schedule table */
table.schedule{width:100%;border-collapse:collapse;font-family:'IBM Plex Mono',monospace;font-size:.92rem;}
table.schedule td{padding:13px 6px;border-bottom:1px solid var(--border);}
table.schedule td:first-child{font-weight:600;color:var(--rust);white-space:nowrap;padding-right:20px;}

/* quotes */
.quote-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:18px;}
.quote-card{
  background:var(--navy);color:var(--cream);border-radius:1.25rem;padding:22px 22px;
  box-shadow:var(--shadow-soft);
}
.quote-card p.q{font-family:'Fraunces',serif;font-style:italic;margin:0 0 12px;color:#EDE3D0;}
.quote-card p.who{
  font-family:'IBM Plex Mono',monospace;font-size:.72rem;text-transform:uppercase;
  letter-spacing:.06em;color:var(--brass);margin:0;
}

/* fun facts */
.facts{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:10px;}
.facts li{
  padding-left:26px;position:relative;color:#3d3626;
}
.facts li::before{
  content:"";position:absolute;left:0;top:.55em;width:8px;height:8px;border-radius:999px;background:var(--rust);
}

/* photo gallery */
.gallery-grid{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:14px;
}
.gallery-grid a{
  display:block;position:relative;aspect-ratio:1/1;overflow:hidden;
  border-radius:1.1rem;box-shadow:var(--shadow-soft);
  transition:transform .2s ease, box-shadow .2s ease;
}
.gallery-grid a:hover{transform:translateY(-4px);box-shadow:var(--shadow-lift);}
.gallery-grid img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s;}
.gallery-grid a:hover img{transform:scale(1.06);}

/* closing CTA */
.dog-cta{
  background:var(--navy);color:var(--cream);border-radius:2rem;padding:44px 40px;text-align:center;
  box-shadow:var(--shadow-lift);
}
.dog-cta h2{color:var(--cream);margin-bottom:10px;}
.dog-cta p{color:#D9CFBB;max-width:520px;margin:0 auto 22px;}

footer.dog-footer{
  background:var(--ink);color:#C7BCA3;padding:30px 0;margin-top:40px;
  font-family:'IBM Plex Mono',monospace;font-size:.76rem;text-align:center;
}
footer.dog-footer a{color:var(--brass);text-decoration:underline;}

/* wrinkle divider, matches main site's signature element */
.wrinkle{
  width:100%;height:26px;
  background-repeat:repeat-x;background-size:52px 26px;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='52' height='26' viewBox='0 0 52 26'><path d='M0 13 C 8 2, 18 2, 26 13 S 44 24, 52 13' fill='none' stroke='%23B5502E' stroke-width='3' stroke-linecap='round'/></svg>");
}
.wrinkle.navy-bg{
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='52' height='26' viewBox='0 0 52 26'><path d='M0 13 C 8 2, 18 2, 26 13 S 44 24, 52 13' fill='none' stroke='%23A9822E' stroke-width='3' stroke-linecap='round'/></svg>");
}
