/* pnew-affpromo.css — generated by tools/build_css.sh, do not edit (the promo section of /partners/ only) */
/* src-css/affpromo/promo.css → app/assets/css/pnew-affpromo.css (tools/build_css.sh): the "Promo material" section of the
   partner page (templates/partials/aff_promo.php, lib/affiliate_promo.php). Loaded only by the page that renders it
   (pnew_head_css_add), so the guest bundles stay as they are. Sleek: tonal panels with the 1 px grey-50 % line, no pink key
   here (the page's one pink key is the sign-up), compact controls (34 desktop / 40-44 phone), sentence case. Role tokens
   only (the light theme follows). */

.pn-ap{padding:56px 0 72px;border-top:1px solid var(--line);color:var(--ink)}
.pn-ap__head{max-width:760px}
.pn-ap__h{margin:0;font:700 var(--fs-m)/var(--lh-head) var(--font-display);letter-spacing:var(--tr-h);color:var(--ink);scroll-margin-top:calc(var(--sticky-top) + 12px)}
.pn-ap__lede{margin:12px 0 0;max-width:var(--measure-lede);font:500 16px/1.5 var(--font-sans);color:var(--ink-2)}
.pn-ap__track p{margin:12px 0 0;max-width:680px;font:500 14px/1.55 var(--font-sans);color:var(--ink-2)}
.pn-ap__track code{font:600 13px/1.4 ui-monospace,SFMono-Regular,Menlo,monospace;color:var(--ink);background:var(--sunken);border:1px solid var(--line);border-radius:var(--r-label);padding:1px 5px;overflow-wrap:anywhere}

/* filters: three rows of segmented links, label left on desktop, above on the phone */
.pn-ap__filters{display:grid;gap:10px;margin:28px 0 24px;padding:16px;border:1px solid var(--line);border-radius:var(--r-box);background:var(--surface)}
.pn-ap__frow{display:grid;grid-template-columns:110px minmax(0,1fr);align-items:center;gap:8px 16px}
.pn-ap__flabel{font:600 13px/1.2 var(--font-label);color:var(--ink-2)}
.pn-ap__seg{gap:6px}
.pn-ap__seg > a{min-height:var(--control-sm);background:var(--t-tint);border-color:transparent;color:var(--ink-2)}
.pn-ap__seg > a:hover{background:var(--sunken);color:var(--ink)}
.pn-ap__seg > a[aria-current]{background:var(--btn-ink);border-color:transparent;color:var(--on-btn-ink)}
.pn-ap__seg > a[aria-current]::before{content:"";flex:none;width:6px;height:6px;border-radius:50%;background:var(--pink)}

/* cards */
.pn-ap__grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}
.pn-ap__card{display:flex;flex-direction:column;min-width:0;border:1px solid var(--line);border-radius:var(--r-pcard);background:var(--surface);overflow:hidden}
.pn-ap__thumb{display:grid;place-items:center;height:240px;padding:16px;background:var(--sunken);border-bottom:0}
.pn-ap__thumb img{display:block;max-width:100%;max-height:208px;width:auto;height:auto;object-fit:contain}
.pn-ap__card.is-short .pn-ap__thumb{height:150px}
.pn-ap__card.is-short .pn-ap__thumb img{max-height:118px}
.pn-ap__card.is-wide{grid-column:span 2}
.pn-ap__meta{padding:12px 14px 0;display:grid;gap:2px}
.pn-ap__size{margin:0;display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 8px;font:500 13px/1.3 var(--font-sans);color:var(--ink-2)}
.pn-ap__size b{font:700 15px/1.2 var(--font-sans);font-variant-numeric:tabular-nums;color:var(--ink)}
.pn-ap__file{margin:0;font:500 12px/1.3 var(--font-sans);font-variant-numeric:tabular-nums;color:var(--ink-3)}
.pn-ap__acts{display:flex;flex-wrap:wrap;gap:8px;margin-top:auto;padding:12px 14px 14px}
.pn-ap__acts .pc-btn{flex:1 1 auto}
.pn-ap__copy.is-done{background:var(--surface-2)}

/* text sets */
.pn-ap__texts{display:grid;gap:28px}
.pn-ap__th{margin:0 0 10px;font:700 var(--fs-subhead)/var(--lh-sub) var(--font-display);color:var(--ink)}
.pn-ap__tlist{list-style:none;margin:0;padding:0;border:1px solid var(--line);border-radius:var(--r-box);background:var(--surface);overflow:hidden}
.pn-ap__tline{display:flex;align-items:center;gap:16px;padding:12px 14px}
.pn-ap__tline + .pn-ap__tline{border-top:1px solid var(--line)}
.pn-ap__ttext{flex:1 1 auto;min-width:0;margin:0;font:500 15px/1.45 var(--font-sans);color:var(--ink)}
.pn-ap__ttext b{display:block;font-weight:700}
.pn-ap__ttext span{display:block;color:var(--ink-2)}
.pn-ap__tline .pc-btn{flex:none}

.pn-ap__note,.pn-ap__empty{margin:20px 0 0;max-width:680px;font:500 13px/1.5 var(--font-sans);color:var(--ink-2)}
.pn-ap__note + .pn-ap__grid{margin-top:16px}

@media (max-width:700px){
  .pn-ap{padding:40px 0 48px}
  .pn-ap__filters{padding:12px;margin:20px 0 16px}
  .pn-ap__frow{grid-template-columns:minmax(0,1fr)}
  .pn-ap__seg > a{min-height:44px;padding:10px 14px}
  .pn-ap__grid{grid-template-columns:minmax(0,1fr);gap:12px}
  .pn-ap__card.is-wide{grid-column:auto}
  .pn-ap__thumb,.pn-ap__card.is-short .pn-ap__thumb{height:auto;min-height:96px;padding:12px}
  .pn-ap__thumb img,.pn-ap__card.is-short .pn-ap__thumb img{max-height:300px}
  .pn-ap__acts .pc-btn,.pn-ap__tline .pc-btn{min-height:44px}
  .pn-ap__tline{flex-direction:column;align-items:stretch;gap:10px}
}
