/* Perry Home Wound Care — shared public design system
   Mirrors the current home-page visual language without changing page logic. */
:root{
  --phwc-blue:#5d796c;       /* homepage sage */
  --phwc-blue-2:#143f55;     /* homepage navy */
  --phwc-blue-deep:#0d2d3c;  /* homepage deep navy */
  --phwc-orange:#dc7b45;     /* homepage peach */
  --phwc-ink:#18313f;
  --phwc-muted:#65757c;
  --phwc-bg:#f8f5ef;
  --phwc-card:#fffdf9;
  --phwc-border:#e6e1d8;
  --phwc-radius:24px;
  --phwc-shadow:0 24px 70px rgba(20,63,85,.13);
}

body.phwc-public{
  margin:0;
  overflow-x:hidden;
  font-family:'Segoe UI','Roboto','Helvetica Neue',Arial,sans-serif;
  color:var(--phwc-ink);
  background:var(--phwc-bg);
  line-height:1.7;
  letter-spacing:.005em;
}
body.phwc-public *,body.phwc-public *::before,body.phwc-public *::after{box-sizing:border-box}
body.phwc-public a{text-decoration:none}
body.phwc-public img{max-width:100%}
body.phwc-public h1,body.phwc-public h2,body.phwc-public h3{font-family:Georgia,'Times New Roman',serif;letter-spacing:-.025em;color:var(--phwc-blue-deep)}

