/* v1.269 PARTNERS — "Partner with Smartrise", the application form and the
   partner directory. Brand tokens from style.css (teal #003841, orange #F69810).
   Everything is pp- prefixed (the homepage already has .partner-card for the
   manufacturers we carry). Mobile first; nothing wider than the screen. */

.pp-hero{ padding:150px 0 56px; }
.pp-hero h1{ margin-top:16px; font-size:clamp(1.9rem,4vw,3rem); line-height:1.12; color:var(--teal); max-width:780px; }
.pp-hero p.pp-lede{ margin-top:16px; color:var(--ink-soft); font-size:1.06rem; max-width:660px; }
.pp-ctas{ display:flex; flex-wrap:wrap; gap:12px; margin-top:26px; }
.pp-facts{ display:flex; flex-wrap:wrap; gap:10px 22px; margin-top:26px; font-size:.86rem; color:var(--ink-soft); }
.pp-facts b{ color:var(--teal); }

.pp-head{ max-width:640px; }
.pp-head h2{ margin-top:12px; color:var(--teal); }
.section--dark .pp-head h2{ color:#fff; }
.pp-head p{ margin-top:12px; color:var(--ink-soft); }
.section--dark .pp-head p{ color:var(--fog); }

.pp-grid{ display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr)); gap:16px; margin-top:32px; }
.pp-card{ background:#fff; border:1px solid var(--line-light); border-radius:14px; padding:22px; min-width:0; }
.pp-card h3{ font-size:1.05rem; color:var(--teal); margin:10px 0 6px; }
.pp-card p{ font-size:.92rem; color:var(--ink-soft); }
.pp-ico{ width:40px; height:40px; border-radius:10px; display:grid; place-items:center; background:var(--orange-tint); color:var(--orange-ink); }
.pp-ico svg{ width:22px; height:22px; }
.pp-brands{ display:flex; flex-wrap:wrap; gap:8px; margin-top:12px; align-items:center; }
.pp-brands span{ display:inline-flex; align-items:center; height:34px; padding:0 10px; border:1px solid var(--line-light); border-radius:8px; background:#fff; }
.pp-brands img{ height:18px; width:auto; }

/* three paths */
.pp-paths{ display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr)); gap:16px; margin-top:32px; }
.pp-path{ background:var(--teal-raised); border:1px solid var(--line-dark); border-radius:16px; padding:24px; min-width:0; display:flex; flex-direction:column; }
.pp-path h3{ color:#fff; font-size:1.2rem; }
.pp-path .pp-tag{ display:inline-block; margin-top:8px; font-size:.72rem; letter-spacing:.08em; text-transform:uppercase; color:var(--orange); font-family:ui-monospace,Consolas,monospace; }
.pp-path dl{ margin:16px 0 0; display:grid; gap:12px; }
.pp-path dt{ font-size:.72rem; text-transform:uppercase; letter-spacing:.08em; color:var(--fog); }
.pp-path dd{ margin:2px 0 0; color:var(--paper); font-size:.93rem; }
.pp-path .btn{ margin-top:auto; align-self:flex-start; }
.pp-path .pp-path-cta{ margin-top:20px; }
.pp-note{ margin-top:18px; font-size:.85rem; color:var(--fog); max-width:760px; }

/* timeline */
.pp-steps{ list-style:none; margin:32px 0 0; padding:0; counter-reset:pp; display:grid; gap:0; max-width:820px; }
.pp-step{ position:relative; padding:0 0 26px 58px; counter-increment:pp; }
.pp-step::before{ content:counter(pp); position:absolute; left:0; top:0; width:38px; height:38px; border-radius:50%; background:var(--teal); color:#fff; display:grid; place-items:center; font-weight:700; }
.pp-step::after{ content:''; position:absolute; left:18px; top:40px; bottom:2px; width:2px; background:var(--line-light); }
.pp-step:last-child::after{ display:none; }
.pp-step h3{ font-size:1.02rem; color:var(--teal); padding-top:7px; }
.pp-when{ display:inline-block; margin:4px 0 4px; font-size:.78rem; font-weight:600; color:var(--orange-ink); background:var(--orange-tint); border-radius:99px; padding:2px 10px; }
.pp-step p{ font-size:.92rem; color:var(--ink-soft); }
.pp-total{ margin-top:6px; font-weight:600; color:var(--teal); }

.pp-confidential{ display:flex; gap:16px; align-items:flex-start; background:#fff; border:1px solid var(--line-light); border-left:4px solid var(--teal); border-radius:12px; padding:20px; margin-top:28px; max-width:820px; }
.pp-confidential svg{ flex:none; width:28px; height:28px; color:var(--teal); }
.pp-confidential h3{ font-size:1rem; color:var(--teal); }
.pp-confidential p{ font-size:.92rem; color:var(--ink-soft); margin-top:4px; }

/* directory */
.pp-dir-country{ margin-top:28px; }
.pp-dir-country h3{ font-size:1rem; color:var(--teal); display:flex; align-items:center; gap:10px; }
.pp-dir-country h3 small{ font-weight:500; color:var(--ink-soft); }
.pp-dir-list{ display:grid; grid-template-columns:repeat(auto-fill,minmax(min(100%,260px),1fr)); gap:14px; margin-top:12px; }
.pp-dir{ background:#fff; border:1px solid var(--line-light); border-radius:12px; padding:18px; min-width:0; overflow-wrap:anywhere; }
.pp-dir-top{ display:flex; gap:12px; align-items:center; }
.pp-dir-top img{ width:48px; height:48px; object-fit:contain; border-radius:8px; border:1px solid var(--line-light); background:#fff; flex:none; }
.pp-dir h4{ font-size:1rem; color:var(--teal); }
.pp-badge{ display:inline-block; font-size:.7rem; font-weight:700; letter-spacing:.04em; text-transform:uppercase; padding:2px 8px; border-radius:99px; background:#E6F0F1; color:var(--teal); margin-top:4px; }
.pp-badge--tier{ background:var(--orange-tint); color:var(--orange-ink); margin-left:4px; }
.pp-dir p{ font-size:.88rem; color:var(--ink-soft); margin-top:10px; }
.pp-dir-links{ display:flex; flex-wrap:wrap; gap:6px 14px; margin-top:10px; font-size:.86rem; }
.pp-dir-links a{ color:var(--orange-ink); text-decoration:underline; text-underline-offset:2px; }
.pp-empty{ margin-top:24px; padding:22px; border:1px dashed var(--line-light); border-radius:12px; background:#fff; color:var(--ink-soft); max-width:640px; }

/* FAQ */
.pp-faq{ margin-top:24px; max-width:820px; }
.pp-faq details{ border-bottom:1px solid var(--line-light); padding:14px 0; }
.pp-faq summary{ cursor:pointer; font-weight:600; color:var(--teal); list-style:none; display:flex; justify-content:space-between; gap:12px; }
.pp-faq summary::-webkit-details-marker{ display:none; }
.pp-faq summary::after{ content:'+'; font-weight:400; color:var(--orange-ink); }
.pp-faq details[open] summary::after{ content:'–'; }
.pp-faq p{ margin-top:8px; color:var(--ink-soft); font-size:.94rem; }

/* ---------- application form ---------- */
.pa-wrap{ max-width:820px; }
.pa-progress{ display:flex; gap:6px; margin:22px 0 8px; padding:0; list-style:none; flex-wrap:wrap; }
.pa-progress li{ flex:1 1 0; min-width:44px; font-size:.72rem; color:var(--ink-soft); }
.pa-progress li::before{ content:''; display:block; height:5px; border-radius:99px; background:var(--line-light); margin-bottom:6px; }
.pa-progress li.is-done::before, .pa-progress li.is-on::before{ background:var(--orange); }
.pa-progress li.is-on{ color:var(--teal); font-weight:700; }
.pa-progress li span{ display:none; }
@media (min-width:640px){ .pa-progress li span{ display:inline; } }

.pa-form{ background:#fff; border:1px solid var(--line-light); border-radius:16px; padding:24px; margin-top:12px; }
@media (max-width:520px){ .pa-form{ padding:18px 14px; } }
.pa-step{ border:0; margin:0; padding:0; min-width:0; }
.pa-step + .pa-step{ margin-top:28px; padding-top:24px; border-top:1px solid var(--line-light); }
.pa-js .pa-step + .pa-step{ margin-top:0; padding-top:0; border-top:0; }
.pa-js .pa-step[hidden]{ display:none; }
.pa-step legend{ font-family:'Satoshi',sans-serif; font-size:1.25rem; font-weight:700; color:var(--teal); padding:0; margin-bottom:6px; }
.pa-step > p.pa-intro{ color:var(--ink-soft); font-size:.92rem; margin-bottom:16px; }
.pa-choice{ display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,210px),1fr)); gap:10px; margin:8px 0 18px; }
.pa-choice label{ position:relative; display:block; border:1.5px solid var(--line-light); border-radius:12px; padding:14px 14px 14px 44px; cursor:pointer; min-width:0; }
.pa-choice input{ position:absolute; left:14px; top:16px; width:18px; height:18px; accent-color:var(--orange); }
.pa-choice strong{ display:block; color:var(--teal); }
.pa-choice small{ display:block; color:var(--ink-soft); font-size:.82rem; margin-top:2px; }
.pa-choice label:has(input:checked){ border-color:var(--orange); background:#FFFaf2; }
.pa-row{ display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr)); gap:0 16px; }
.pa-form .field{ margin-bottom:14px; min-width:0; }
.pa-form .field input, .pa-form .field select, .pa-form .field textarea{ width:100%; max-width:100%; }
.pa-form .field textarea{ min-height:110px; }
.pa-form .field small{ display:block; font-size:.78rem; color:var(--ink-soft); margin-top:4px; }
.pa-req{ color:var(--orange-ink); }
.pa-phone{ display:grid; grid-template-columns:minmax(0,40%) minmax(0,1fr); gap:8px; }
.pa-sub{ font-size:1rem; color:var(--teal); margin:8px 0 10px; }
.pa-yn{ display:flex; flex-wrap:wrap; gap:8px 18px; margin-bottom:12px; font-size:.92rem; }
.pa-yn label{ display:inline-flex; gap:6px; align-items:center; }

.pa-docs{ display:grid; gap:10px; }
.pa-doc{ border:1px solid var(--line-light); border-radius:12px; padding:12px 14px; min-width:0; }
.pa-doc-head{ display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; gap:8px; }
.pa-doc-head strong{ color:var(--teal); font-size:.95rem; }
.pa-doc input[type=file]{ max-width:100%; font-size:.85rem; margin-top:8px; }
.pa-files{ list-style:none; margin:8px 0 0; padding:0; display:grid; gap:6px; }
.pa-file{ display:grid; grid-template-columns:1fr auto; gap:4px 10px; align-items:center; font-size:.85rem; background:var(--paper); border-radius:8px; padding:8px 10px; min-width:0; }
.pa-file-name{ overflow:hidden; text-overflow:ellipsis; white-space:nowrap; min-width:0; }
.pa-file button{ border:0; background:none; color:#a2281c; font-size:.8rem; text-decoration:underline; padding:0; }
.pa-bar{ grid-column:1 / -1; height:6px; border-radius:99px; background:#e8eef0; overflow:hidden; }
.pa-bar i{ display:block; height:100%; width:0; background:var(--orange); transition:width .2s; }
.pa-file.is-done .pa-bar{ display:none; }
.pa-file.is-err{ background:#fdecea; color:#a2281c; }
.pa-limits{ font-size:.8rem; color:var(--ink-soft); margin:4px 0 12px; }

.pa-consent{ display:flex; gap:10px; align-items:flex-start; font-size:.92rem; margin-bottom:12px; }
.pa-consent input{ margin-top:4px; width:18px; height:18px; flex:none; accent-color:var(--orange); }
.pa-nav{ display:flex; justify-content:space-between; gap:10px; margin-top:20px; flex-wrap:wrap; }
.pa-nav .btn{ justify-content:center; }
.no-js-only{ }
.pa-js .no-js-only{ display:none; }
.pa-errors{ background:#fdecea; color:#a2281c; border-radius:10px; padding:12px 16px; margin:16px 0 0; font-size:.9rem; }
.pa-errors li{ list-style:disc; margin-left:18px; }
.pa-done{ background:#fff; border:1px solid var(--line-light); border-radius:16px; padding:28px; margin-top:20px; }
.pa-ref{ display:inline-block; font-family:ui-monospace,Consolas,monospace; font-size:1.3rem; font-weight:700; color:var(--teal); background:var(--orange-tint); border-radius:10px; padding:6px 14px; margin:10px 0; overflow-wrap:anywhere; }
.pa-hp{ position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden; }
