/* Panmakapmue | Product & Service Directory V3
   Fast, dependency-free, scoped to .pm-catalog; original site styles untouched. */
.pm-catalog{
  --pm-ink:#252139;--pm-muted:#777187;--pm-purple:#7650c7;--pm-border:#e9e5f0;
  padding:42px 14px 56px;scroll-margin-top:88px;font-family:inherit;isolation:isolate;
}
.pm-catalog *,.pm-catalog *::before,.pm-catalog *::after{box-sizing:border-box}
.pm-catalog [hidden]{display:none!important}
.pm-catalog__shell{
  width:min(1160px,100%);margin:0 auto;overflow:hidden;border:1px solid #e3deed;border-radius:24px;
  background:#fff;box-shadow:0 22px 55px rgba(37,21,75,.11),0 2px 8px rgba(37,21,75,.035)
}
/* Elevated, restrained headline band */
.pm-catalog__hero{
  position:relative;display:flex;align-items:center;justify-content:space-between;gap:24px;
  padding:25px clamp(20px,3.2vw,36px);color:#fff;
  background:radial-gradient(circle at 65% -50%,rgba(164,126,243,.22),transparent 46%),
             radial-gradient(circle at 102% 100%,rgba(159,87,231,.28),transparent 38%),
             linear-gradient(111deg,#201b34 0%,#2a2144 56%,#3c2858 100%);
}
.pm-catalog__hero::after{content:"";position:absolute;inset:auto 0 0;height:1px;background:linear-gradient(90deg,transparent,#ac89ed,transparent);opacity:.55;pointer-events:none}
.pm-catalog__hero-copy{position:relative;z-index:1;min-width:0}
.pm-catalog__eyebrow{display:inline-flex;align-items:center;gap:9px;color:#cbb7ee;font-size:10px;font-weight:800;letter-spacing:.135em;line-height:1.3}
.pm-catalog__signal{width:7px;height:7px;flex:none;background:#d7b6ff;border-radius:50%;box-shadow:0 0 0 4px rgba(185,145,240,.12)}
.pm-catalog__hero h2{margin:8px 0 5px;color:#fff;font-size:clamp(23px,2.9vw,31px);font-weight:900;letter-spacing:-.025em;line-height:1.32}
.pm-catalog__hero h2 span{color:#d3b6ff}
.pm-catalog__hero p{margin:0;color:#c8c1d4;font-size:13px;font-weight:500;line-height:1.65}
.pm-catalog__metrics{position:relative;z-index:1;display:flex;align-items:center;gap:0;flex-shrink:0;padding:9px 4px;border:1px solid rgba(224,207,247,.22);border-radius:14px;background:rgba(255,255,255,.065)}
.pm-catalog__metrics>div{display:flex;flex-direction:column;gap:0;align-items:center;justify-content:center;min-width:89px;padding:2px 13px}
.pm-catalog__metrics>div+div{border-left:1px solid rgba(223,210,243,.2)}
.pm-catalog__metrics strong{color:#fff;font-size:25px;font-weight:900;line-height:1.2;letter-spacing:-.025em;font-variant-numeric:tabular-nums}
.pm-catalog__metrics span{color:#cfc4dd;font-size:11px;font-weight:650;white-space:nowrap}
.pm-catalog__main{padding:24px clamp(18px,3vw,32px) 25px}
/* Search and deep links */
.pm-catalog__tools{display:flex;align-items:stretch;gap:10px}
.pm-catalog__search{display:flex;align-items:center;gap:12px;flex:1;min-width:0;height:50px;padding:0 16px;color:#8672a5;border:1px solid #dcd5e8;border-radius:12px;background:#faf9fd;transition:background .2s,border-color .2s,box-shadow .2s}
.pm-catalog__search:focus-within{border-color:#9877de;background:#fff;box-shadow:0 0 0 3px rgba(121,83,197,.12)}
.pm-catalog__search svg{flex:none;width:19px;height:19px}
.pm-catalog__search input{width:100%;min-width:0;flex:1;margin:0;padding:0!important;border:none!important;border-radius:0!important;outline:none!important;box-shadow:none!important;background:transparent!important;color:#332a46;font-family:inherit;font-size:13px;font-weight:620;letter-spacing:0;line-height:1.5}
.pm-catalog__search input::placeholder{color:#9a91a7;opacity:1;font-weight:500}
.pm-catalog__search input::-webkit-search-cancel-button{cursor:pointer}
.pm-catalog__search kbd{flex:none;padding:2px 6px;border:1px solid #e5dfed;border-radius:5px;background:#fff;color:#9a8da9;font-family:inherit;font-weight:800;font-size:11px;line-height:1.25}
.pm-catalog__clear{padding:0 15px;border:1px solid #eadcf6;border-radius:11px;background:#f7f2fe;color:#65459c;cursor:pointer;font-family:inherit;font-size:12px;font-weight:800;white-space:nowrap}
.pm-catalog__clear:hover{background:#eee4fc}
.pm-catalog__clear span{font-size:17px;margin-left:3px}
.pm-catalog__popular{display:flex;align-items:center;gap:7px;min-width:0;margin:12px 0 22px;flex-wrap:wrap}
.pm-catalog__popular-label{margin-right:6px;color:#8d849c;font-size:11px;font-weight:800;white-space:nowrap}
.pm-catalog__popular a{display:inline-flex;align-items:center;justify-content:center;max-width:100%;padding:6px 10px;border:1px solid #ebe6f1;border-radius:7px;background:#f7f5fa;color:#665979!important;text-decoration:none!important;font-size:11px;font-weight:750;line-height:1.45;transition:background .18s,border-color .18s}
.pm-catalog__popular a:hover{border-color:#dacaf1;background:#efe8f9;color:#52357b!important}
.pm-catalog__small-label{display:block;color:#8873ad;font-size:9.5px;letter-spacing:.115em;font-weight:900;line-height:1.4}
.pm-catalog__section-heading{display:flex;align-items:end;justify-content:space-between;gap:12px;margin:0 0 12px}
.pm-catalog__section-heading h3{margin:2px 0 0;color:var(--pm-ink);font-size:16px;font-weight:880;line-height:1.5}
.pm-catalog__section-note{padding-bottom:2px;color:#8b8297;font-size:11px;font-weight:630;text-align:right}
/* Compact directory index: 16 items / 4 columns */
.pm-catalog__categories{display:none;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.pm-catalog.is-ready .pm-catalog__categories{display:grid}
.pm-catalog__category{position:relative;display:flex;align-items:center;gap:10px;min-width:0;min-height:62px;margin:0;padding:10px 11px;border:1px solid #e9e5ee;border-radius:10px;background:#fff;color:var(--pm-ink);font-family:inherit;text-align:left;cursor:pointer;transition:border-color .18s,background .18s,box-shadow .18s,transform .18s}
.pm-catalog__category:hover{border-color:#bba4ea;background:#faf7ff;transform:translateY(-1px)}
.pm-catalog__category[aria-pressed="true"]{border-color:#9d7ada;background:linear-gradient(117deg,#f2eaff,#fbf9ff);box-shadow:inset 0 0 0 1px rgba(145,105,216,.18),0 3px 10px rgba(104,62,168,.06)}
.pm-catalog__category[aria-pressed="true"]::before{content:"";position:absolute;left:0;top:12px;bottom:12px;width:3px;border-radius:0 5px 5px 0;background:#865bd4}
.pm-catalog__category-no{display:grid;place-items:center;flex:none;width:29px;height:29px;border:1px solid #eeeaf4;border-radius:8px;background:#f7f5fa;color:#9a8faa;font-size:10px;font-weight:900;line-height:1;font-variant-numeric:tabular-nums}
.pm-catalog__category[aria-pressed="true"] .pm-catalog__category-no{border-color:#dfcef7;background:#e7d8fb;color:#623f9a}
.pm-catalog__category-label{display:-webkit-box;flex:1;min-width:0;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2;color:#40364f;font-size:12px;font-weight:800;line-height:1.38;word-break:normal;overflow-wrap:anywhere}
.pm-catalog__category[aria-pressed="true"] .pm-catalog__category-label{color:#4f2f80}
.pm-catalog__category-count{display:inline-flex;align-items:center;justify-content:center;flex:none;min-width:24px;padding:3px 5px;border-radius:6px;background:#f3f0f7;color:#847493;font-size:10px;font-weight:850;line-height:1.25;font-variant-numeric:tabular-nums}
.pm-catalog__category[aria-pressed="true"] .pm-catalog__category-count{background:#deccf8;color:#62389a}
.pm-catalog__categories-more{display:none}
/* Only one category detail is visible after progressive enhancement. */
.pm-catalog__results{min-width:0;margin-top:20px;border:1px solid #eae5f0;border-radius:14px;background:#fbfafe;overflow:hidden}
.pm-catalog__result-heading{display:none;justify-content:space-between;align-items:center;gap:12px;padding:15px 17px;border-bottom:1px solid #ece8f2;background:linear-gradient(110deg,#f6f2fd,#fbfaff 70%)}
.pm-catalog.is-ready .pm-catalog__result-heading{display:flex}
.pm-catalog__result-heading h3{margin:3px 0 0;color:#322744;font-size:16px;font-weight:900;line-height:1.45;overflow-wrap:anywhere}
.pm-catalog__result-count{flex-shrink:0;padding:5px 10px;border:1px solid #e8ddf3;border-radius:7px;background:#fff;color:#7754a9;font-size:11px;font-weight:850;white-space:nowrap;font-variant-numeric:tabular-nums}
.pm-catalog__panels{padding:9px 14px 5px}
.pm-catalog__panel{min-width:0;max-width:100%;margin:0;border:0;background:transparent}
.pm-catalog__fallback-title{display:flex;justify-content:space-between;gap:10px;align-items:center;padding:12px;border-top:1px solid #ebe6f1;list-style:none;color:#48385c;font-size:13px;font-weight:900;cursor:pointer}
.pm-catalog__fallback-title span{color:#7c6599;font-size:11px;font-weight:700;white-space:nowrap}
.pm-catalog__fallback-title::-webkit-details-marker{display:none}
.pm-catalog__panel:first-child .pm-catalog__fallback-title{border-top:none}
.pm-catalog.is-ready .pm-catalog__fallback-title{display:none}
.pm-catalog.is-searching .pm-catalog__fallback-title{display:flex;padding:8px 6px 6px;border:0;cursor:default;font-size:12px}
.pm-catalog.is-searching .pm-catalog__fallback-title span{color:#ad9bbb}
.pm-catalog.is-searching .pm-catalog__panel+.pm-catalog__panel{margin-top:10px;border-top:1px solid #e8e0f0;padding-top:8px}
.pm-catalog__links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;align-content:start;padding:0 0 5px}
.pm-catalog__links a{display:flex;align-items:center;justify-content:space-between;gap:8px;min-width:0;min-height:38px;padding:8px 10px;border:1px solid #ebe7f0;border-radius:8px;background:#fff;color:#5b526a!important;font-size:11.75px;font-weight:680;line-height:1.48;text-decoration:none!important;overflow-wrap:anywhere;word-break:normal;transition:background .15s,border-color .15s,color .15s}
.pm-catalog__links a::after{content:"↗";flex:none;color:#aa9bbf;font-size:13px;font-weight:600;transition:transform .15s,color .15s}
.pm-catalog__links a:hover{border-color:#d5c1ef;background:#f4eefc;color:#563288!important}
.pm-catalog__links a:hover::after{color:#7755b5;transform:translate(1px,-1px)}
.pm-catalog__results-foot{display:none;align-items:center;justify-content:space-between;gap:10px;min-height:49px;margin:5px 14px 0;padding:8px 1px 11px;border-top:1px solid #ebe7f0}
.pm-catalog.is-ready .pm-catalog__results-foot{display:flex}
.pm-catalog__results-foot>span{color:#8a8097;font-size:11px;font-weight:630}
.pm-catalog__show-more{margin-left:auto;padding:7px 13px;border:1px solid #dac8ed;border-radius:8px;background:#fff;color:#654194;font-family:inherit;font-size:11.5px;font-weight:850;line-height:1.5;cursor:pointer;white-space:nowrap;transition:background .16s}
.pm-catalog__show-more:hover{background:#eee5fa}
.pm-catalog__show-more>span{display:inline-block;margin-left:5px;font-size:14px;line-height:1}
.pm-catalog__empty{margin:8px 14px 12px;padding:20px 12px;text-align:center;color:#77668e;font-size:13px;border:1px dashed #d9c9e8;border-radius:10px;background:#fff}
.pm-catalog__bottom{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-top:16px;padding:12px 16px;border:1px solid #ebe5f1;border-radius:11px;background:#f6f3fa}
.pm-catalog__bottom>div{display:flex;align-items:center;gap:10px;min-width:0}
.pm-catalog__bottom-mark{display:grid;place-items:center;flex:none;width:32px;height:32px;border:1px solid #e2d5f2;border-radius:9px;background:#eee5f9;color:#8259b5;font-size:17px}
.pm-catalog__bottom strong{display:block;color:#413253;font-size:12px;font-weight:880;line-height:1.45}
.pm-catalog__bottom small{display:block;color:#83768e;font-size:11px;font-weight:580;line-height:1.5}
.pm-catalog__bottom a{display:inline-flex;align-items:center;gap:6px;flex:none;padding:8px 13px;border-radius:8px;background:#35264e;color:#fff!important;font-size:11.5px;font-weight:850;text-decoration:none!important;line-height:1.5;white-space:nowrap;transition:background .15s}
.pm-catalog__bottom a:hover{background:#633f97}
.pm-catalog__bottom a span{font-size:14px}
.pm-catalog button:focus-visible,.pm-catalog a:focus-visible,.pm-catalog input:focus-visible,.pm-catalog summary:focus-visible{outline:3px solid #aa78e5!important;outline-offset:2px}
/* Without JS the 16 <details> remain operational, and every source URL remains server-rendered. */
.pm-catalog:not(.is-ready) .pm-catalog__browse,.pm-catalog:not(.is-ready) .pm-catalog__tools{display:none}
.pm-catalog:not(.is-ready) .pm-catalog__results{margin-top:8px}
.pm-catalog:not(.is-ready) .pm-catalog__popular{margin:0 0 12px}
.pm-catalog:not(.is-ready) .pm-catalog__panels{padding:5px 16px}
@media(max-width:1040px){
  .pm-catalog__categories{grid-template-columns:repeat(3,minmax(0,1fr))}
  .pm-catalog__category{min-height:62px}
}
@media(max-width:760px){
  .pm-catalog{padding:30px 12px 40px}
  .pm-catalog__shell{border-radius:19px}
  .pm-catalog__hero{gap:16px;flex-wrap:wrap;padding:23px 20px}
  .pm-catalog__metrics{width:auto}
  .pm-catalog__metrics>div{min-width:78px;padding-inline:11px}
  .pm-catalog__metrics strong{font-size:20px}
  .pm-catalog__main{padding:19px 16px 18px}
  .pm-catalog__categories{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
  .pm-catalog__category{min-height:65px}
  .pm-catalog__links{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:640px){
  .pm-catalog{padding:24px 9px 32px}
  .pm-catalog__shell{border-radius:17px}
  .pm-catalog__hero{padding:18px 16px;gap:12px}
  .pm-catalog__hero h2{font-size:23px;line-height:1.35}
  .pm-catalog__hero p{font-size:11.5px}
  .pm-catalog__metrics{padding:5px 2px;border-radius:9px}
  .pm-catalog__metrics>div{min-width:75px;padding-inline:10px}
  .pm-catalog__metrics strong{font-size:19px}
  .pm-catalog__metrics span{font-size:10px}
  .pm-catalog__main{padding:16px 12px}
  .pm-catalog__tools{gap:6px}
  .pm-catalog__search{height:45px;padding:0 11px;gap:8px}
  .pm-catalog__search svg{width:17px;height:17px}
  .pm-catalog__search input{font-size:12px}
  .pm-catalog__search kbd{display:none}
  .pm-catalog__clear{padding:0 8px;font-size:11px}
  .pm-catalog__popular{flex-wrap:nowrap;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:none;white-space:nowrap;margin:9px -12px 18px;padding:0 12px 3px}
  .pm-catalog__popular::-webkit-scrollbar{display:none}
  .pm-catalog__popular a{flex:none;font-size:11px}
  .pm-catalog__popular-label{flex:none}
  .pm-catalog__section-heading{margin-bottom:9px}
  .pm-catalog__section-note{font-size:10px;max-width:115px}
  .pm-catalog__section-heading h3{font-size:15px}
  .pm-catalog__category{min-height:62px;gap:7px;padding:9px 7px}
  .pm-catalog__category-no{width:26px;height:26px;font-size:10px}
  .pm-catalog__category-label{font-size:11px;line-height:1.38}
  .pm-catalog__category-count{min-width:21px;padding:3px 4px;font-size:9px}
  .pm-catalog.is-ready:not(.show-all-categories) .pm-catalog__category:nth-child(n+7){display:none}
  .pm-catalog.is-ready .pm-catalog__categories-more{display:flex;width:100%;align-items:center;justify-content:center;gap:7px;margin-top:8px;padding:9px;border:1px dashed #d8c8ea;border-radius:9px;background:#fbf9fe;color:#6b499b;font-family:inherit;font-size:11.5px;font-weight:850;cursor:pointer}
  .pm-catalog__categories-more span{font-size:16px;line-height:1}
  .pm-catalog.show-all-categories .pm-catalog__categories-more span{transform:rotate(180deg)}
  .pm-catalog__results{margin-top:14px;border-radius:11px}
  .pm-catalog__result-heading{padding:12px 11px}
  .pm-catalog__result-heading h3{font-size:13.5px}
  .pm-catalog__result-count{font-size:10px;padding:5px 7px}
  .pm-catalog__panels{padding:8px 8px 3px}
  .pm-catalog__links{grid-template-columns:1fr;gap:6px}
  .pm-catalog__links a{min-height:36px;padding:8px 10px;font-size:11.7px}
  .pm-catalog__results-foot{margin-inline:9px;gap:6px}
  .pm-catalog__results-foot>span{font-size:10px}
  .pm-catalog__show-more{font-size:10.5px;padding:7px 9px}
  .pm-catalog__bottom{padding:11px;gap:10px;align-items:flex-start}
  .pm-catalog__bottom-mark{width:29px;height:29px}
  .pm-catalog__bottom a{padding:7px 9px;font-size:10.5px;align-self:center}
  .pm-catalog__bottom small{font-size:10.5px}
}
@media(max-width:365px){
  .pm-catalog__category{gap:5px}
  .pm-catalog__category-no{width:23px;height:23px}
  .pm-catalog__category-label{font-size:10.5px}
  .pm-catalog__category-count{padding:2px 3px}
  .pm-catalog__bottom{flex-wrap:wrap}
  .pm-catalog__bottom a{margin-left:auto}
}
@media(prefers-reduced-motion:reduce){.pm-catalog *{transition:none!important;scroll-behavior:auto!important}}
/* Keep WebP <picture> wrappers layout-identical to the unmodified source images. */
.heroImage>picture,.bannerCard>picture,.howImage>picture{display:block;width:100%;line-height:0}
.heroImage>picture>img,.bannerCard>picture>img,.howImage>picture>img{width:100%;height:auto}
/* While typing, prioritize search results and avoid a needless scroll past the category index. */
.pm-catalog.is-searching .pm-catalog__browse,.pm-catalog.is-searching .pm-catalog__popular{display:none}
.pm-catalog.is-searching .pm-catalog__results{margin-top:15px}
