/* ==========================================================================
   Member platform skin
   Re-dresses the PPG Members screens and forms (reservations, cancelation,
   presenter + Host Partner requests, login, dashboard, profiles, directory,
   Opportunity Board, check-in) in the site's black / white / yellow look.
   Styling only: no markup or behavior changes.
   ========================================================================== */

/* Brand variables for the member area and public profiles */
body .ppg-dash,
body .ppg-profile{
  --ppg-primary:#0A0B0D;
  --ppg-accent:#F4EC32;
  --ppg-bg:#F5F5F3;
  --ppg-card:#FFFFFF;
  --ppg-text:#1A1B1E;
  --ppg-muted:#55575C;
  --ppg-line:#E4E4E1;
  --ppg-radius:22px;
  --ppg-head:'Instrument Serif',Georgia,serif;
  --ppg-body:'Instrument Sans',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;
}
body .ppg-dash h1,body .ppg-dash h2,body .ppg-dash h3,
body .ppg-profile h1,body .ppg-profile h2,body .ppg-profile h3{font-weight:400;letter-spacing:-.015em}
body .ppg-dash h1{font-size:clamp(2.4rem,5vw,3.6rem);line-height:1.04}
body .ppg-dash h2{font-size:clamp(1.7rem,3vw,2.2rem);line-height:1.1}
body .ppg-dash .ppg-eyebrow,body .ppg-profile .ppg-eyebrow{color:var(--ppg-muted)}
body .ppg-dash{max-width:1100px}
body .ppg-dash .ppg-panel{box-shadow:none}
body .ppg-dash .ppg-btn-primary,body .ppg-profile .ppg-btn-primary{background:var(--ppg-primary);color:#fff}
body .ppg-dash .ppg-btn-primary:hover,body .ppg-profile .ppg-btn-primary:hover{filter:none;opacity:.9}
body .ppg-dash a:not(.ppg-btn){text-decoration-color:var(--ppg-accent);text-decoration-thickness:2px;text-underline-offset:3px}

/* Member menu: white pill with a black current tab */
body .ppg-dash .ppg-member-nav{background:#fff;border:1px solid var(--ppg-line);padding:6px}
body .ppg-dash .ppg-member-nav a{color:var(--ppg-text);opacity:1;text-decoration:none}
body .ppg-dash .ppg-member-nav a:hover{background:var(--ppg-bg)}
body .ppg-dash .ppg-member-nav a.is-current{background:var(--ppg-primary);color:#fff}
body .ppg-dash .ppg-member-nav .ppg-member-nav-out{color:var(--ppg-muted)}

/* Login */
body .ppg-login-wrap{padding-top:24px}
body .ppg-dash .ppg-login{max-width:520px;margin:0 auto;padding:40px}
body .ppg-dash #ppg-loginform label{font-weight:600;font-size:14px}
body .ppg-dash #ppg-loginform input[type=text],body .ppg-dash #ppg-loginform input[type=password]{width:100%;min-height:54px;border:1px solid #D6D6D3;border-radius:14px;padding:12px 16px;font-size:16px}
body .ppg-dash #ppg-loginform input[type=text]:focus,body .ppg-dash #ppg-loginform input[type=password]:focus{outline:none;border-color:#0A0B0D;box-shadow:0 0 0 4px rgba(244,236,50,.55)}
body .ppg-dash #ppg-loginform .button-primary,body .ppg-dash #ppg-loginform input[type=submit]{width:100%;min-height:56px;border:0;border-radius:999px;background:#0A0B0D;color:#fff;font-weight:600;font-size:16px;cursor:pointer}

/* Public profile hero: black with a yellow glow */
body .ppg-profile{background:#F5F5F3}
body .ppg-profile .ppg-hero{background:#0A0B0D}
body .ppg-profile .ppg-hero::after{background:transparent;border:2px solid var(--ppg-accent);opacity:.45}
body .ppg-profile .ppg-hero .ppg-btn-primary,
body .ppg-profile .ppg-cta .ppg-btn-primary{background:var(--ppg-accent);color:#0A0B0D}
body .ppg-profile .ppg-cta .ppg-eyebrow{color:#A9ABAF}
body .ppg-profile .ppg-crumb a{color:#0A0B0D}

/* Check-in, board: keep their layouts, adopt the type */
body .ppg-dash.ppg-checkin h1{font-size:clamp(2rem,4vw,2.8rem)}

/* --------------------------------------------------------------------
   PPG Fridays forms: Reserve, Cancel, Presenter request, Host Partner.
   The forms print their own scoped styles; these rules are more specific,
   so they win without touching the forms themselves.
   -------------------------------------------------------------------- */
body :is(#ppg-rsv-form,#ppg-rsv-cancel-form,#ppg-pa-form,#ppg-ho-form){
  --ppg-accent:#0A0B0D;
  --ppg-accent-hover:#26272B;
  --ppg-border:#D6D6D3;
  --ppg-text:#0A0B0D;
  --ppg-muted:#55575C;
  --ppg-error:#B3261E;
  --ppg-radius:14px;
  max-width:none;
  font-family:'Instrument Sans',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;
  font-size:16px;
}
body :is(#ppg-rsv-form,#ppg-rsv-cancel-form,#ppg-pa-form,#ppg-ho-form) label,
body :is(#ppg-rsv-form,#ppg-rsv-cancel-form,#ppg-pa-form,#ppg-ho-form) legend{font-size:14px;font-weight:600;letter-spacing:0;margin-bottom:8px;color:#0A0B0D}
body :is(#ppg-rsv-form,#ppg-rsv-cancel-form,#ppg-pa-form,#ppg-ho-form) .ppg-req{color:#0A0B0D}
body :is(#ppg-rsv-form,#ppg-rsv-cancel-form,#ppg-pa-form,#ppg-ho-form) .ppg-row{margin-bottom:20px}
body :is(#ppg-rsv-form,#ppg-rsv-cancel-form,#ppg-pa-form,#ppg-ho-form) .ppg-row-split{gap:16px}
body :is(#ppg-rsv-form,#ppg-rsv-cancel-form,#ppg-pa-form,#ppg-ho-form) .ppg-row-split>.ppg-row{margin-bottom:0}
body :is(#ppg-rsv-form,#ppg-rsv-cancel-form,#ppg-pa-form,#ppg-ho-form) input[type="text"],
body :is(#ppg-rsv-form,#ppg-rsv-cancel-form,#ppg-pa-form,#ppg-ho-form) input[type="email"],
body :is(#ppg-rsv-form,#ppg-rsv-cancel-form,#ppg-pa-form,#ppg-ho-form) input[type="tel"],
body :is(#ppg-rsv-form,#ppg-rsv-cancel-form,#ppg-pa-form,#ppg-ho-form) input[type="url"],
body :is(#ppg-rsv-form,#ppg-rsv-cancel-form,#ppg-pa-form,#ppg-ho-form) select,
body :is(#ppg-rsv-form,#ppg-rsv-cancel-form,#ppg-pa-form,#ppg-ho-form) textarea{
  min-height:54px;padding:12px 16px;border:1px solid #D6D6D3;border-radius:14px;background-color:#fff;font-size:16px;line-height:1.4;
}
body :is(#ppg-rsv-form,#ppg-rsv-cancel-form,#ppg-pa-form,#ppg-ho-form) select{
  -webkit-appearance:none;appearance:none;padding-right:44px;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 9l6 6 6-6' fill='none' stroke='%230A0B0D' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 14px center;background-size:18px;
}
body :is(#ppg-rsv-form,#ppg-rsv-cancel-form,#ppg-pa-form,#ppg-ho-form) textarea{min-height:120px}
body :is(#ppg-rsv-form,#ppg-rsv-cancel-form,#ppg-pa-form,#ppg-ho-form) input:focus,
body :is(#ppg-rsv-form,#ppg-rsv-cancel-form,#ppg-pa-form,#ppg-ho-form) select:focus,
body :is(#ppg-rsv-form,#ppg-rsv-cancel-form,#ppg-pa-form,#ppg-ho-form) textarea:focus{border-color:#0A0B0D;box-shadow:0 0 0 4px rgba(244,236,50,.55)}
body :is(#ppg-rsv-form,#ppg-rsv-cancel-form,#ppg-pa-form,#ppg-ho-form) .ppg-help{font-size:13.5px;margin-top:6px}
body :is(#ppg-rsv-form,#ppg-rsv-cancel-form,#ppg-pa-form,#ppg-ho-form) .ppg-intro{font-size:16px;margin-bottom:22px}
body :is(#ppg-rsv-form,#ppg-rsv-cancel-form,#ppg-pa-form,#ppg-ho-form) .ppg-section{
  font-family:'Instrument Serif',Georgia,serif;font-weight:400;font-size:30px;letter-spacing:-.01em;
  border:0;border-top:1px solid #E4E4E1;padding:28px 0 0;margin:32px 0 18px;
}
body :is(#ppg-rsv-form,#ppg-rsv-cancel-form,#ppg-pa-form,#ppg-ho-form) .ppg-check{
  padding:16px 18px;border:1px solid #D6D6D3;border-radius:14px;background:#F5F5F3;gap:12px;
}
body :is(#ppg-rsv-form,#ppg-rsv-cancel-form,#ppg-pa-form,#ppg-ho-form) .ppg-check.ppg-check-light{background:#fff}
body :is(#ppg-rsv-form,#ppg-rsv-cancel-form,#ppg-pa-form,#ppg-ho-form) .ppg-check input{width:20px;height:20px;accent-color:#0A0B0D}
body :is(#ppg-rsv-form,#ppg-rsv-cancel-form,#ppg-pa-form,#ppg-ho-form) .ppg-check label{font-size:15.5px;margin:0}
body :is(#ppg-rsv-form,#ppg-rsv-cancel-form,#ppg-pa-form,#ppg-ho-form) .ppg-check .ppg-hint{font-size:13.5px;color:#55575C;margin-top:3px}
body :is(#ppg-rsv-form,#ppg-rsv-cancel-form,#ppg-pa-form,#ppg-ho-form) button[type="submit"]{
  min-height:58px;margin-top:8px;border-radius:999px;background:#0A0B0D;color:#fff;font-size:16px;font-weight:600;letter-spacing:0;
}
body :is(#ppg-rsv-form,#ppg-rsv-cancel-form,#ppg-pa-form,#ppg-ho-form) button[type="submit"]:hover:not(:disabled){background:#26272B}
body :is(#ppg-rsv-form,#ppg-rsv-cancel-form,#ppg-pa-form,#ppg-ho-form) .ppg-footnote{font-size:13.5px;margin-top:14px}
body :is(#ppg-rsv-form,#ppg-rsv-cancel-form,#ppg-pa-form,#ppg-ho-form) .ppg-footnote a{color:#0A0B0D}
body :is(#ppg-rsv-form,#ppg-rsv-cancel-form,#ppg-pa-form,#ppg-ho-form) .ppg-error{border-radius:14px;border-width:1px;border-left-width:1px;background:#FDF3F2;padding:14px 16px}

/* Host Partner extras */
body #ppg-ho-form .ppg-ho-req{background:#0A0B0D;color:#fff;border:0;border-radius:20px;padding:24px 26px;margin-bottom:28px}
body #ppg-ho-form .ppg-ho-req h3{font-family:'Instrument Serif',Georgia,serif;font-weight:400;font-size:28px;color:#fff;margin:0 0 6px}
body #ppg-ho-form .ppg-ho-req p{color:#BDBFC3;font-size:15px}
body #ppg-ho-form .ppg-ho-req li{color:#fff;font-size:15.5px}
body #ppg-ho-form .ppg-ho-req li:before{background-color:#F4EC32;background-image:url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 16 16%27%3E%3Cpath d=%27M4 8.5l2.5 2.5L12 5.5%27 fill=%27none%27 stroke=%27%230A0B0D%27 stroke-width=%272%27 stroke-linecap=%27round%27 stroke-linejoin=%27round%27/%3E%3C/svg%3E")}
body #ppg-ho-form .ppg-ho-amen{background:#F5F5F3;border-color:#D6D6D3;border-radius:14px;padding:16px 18px}
body #ppg-ho-form .ppg-ho-amen input{accent-color:#0A0B0D}

/* Confirmation panels (after reserving, canceling, applying) */
body .ppg-confirmed,
body .ppg-cancel-confirmed,
body .ppg-presenter-confirmed{
  max-width:none;margin:0;padding:36px 32px;border:0;border-radius:22px;background:#F5F5F3;text-align:left;
  font-family:'Instrument Sans',system-ui,sans-serif;
}
body .ppg-confirmed h3,
body .ppg-cancel-confirmed h3,
body .ppg-presenter-confirmed h3{
  font-family:'Instrument Serif',Georgia,serif;font-weight:400;font-size:40px;line-height:1.05;color:#0A0B0D;margin:0 0 12px;
  display:flex;align-items:center;gap:14px;
}
body .ppg-confirmed h3::before,
body .ppg-presenter-confirmed h3::before{
  content:"";width:44px;height:44px;border-radius:50%;flex:0 0 auto;
  background:#F4EC32 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 12l5 5L20 7' fill='none' stroke='%230A0B0D' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/22px no-repeat;
}
body .ppg-confirmed p,
body .ppg-cancel-confirmed p,
body .ppg-presenter-confirmed p{color:#2A2B2F;font-size:17px;line-height:1.6}
body .ppg-confirmed a{color:#0A0B0D;text-decoration:underline;text-decoration-color:#F4EC32;text-decoration-thickness:3px}
body .ppg-confirmed-wait{background:#FFF9D6}
body .ppg-confirmed-wait h3{color:#0A0B0D}

/* Inside a prose page the long forms sit on a white card */
.prose :is(#ppg-pa-form,#ppg-ho-form){margin:12px 0 40px;padding:36px;border:1px solid #E4E4E1;border-radius:24px;background:#fff}
@media (max-width:640px){.prose :is(#ppg-pa-form,#ppg-ho-form){padding:22px}}

/* PPG role badges: profile hero + directory */
body .ppg-profile .ppg-badges{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}
body .ppg-profile .ppg-badges .ppg-badge{margin-bottom:0}
body .ppg-profile .ppg-badge-role{background:#F4EC32;border-color:#F4EC32;color:#0A0B0D}
body .ppg-profile .ppg-dir-roles{display:flex;align-items:center;gap:10px;margin:0 0 22px}
body .ppg-profile .ppg-dir-roles label{font-weight:600;font-size:14px;color:#0A0B0D}
html body .ppg-profile .ppg-dir-roles select.ppg-dir-role-select{-webkit-appearance:none;appearance:none;min-height:48px;min-width:240px;max-width:100%;padding:10px 44px 10px 16px;border:1px solid #D6D6D3;border-radius:999px;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 9l6 6 6-6' fill='none' stroke='%230A0B0D' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E") no-repeat right 16px center/18px;font:600 15px/1.2 inherit;font-family:inherit;color:#0A0B0D;cursor:pointer}
html body .ppg-profile .ppg-dir-roles select.ppg-dir-role-select:focus{outline:none;border-color:#0A0B0D;box-shadow:0 0 0 4px rgba(244,236,50,.6)}
@media (max-width:640px){html body .ppg-profile .ppg-dir-roles select.ppg-dir-role-select{flex:1;min-width:0}}
body .ppg-profile .ppg-dir-badges{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}
body .ppg-profile .ppg-dir-badge{display:inline-block;background:#F4EC32;color:#0A0B0D;border-radius:999px;padding:3px 10px;font-size:11.5px;font-weight:700;letter-spacing:.02em}

/* Meet Our Members: black card bottoms so they pop. White text, yellow industry and badges. */
html body .ppg-profile .ppg-dir-card{background:#0A0B0D;border-color:#0A0B0D}
html body .ppg-profile .ppg-dir-body{background:#0A0B0D;color:#FFFFFF;flex:1}
html body .ppg-profile .ppg-dir-body h3{color:#FFFFFF}
html body .ppg-profile .ppg-dir-body p{color:#D6D7DA}
html body .ppg-profile .ppg-dir-body .ppg-dir-ind{color:#F4EC32}
html body .ppg-profile .ppg-dir-body .ppg-dir-badge{background:#F4EC32;color:#0A0B0D}
