/* Partner directory and management additions */
.partner-listing-detail,.partner-listing-meta,.partner-social-links,.partner-expiry-line,.partner-listing-edit-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;min-width:0;overflow-wrap:anywhere}
.partner-listing-detail{margin-top:12px;color:var(--ink-soft,#5c6b62);font-size:13px;line-height:1.55}
.partner-listing-meta{margin-top:10px;color:var(--ink-soft,#5c6b62);font-size:12px}
.partner-social-links{margin-top:11px}
.partner-social-links a,.partner-listing-link,.partner-portfolio-button{display:inline-flex;align-items:center;min-height:38px;max-width:100%;overflow-wrap:anywhere;padding:6px 10px;border:1px solid var(--line,#dfe6de);border-radius:8px;color:var(--green-deep,#386b45);font-size:12px;font-weight:700;text-decoration:none;background:transparent}
.partner-listing-expired{color:#93452f;font-weight:750}
.partner-listing-admin-note{margin:8px 0 0;padding:8px 10px;border-radius:8px;background:#fff6e7;color:#795e2e;font-size:12px}
.partner-admin-settings{margin:12px 0 18px;padding:15px;border:1px solid var(--line,#e3e9e2);border-radius:12px;background:var(--panel,#fff)}
.partner-admin-settings h3{margin:0 0 5px;font-size:15px}
.partner-admin-settings p,.partner-admin-settings small{display:block;margin:4px 0;color:var(--ink-soft,#5c6b62);font-size:12px;line-height:1.5}
.partner-admin-settings form{display:flex;align-items:flex-end;gap:10px;flex-wrap:wrap;margin-top:10px}
.partner-admin-settings label{display:grid;gap:5px;flex:1 1 260px;color:var(--ink,#344638);font-size:12px;font-weight:700}
.partner-admin-settings input,.partner-listing-form input,.partner-listing-form select,.partner-listing-form textarea{width:100%;min-width:0;min-height:40px;border:1px solid var(--line,#dfe6de);border-radius:8px;background:var(--panel,#fff);padding:8px 10px;color:var(--ink,#344638);font:inherit}
.partner-listing-form textarea{resize:vertical}
.partner-listing-form label{min-width:0}
.partner-listing-admin-fields{grid-column:1/-1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:12px}
.partner-listing-admin-fields .partner-field-wide{grid-column:1/-1}
.partner-listing-expiry-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.partner-listing-admin-fields small{display:block;margin-top:4px;color:var(--ink-soft,#5c6b62);font-size:12px;line-height:1.5}
.partner-listing-edit-actions{grid-column:1/-1}
.partner-listing-edit-actions button{min-height:38px}
.partner-inquiry-fallback{margin-top:10px;padding:12px;border:1px solid var(--line,#dfe6de);border-radius:10px;background:var(--panel,#fff);color:var(--ink,#344638);font-size:13px}
.partner-inquiry-fallback p{margin:0 0 8px}
.partner-inquiry-note{font-size:12px;line-height:1.6;color:var(--ink-soft,#5c6b62)}
.partner-portfolio-dialog{width:min(980px,calc(100vw - 24px));height:min(88vh,850px);max-width:none;max-height:90vh;padding:0;border:1px solid var(--line,#dfe6de);border-radius:14px;background:var(--panel,#fff);color:var(--ink,#344638)}
.partner-portfolio-dialog::backdrop{background:rgba(12,22,16,.72)}
.partner-portfolio-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;border-bottom:1px solid var(--line,#dfe6de)}
.partner-portfolio-head h2{margin:0;font-size:15px;overflow-wrap:anywhere}
.partner-portfolio-dialog iframe{display:block;width:100%;height:calc(100% - 58px);border:0;background:#fff}
.partner-admin-payment-note{color:#715e39;font-size:12px;white-space:pre-wrap}
@media(max-width:700px){.partner-listing-admin-fields,.partner-listing-expiry-fields{grid-template-columns:minmax(0,1fr)}.partner-listing-admin-fields .partner-field-wide,.partner-listing-edit-actions{grid-column:auto}.partner-admin-settings form{align-items:stretch}.partner-admin-settings form>.button{width:100%}.partner-portfolio-dialog{height:90vh}.partner-inquiry-fallback{font-size:12px}}
html[data-theme="dark"] .partner-admin-settings,html[data-theme="dark"] .partner-inquiry-fallback{background:#1b2520;border-color:#35443b;color:#d5e0d8}
html[data-theme="dark"] .partner-admin-settings label,html[data-theme="dark"] .partner-listing-form label{color:#d5e0d8}
html[data-theme="dark"] .partner-listing-expired{color:#f0a18d}
html[data-theme="dark"] .partner-listing-admin-note{background:#3c3522;color:#ead9a4}
html[data-theme="dark"] :is(.partner-social-links a,.partner-listing-link,.partner-portfolio-button){color:#c2dfb7;border-color:#56745f}
html[data-theme="dark"] .partner-admin-payment-note{color:#e2d1a4}


/* Promotional hero for the public partner directory. */
.partner-promo{position:relative;isolation:isolate;display:grid;grid-template-columns:minmax(0,1.08fr) minmax(270px,.92fr);gap:20px;min-height:278px;overflow:hidden;margin:0 0 18px;padding:28px clamp(22px,4vw,48px);border:1px solid rgba(255,255,255,.12);border-radius:20px;background:linear-gradient(120deg,#163e31 0%,#1b4938 57%,#286148 100%);color:#fff;box-shadow:0 20px 48px rgba(28,64,47,.14)}
.partner-promo:before{position:absolute;z-index:-1;inset:0;content:"";background:radial-gradient(circle at 76% 8%,rgba(192,223,145,.16),transparent 30%),radial-gradient(circle at 10% 110%,rgba(141,189,130,.13),transparent 42%)}
.partner-promo-content{position:relative;z-index:1;align-self:center;max-width:640px;min-width:0}
.partner-promo-pill{display:inline-flex;align-items:center;gap:9px;padding:7px 11px;border:1px solid rgba(221,237,212,.23);border-radius:99px;color:#d2e4c8;font-size:12px;font-weight:800;letter-spacing:.9px}
.partner-promo-pill i{width:7px;height:7px;border-radius:50%;background:#c3e66b;box-shadow:0 0 0 4px rgba(195,230,107,.12)}
.partner-promo h2{max-width:650px;margin:15px 0 11px;color:#fff;font-size:clamp(27px,3.2vw,39px);line-height:1.08;letter-spacing:-1.1px}
.partner-promo h2 em{color:#d4ed88;font-style:normal}
.partner-promo-content>p{max-width:590px;margin:0;color:rgba(243,248,242,.8);font-size:14px;line-height:1.65}
.partner-promo-cta{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:43px;margin-top:19px;padding:0 16px;border:1px solid #d4ed88;border-radius:9px;background:#d4ed88;color:#1d3b2b;font:inherit;font-size:13px;font-weight:800;transition:background .18s,transform .18s}
.partner-promo-cta:hover{transform:translateY(-1px);background:#e1f3a8}
.partner-promo-trust{display:flex;align-items:center;gap:8px;margin-top:16px;color:#c7d8cc;font-size:12px;line-height:1.45}
.partner-promo-trust>span{display:grid;width:18px;height:18px;flex:none;place-items:center;border-radius:50%;background:rgba(211,238,128,.16);color:#d4ed88;font-weight:850}
.partner-promo-art{position:relative;display:grid;place-items:center;min-width:0;min-height:220px;padding:12px}
.partner-promo-orbit{position:absolute;inset:5% 3%;opacity:.4;background-image:linear-gradient(rgba(237,246,233,.13) 1px,transparent 1px),linear-gradient(90deg,rgba(237,246,233,.13) 1px,transparent 1px);background-size:26px 26px;mask-image:radial-gradient(ellipse at center,#000 22%,transparent 76%)}
.partner-promo-showcase{position:relative;width:min(100%,360px);padding:17px 18px 13px;border:1px solid rgba(255,255,255,.62);border-radius:16px;background:linear-gradient(155deg,rgba(255,255,255,.98),rgba(246,249,240,.96));color:#304236;box-shadow:0 22px 42px rgba(4,28,17,.25);transform:rotate(1.2deg)}
.partner-promo-showcase-head{display:flex;align-items:center;justify-content:space-between;gap:8px;padding-bottom:12px;border-bottom:1px solid #e7ece4;color:#879287;font-size:12px;font-weight:800;letter-spacing:.65px}
.partner-promo-showcase-head b{padding:5px 7px;border-radius:6px;background:#edf5e5;color:#52704a;font-size:12px;letter-spacing:.2px}
.partner-promo-service{display:flex;align-items:center;gap:10px;padding:11px 0;border-bottom:1px solid #edf0eb}
.partner-promo-service-icon{display:grid;width:35px;height:35px;flex:none;place-items:center;border-radius:10px;background:#e3f5e8;color:#20573b;font-size:14px;font-weight:850}
.partner-promo-service-icon-alt{background:#e8edff;color:#334d92}
.partner-promo-service>span:nth-child(2){display:grid;gap:3px;min-width:0}
.partner-promo-service small{color:#89958a;font-size:12px;font-weight:800;letter-spacing:.5px}
.partner-promo-service strong{overflow:hidden;color:#344638;font-size:13px;text-overflow:ellipsis;white-space:nowrap}
.partner-promo-service>i{display:grid;width:21px;height:21px;flex:none;place-items:center;margin-left:auto;border-radius:50%;background:#edf5e7;color:#4c794b;font-size:12px;font-style:normal;font-weight:850}
.partner-promo-showcase-foot{display:flex;align-items:center;gap:8px;margin-top:11px;color:#6d7c70;font-size:12px;line-height:1.35}
.partner-promo-showcase-foot>span{width:7px;height:7px;flex:none;border-radius:50%;background:#89b96f;box-shadow:0 0 0 3px #edf5e7}
#partnerDirectoryGrid{scroll-margin-top:84px}
@media(max-width:960px){.partner-promo{grid-template-columns:minmax(0,1fr) minmax(250px,.85fr);gap:10px;padding-left:28px;padding-right:24px}.partner-promo h2{font-size:clamp(26px,3.8vw,34px)}}
@media(max-width:760px){.partner-promo{grid-template-columns:minmax(0,1fr);gap:8px;min-height:0;margin-bottom:14px;padding:22px 19px 18px;border-radius:17px}.partner-promo h2{max-width:540px;margin:13px 0 9px;font-size:clamp(27px,7.2vw,35px);letter-spacing:-.8px}.partner-promo-content>p{font-size:13px}.partner-promo-cta{width:100%;min-height:42px;margin-top:15px}.partner-promo-trust{margin-top:12px}.partner-promo-art{min-height:180px;padding:9px 3px 1px}.partner-promo-showcase{width:min(100%,390px);padding:14px 15px 11px}.partner-promo-showcase-head{padding-bottom:9px}.partner-promo-service{padding:9px 0}.partner-promo-service-icon{width:32px;height:32px}.partner-promo-showcase-foot{margin-top:9px}}
@media(max-width:390px){.partner-promo{padding-right:15px;padding-left:15px}.partner-promo-pill{font-size:12px;letter-spacing:.45px}.partner-promo-showcase-head{align-items:flex-start;flex-direction:column;gap:6px}}

@media(max-width:760px){.partner-promo-art{display:none}}