/* Shared public navigation */
body.phwc-public header.nav,
body.phwc-public .site-header{
  position:sticky;
  top:0;
  z-index:50;
  min-height:76px;
  background:rgba(255,253,249,.96);
  border-bottom:1px solid var(--phwc-border);
  box-shadow:0 8px 24px rgba(20,63,85,.05);
  backdrop-filter:saturate(160%) blur(14px);
}
body.phwc-public .navin{
  width:min(94vw,1400px);
  max-width:1400px;
  margin:auto;
  min-height:76px;
  padding:12px 0;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
}
body.phwc-public .site-header{padding:12px clamp(18px,4.5vw,70px)}
body.phwc-public .brand{display:flex;align-items:center;gap:11px;color:var(--phwc-blue-2);font-weight:900}
body.phwc-public .brandname,body.phwc-public .brand strong{color:var(--phwc-blue-deep);font-weight:900;letter-spacing:.01em}
body.phwc-public .logo{
  width:44px;
  height:44px;
  flex:0 0 44px;
  border-radius:14px;
  display:grid;
  place-items:center;
  background:linear-gradient(145deg,var(--phwc-blue-2),var(--phwc-blue));
  color:#fff;
  font-weight:900;
  box-shadow:0 9px 25px rgba(20,63,85,.20);
}
body.phwc-public .site-header .brand small{color:var(--phwc-muted)}
body.phwc-public .navlinks,body.phwc-public .site-header nav{display:flex;align-items:center;gap:7px;flex-wrap:wrap}
body.phwc-public .site-header nav a,
body.phwc-public .navlinks a{
  color:#36505d;
  font-weight:800;
  border-radius:10px;
  transition:background .18s,color .18s,transform .18s;
}
body.phwc-public .site-header nav a{padding:10px 13px}
body.phwc-public .site-header nav a:hover,
body.phwc-public .site-header nav a.active{background:#e8eee9;color:var(--phwc-blue-deep)}

/* Buttons */
body.phwc-public .btn,
body.phwc-public .site-header nav .cta{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  min-height:44px;
  padding:10px 18px;
  border-radius:12px;
  border:1px solid var(--phwc-border);
  background:var(--phwc-card);
  color:var(--phwc-blue-2);
  font-weight:800;
  cursor:pointer;
  box-shadow:none;
  transition:transform .18s,box-shadow .18s,filter .18s,background .18s;
}
body.phwc-public .btn:hover,body.phwc-public .site-header nav .cta:hover{transform:translateY(-1px)}
body.phwc-public .btn.primary,
body.phwc-public .site-header nav .cta{
  background:var(--phwc-orange);
  color:#fff;
  border-color:transparent;
  box-shadow:0 12px 30px rgba(220,123,69,.18);
}
body.phwc-public .btn.primary:hover,body.phwc-public .site-header nav .cta:hover{filter:brightness(.97);color:#fff}
body.phwc-public .btn.ghost{background:var(--phwc-card);color:var(--phwc-blue-deep);border-color:var(--phwc-border)}
body.phwc-public .btn.block{width:100%}

/* Shared hero language */
body.phwc-public .hero,
body.phwc-public .subhero,
body.phwc-public .hero-slim,
body.phwc-public .book-hero{
  position:relative;
  overflow:hidden;
  max-width:none;
  margin:0;
  padding:clamp(50px,7vw,92px) max(20px,calc((100vw - 1400px)/2));
  background:
    radial-gradient(circle at 87% 10%,rgba(93,121,108,.14),transparent 22rem),
    radial-gradient(circle at 10% 90%,rgba(220,123,69,.10),transparent 20rem),
    linear-gradient(135deg,#fffdf9 0%,#f2f3ec 55%,#f8e9de 100%);
  border-bottom:1px solid var(--phwc-border);
}
body.phwc-public .hero-inner{width:min(100%,1400px);max-width:1400px;margin:0 auto;padding:0}
body.phwc-public .hero h1,
body.phwc-public .subhero h1,
body.phwc-public .hero-slim h1,
body.phwc-public .book-hero h1{
  margin:0 0 14px;
  max-width:900px;
  color:var(--phwc-blue-deep);
  font-size:clamp(2.35rem,5vw,4.4rem);
  line-height:1.02;
  font-weight:700;
  letter-spacing:-.035em;
}
body.phwc-public .hero p,
body.phwc-public .subhero>p,
body.phwc-public .hero-slim>p,
body.phwc-public .book-hero>p{
  max-width:820px;
  margin:0;
  color:var(--phwc-muted);
  font-size:clamp(1rem,1.8vw,1.22rem);
  line-height:1.75;
}
body.phwc-public .eyebrow{color:var(--phwc-orange)!important;font-weight:900;letter-spacing:.14em;text-transform:uppercase}
body.phwc-public .chip,body.phwc-public .svc-pill{
  border:1px solid var(--phwc-border);
  background:var(--phwc-card);
  color:var(--phwc-blue-2);
  box-shadow:0 6px 18px rgba(20,63,85,.06);
}

/* Content width and cards */
body.phwc-public .wrap,
body.phwc-public .details,
body.phwc-public .content{
  width:min(94vw,1400px);
  max-width:1400px;
  margin-left:auto;
  margin-right:auto;
}
body.phwc-public .panel,
body.phwc-public .card,
body.phwc-public .box,
body.phwc-public .poster,
body.phwc-public .pro-box,
body.phwc-public .pro-poster{
  background:var(--phwc-card);
  border:1px solid var(--phwc-border);
  border-radius:var(--phwc-radius);
  box-shadow:var(--phwc-shadow);
}
body.phwc-public .panel,body.phwc-public .card,body.phwc-public .box,body.phwc-public .pro-box{padding:clamp(18px,2.5vw,32px)}
body.phwc-public .panel h2,body.phwc-public .card h2,body.phwc-public .box h3,body.phwc-public .pro-section-title{color:var(--phwc-blue-deep)}
body.phwc-public .muted,body.phwc-public .small{color:var(--phwc-muted)}

/* Forms */
body.phwc-public input,
body.phwc-public select,
body.phwc-public textarea{
  width:100%;
  min-height:46px;
  border:1.5px solid #dcd8cf!important;
  background:var(--phwc-card)!important;
  border-radius:12px!important;
  padding:11px 13px!important;
  color:var(--phwc-ink)!important;
  font:inherit;
  outline:none;
  transition:border-color .18s,box-shadow .18s;
}
body.phwc-public textarea{min-height:118px;resize:vertical}
body.phwc-public input:focus,
body.phwc-public select:focus,
body.phwc-public textarea:focus{
  border-color:var(--phwc-blue)!important;
  box-shadow:0 0 0 4px rgba(93,121,108,.12)!important;
}
body.phwc-public label{color:#36505d;font-weight:700}
body.phwc-public fieldset{border-color:var(--phwc-border)!important;border-radius:16px!important;background:#fffdf9}
body.phwc-public legend{color:var(--phwc-blue-deep)!important;font-weight:900}
body.phwc-public .note{border-radius:14px;background:#fff5ed;border:1px solid #efcfbd;padding:13px 15px;color:#795533}
body.phwc-public .map-card{border:1px solid var(--phwc-border);box-shadow:0 10px 28px rgba(20,63,85,.06)}

/* Service catalogue */
body.phwc-public .toolbar{
  width:min(94vw,1400px);
  max-width:1400px;
  margin:28px auto 0;
  padding:18px;
  border:1px solid var(--phwc-border);
  border-radius:18px;
  background:var(--phwc-card);
  box-shadow:0 10px 28px rgba(20,63,85,.06);
}
body.phwc-public .service-media{border-color:var(--phwc-border);border-radius:17px}
body.phwc-public .badge{border-color:#dce5df;color:var(--phwc-blue-deep);background:#f2f5f2}

/* Service details */
body.phwc-public .pro-hero{text-align:left}
body.phwc-public .pro-title{color:var(--phwc-blue-deep)}
body.phwc-public .pro-details{width:min(94vw,1300px);max-width:1300px;margin:48px auto;padding:0}
body.phwc-public .details-grid{gap:30px}
body.phwc-public .pro-img{max-height:460px}
body.phwc-public .pro-book{background:transparent}
body.phwc-public .pro-cta{border:1px solid var(--phwc-border);border-radius:var(--phwc-radius);box-shadow:var(--phwc-shadow)}
body.phwc-public .pro-sticky-cta{background:rgba(255,253,249,.96);border-top:1px solid var(--phwc-border);color:var(--phwc-ink)}
body.phwc-public .pro-sticky-title{color:var(--phwc-blue-deep)}
body.phwc-public .pro-sticky-desc{color:var(--phwc-muted)}

/* Editorial pages keep their typography but use PHWC home colors */
body.phwc-editorial{
  --navy:var(--phwc-blue-2);
  --navy-deep:var(--phwc-blue-deep);
  --sage:var(--phwc-blue);
  --sage-soft:#e8eee9;
  --peach:var(--phwc-orange);
  --cream:var(--phwc-bg);
  --white:var(--phwc-card);
  --ink:var(--phwc-ink);
  --muted:var(--phwc-muted);
  --line:var(--phwc-border);
}
body.phwc-editorial .article-hero,
body.phwc-editorial .blog-hero{
  background:
    radial-gradient(circle at 82% 15%,rgba(93,121,108,.14),transparent 24rem),
    radial-gradient(circle at 10% 90%,rgba(220,123,69,.10),transparent 20rem),
    var(--phwc-bg);
  border-bottom:1px solid var(--phwc-border);
}
body.phwc-editorial .category,body.phwc-editorial .filter-chip.active{background:#e8eee9;color:var(--phwc-blue-deep)}
body.phwc-editorial .cover-fallback{background:linear-gradient(135deg,var(--phwc-blue-deep),var(--phwc-blue-2) 62%,var(--phwc-blue))}
body.phwc-editorial .cover-fallback[hidden]{display:none!important}
body.phwc-editorial .service-rail-head,body.phwc-editorial .cta-box{background:linear-gradient(125deg,var(--phwc-blue-deep),var(--phwc-blue-2) 65%,var(--phwc-blue))}
body.phwc-editorial .service-call{background:var(--phwc-orange);color:#fff}
body.phwc-editorial footer{background:var(--phwc-blue-deep);color:#fff}

/* Legal pages */
body.phwc-public .site-header .header-inner{width:min(94vw,1400px);max-width:1400px;margin:auto;padding:14px 0}
body.phwc-public .site-header .nav{display:flex;gap:8px;flex-wrap:wrap}
body.phwc-public .site-header .nav a{padding:9px 13px;border-radius:10px;color:var(--phwc-blue-deep);font-weight:800}
body.phwc-public .site-header .nav a:hover{background:#e8eee9}
body.phwc-public .content{padding-top:34px}
body.phwc-public .site-footer{max-width:none;margin-top:48px;padding:30px max(20px,calc((100vw - 1400px)/2));background:var(--phwc-blue-deep);color:#e7eeeb;border:0}
body.phwc-public .site-footer a{color:#fff}

/* Shared footer */
body.phwc-public footer.footer,
body.phwc-public footer:not(.site-footer){
  margin-top:56px;
  padding:30px max(20px,calc((100vw - 1400px)/2));
  background:var(--phwc-blue-deep);
  color:#fff;
  border:0;
}
body.phwc-public footer.footer a,body.phwc-public footer.footer .muted,body.phwc-public footer.footer .small,
body.phwc-public footer:not(.site-footer) a,body.phwc-public footer:not(.site-footer) span{color:#e7eeeb}

/* Critical blog mobile regression protection */
@media(max-width:900px){
  body.phwc-editorial .article-hero-inner{width:100%!important;max-width:100%!important;padding-left:20px!important;padding-right:20px!important}
  body.phwc-editorial .article-layout{
    width:100%!important;
    max-width:100%!important;
    grid-template-columns:minmax(0,1fr)!important;
    padding-left:18px!important;
    padding-right:18px!important;
    gap:24px!important;
  }
  body.phwc-editorial .article-main,
  body.phwc-editorial .article-rail,
  body.phwc-editorial .service-rail,
  body.phwc-editorial .cover-wrap,
  body.phwc-editorial .cover,
  body.phwc-editorial .cover-fallback{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
  }
  body.phwc-editorial .cover{height:auto!important;max-height:none!important;aspect-ratio:auto!important;object-fit:contain!important}
  body.phwc-editorial .service-rail{grid-column:auto!important}
}

@media(max-width:720px){
  body.phwc-public header.nav,body.phwc-public .site-header{position:relative;min-height:auto}
  body.phwc-public .navin,body.phwc-public .site-header{align-items:flex-start}
  body.phwc-public .navin{width:100%;padding:12px 16px;flex-direction:column;gap:10px}
  body.phwc-public .site-header{padding:12px 16px;flex-wrap:wrap}
  body.phwc-public .brand{min-width:0}
  body.phwc-public .brandname,body.phwc-public .brand strong{font-size:14px}
  body.phwc-public .logo{width:40px;height:40px;flex-basis:40px}
  body.phwc-public .navlinks,body.phwc-public .site-header nav{
    width:100%;
    flex-wrap:nowrap;
    overflow-x:auto;
    gap:7px;
    padding:2px 0 4px;
    scrollbar-width:none;
  }
  body.phwc-public .navlinks::-webkit-scrollbar,body.phwc-public .site-header nav::-webkit-scrollbar{display:none}
  body.phwc-public .navlinks .btn,body.phwc-public .site-header nav a{flex:0 0 auto;white-space:nowrap;min-height:40px;padding:8px 13px;font-size:12px}
  body.phwc-public .hero,
  body.phwc-public .subhero,
  body.phwc-public .hero-slim,
  body.phwc-public .book-hero{padding:48px 18px}
  body.phwc-public .hero h1,
  body.phwc-public .subhero h1,
  body.phwc-public .hero-slim h1,
  body.phwc-public .book-hero h1{font-size:clamp(2.15rem,11vw,3.1rem)}
  body.phwc-public .wrap,body.phwc-public .details,body.phwc-public .content{width:100%;padding-left:16px;padding-right:16px}
  body.phwc-public .row{grid-template-columns:1fr!important}
  body.phwc-public .panel,body.phwc-public .card,body.phwc-public .box,body.phwc-public .pro-box{border-radius:18px;padding:18px}
  body.phwc-public .toolbar{width:calc(100% - 32px);margin-left:16px;margin-right:16px;flex-direction:column;align-items:stretch}
  body.phwc-public .toolbar .input,body.phwc-public .toolbar .select,body.phwc-public .toolbar .btn{width:100%;min-width:0}
  body.phwc-editorial .article h1{font-size:clamp(2.25rem,11vw,3rem)!important;line-height:1.02}
  body.phwc-editorial .article-layout{padding-top:30px!important}
  body.phwc-editorial .cover-fallback{min-height:230px!important;padding:24px!important;border-radius:18px!important}
  body.phwc-editorial .cover-fallback h2{font-size:clamp(2rem,9vw,2.8rem)}
}
