/* EventPhotographer Vendor Portal */
:root{
  --epvp-ink:#1d1a1a;--epvp-muted:#6b6262;--epvp-line:#e7dfdc;--epvp-bg:#ffffff;--epvp-soft:#f6f1ef;
  --epvp-accent:#6b2a33;--epvp-accent-hover:#82343f;--epvp-accent-ink:#ffffff;--epvp-pink:#e8a0aa;
  --epvp-dark:#1f1a1a;--epvp-light:#f2ecea;--epvp-radius:14px;
}
.epvp-home *,.epvp-form *,.epvp-card *,.epvp-profile *,.epvp-pgrid *,.epvp-sf *,.epvp-thanks *,.epvp-loc *{box-sizing:border-box}

/* Buttons & messages */
.epvp-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:14px 22px;border:0;border-radius:10px;background:var(--epvp-accent);color:var(--epvp-accent-ink,#fff)!important;font-weight:700;font-size:16px;line-height:1.2;text-decoration:none!important;cursor:pointer;transition:transform .15s,box-shadow .15s}
.epvp-btn:hover{transform:translateY(-1px);background:var(--epvp-accent-hover);box-shadow:0 8px 20px rgba(107,42,51,.3)}
.epvp-btn-block{width:100%;margin-top:6px;font-size:17px;padding:16px}
.epvp-btn-ghost{background:transparent;color:var(--epvp-ink)!important;border:1.5px solid var(--epvp-line)}
.epvp-btn-ghost:hover{box-shadow:none;background:transparent;border-color:var(--epvp-ink)}
.epvp-btn-light{background:#fff;color:var(--epvp-dark)!important}
.epvp-link{background:none;border:0;padding:0;color:var(--epvp-ink);text-decoration:underline;cursor:pointer;font-size:13px}
.epvp-danger{color:#c62828}
.epvp-msg{padding:12px 14px;margin:12px 0;border-left:4px solid #2e7d32;background:#f1f8f1;border-radius:6px}
.epvp-msg.err{border-color:#c62828;background:#fdf1f1}
.epvp-small{font-size:14px;color:var(--epvp-muted,#5d6272)}
.epvp-center{text-align:center;margin:10px 0 0}
.epvp-hp{position:absolute!important;left:-9999px!important}

/* Forms */
.epvp-form label{display:block;font-weight:600;font-size:14px;margin:12px 0 6px;color:var(--epvp-ink)}
.epvp-form label.epvp-inline{font-weight:400;display:flex;gap:8px;align-items:center}
.epvp-form input[type=text],.epvp-form input[type=email],.epvp-form input[type=tel],.epvp-form input[type=url],.epvp-form input[type=password],.epvp-form input[type=date],.epvp-form select,.epvp-form textarea,.epvp-filters input,.epvp-filters select{width:100%;padding:12px 14px;font-size:16px;border:1.5px solid var(--epvp-line);border-radius:10px;background:#fff;color:var(--epvp-ink);font-family:inherit}
.epvp-form input:focus,.epvp-form select:focus,.epvp-form textarea:focus{outline:none;border-color:var(--epvp-accent);box-shadow:0 0 0 3px rgba(107,42,51,.15)}
.epvp-row{display:grid;grid-template-columns:1fr 1fr;gap:0 14px}
.epvp-checks{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:6px 12px}
.epvp-checks label{font-weight:400;margin:0;display:flex;gap:8px;align-items:center}
.epvp-form button[type=submit]{margin-top:16px}
.epvp-form-card{background:#fff;border-radius:var(--epvp-radius);padding:22px;box-shadow:0 20px 50px rgba(31,26,26,.18);color:var(--epvp-ink)}
.epvp-form-title{margin:0 0 4px;font-size:20px}
.epvp-done{text-align:center;padding:36px 22px}
.epvp-tick{width:56px;height:56px;border-radius:50%;background:#2e7d32;color:#fff;font-size:30px;line-height:56px;margin:0 auto 10px}
.epvp-card{background:#fff;border:1px solid var(--epvp-line);border-radius:var(--epvp-radius);padding:22px;margin:18px 0}
.epvp-lead-in{margin-top:0;color:var(--epvp-muted)}
.epvp-h3{margin:0 0 8px;font-size:20px}
.epvp-count{font-size:14px;font-weight:400;color:var(--epvp-muted)}

/* Dashboard */
.epvp-dash-head{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin:10px 0}
.epvp-code{font-size:22px;font-weight:800;letter-spacing:.5px}
.epvp-badge{display:inline-block;padding:3px 10px;border-radius:99px;font-size:12px;font-weight:700;background:#eef0f4;color:#333}
.epvp-badge-approved{background:#e3f4e5;color:#1b5e20}.epvp-badge-pending{background:#fff4e0;color:#8a4b00}.epvp-badge-rejected,.epvp-badge-hidden{background:#fdecec;color:#b71c1c}
.epvp-drop{display:block;border:2px dashed var(--epvp-line);border-radius:12px;padding:22px;text-align:center;cursor:pointer;margin:12px 0 0}
.epvp-drop input{display:block;margin:0 auto 8px;max-width:100%}
.epvp-file-errors{color:#c62828;font-size:14px}
.epvp-manage-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:12px;margin-top:16px}
.epvp-manage-grid figure{margin:0}
.epvp-manage-grid img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:10px;display:block}
.epvp-manage-grid figcaption{display:flex;justify-content:space-between;align-items:center;padding:6px 2px;font-size:13px}
.epvp-manage-grid form{margin:0}
.epvp-leads{width:100%;border-collapse:collapse}
.epvp-leads th,.epvp-leads td{padding:10px;border-bottom:1px solid var(--epvp-line,#ddd);text-align:left;vertical-align:top}

/* Photographer cards */
.epvp-pgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:20px;margin:20px 0}
.epvp-pcard{display:block;background:#fff;border:1px solid var(--epvp-line);border-radius:var(--epvp-radius);overflow:hidden;text-decoration:none!important;color:var(--epvp-ink)!important;transition:transform .2s,box-shadow .2s}
.epvp-pcard:hover{transform:translateY(-3px);box-shadow:0 16px 36px rgba(31,26,26,.12)}
.epvp-pcard-img{position:relative;aspect-ratio:4/3;overflow:hidden;background:#eee}
.epvp-pcard-img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s}
.epvp-pcard:hover .epvp-pcard-img img{transform:scale(1.04)}
.epvp-pcard-count{position:absolute;right:10px;bottom:10px;background:rgba(0,0,0,.6);color:#fff;font-size:12px;padding:3px 8px;border-radius:99px}
.epvp-pcard-body{padding:14px 16px 16px}
.epvp-pcard-top{display:flex;justify-content:space-between;gap:8px;font-size:16px}
.epvp-pcard-top span{font-size:13px;color:var(--epvp-muted)}
.epvp-pcard-city{font-size:14px;color:var(--epvp-muted);margin:4px 0 10px}
.epvp-pcard-cta{display:block;margin-top:12px;font-weight:700;color:var(--epvp-accent)}
.epvp-chips{display:flex;flex-wrap:wrap;gap:6px}
.epvp-chips span{font-size:12px;padding:4px 10px;border-radius:99px;background:var(--epvp-soft,#f6f5f2);border:1px solid var(--epvp-line)}
.epvp-filters{display:grid;grid-template-columns:1fr 1fr auto;gap:10px;margin:10px 0}

/* Profile */
.epvp-back a{text-decoration:none}
.epvp-profile-grid{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:32px;align-items:start}
.epvp-profile-meta{color:var(--epvp-muted);margin:0 0 12px}
.epvp-bio{font-size:17px;line-height:1.6;margin:16px 0}
.epvp-gallery{columns:3 220px;column-gap:12px;margin-top:20px}
.epvp-gallery a{display:block;margin-bottom:12px;break-inside:avoid;border-radius:10px;overflow:hidden}
.epvp-gallery img{width:100%;height:auto;display:block}
.epvp-profile-side{position:sticky;top:24px}
.epvp-protect img{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;pointer-events:auto}
.epvp-lightbox{position:fixed;inset:0;background:rgba(10,10,14,.94);display:flex;align-items:center;justify-content:center;z-index:99999;padding:20px}
.epvp-lightbox img{max-width:100%;max-height:100%;border-radius:8px;-webkit-user-select:none;user-select:none}
.epvp-lightbox button{position:absolute;background:rgba(255,255,255,.12);color:#fff;border:0;font-size:28px;width:48px;height:48px;border-radius:50%;cursor:pointer}
.epvp-lb-close{top:16px;right:16px}.epvp-lb-prev{left:16px}.epvp-lb-next{right:16px}

/* Homepage */
.epvp-home{color:var(--epvp-ink);font-size:17px;line-height:1.55}
.epvp-bleed{width:100vw;max-width:100vw;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw)}
body.epvp-home-page .wp-site-blocks>main,body.epvp-home-page main{margin-top:0!important;padding-top:0!important}
body.epvp-home-page .entry-content,body.epvp-home-page .wp-block-post-content{margin-top:0!important}
.epvp-wrap{max-width:1180px;margin:0 auto;padding:0 20px}
.epvp-hero{position:relative;background:var(--epvp-dark);color:#fff;padding:64px 0 72px;overflow:hidden}
.epvp-hero::before{content:"";position:absolute;inset:0;background-image:var(--epvp-hero-bg,none);background-size:cover;background-position:center;opacity:.35;filter:saturate(1.1)}
.epvp-hero::after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 12% 18%,rgba(232,160,170,.22),transparent 45%),linear-gradient(100deg,rgba(31,26,26,.96) 25%,rgba(74,26,33,.82))}
.epvp-hero-grid{position:relative;z-index:1;display:grid;grid-template-columns:1.1fr 460px;gap:48px;align-items:center}
.epvp-eyebrow{text-transform:uppercase;letter-spacing:1.5px;font-size:13px;font-weight:700;color:var(--epvp-pink);margin:0 0 14px}
.epvp-hero h1{font-size:clamp(32px,4.6vw,54px);line-height:1.08;margin:0 0 18px;color:#fff;letter-spacing:-.5px}
.epvp-hero-sub{font-size:19px;color:rgba(255,255,255,.85);margin:0 0 22px;max-width:560px}
.epvp-ticks{list-style:none;padding:0;margin:0;display:grid;gap:10px}
.epvp-ticks li{padding-left:30px;position:relative;color:rgba(255,255,255,.92)}
.epvp-ticks li::before{content:"✓";position:absolute;left:0;top:0;width:20px;height:20px;border-radius:50%;background:var(--epvp-accent);color:#fff;font-size:12px;line-height:20px;text-align:center;font-weight:800}
.epvp-hero .epvp-form label{color:var(--epvp-ink)}
.epvp-section{padding:64px 0}
.epvp-alt{background:var(--epvp-soft)}
.epvp-h2{font-size:clamp(26px,3vw,36px);margin:0 0 24px;letter-spacing:-.3px}
.epvp-section-head{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;margin-bottom:8px}
.epvp-section-head .epvp-h2{margin:0}
.epvp-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.epvp-steps>div{background:#fff;border:1px solid var(--epvp-line);border-radius:var(--epvp-radius);padding:24px}
.epvp-steps span{display:inline-flex;width:40px;height:40px;border-radius:50%;background:var(--epvp-accent);color:#fff;font-weight:800;align-items:center;justify-content:center}
.epvp-steps h3{margin:14px 0 6px;font-size:19px}
.epvp-steps p{margin:0;color:var(--epvp-muted)}
.epvp-events{display:flex;flex-wrap:wrap;gap:10px}
.epvp-events a{padding:12px 18px;border-radius:99px;border:1.5px solid var(--epvp-line);text-decoration:none;color:var(--epvp-ink);font-weight:600;transition:all .15s}
.epvp-events a:hover{border-color:var(--epvp-accent);color:var(--epvp-accent)}
.epvp-cta-band{background:linear-gradient(110deg,var(--epvp-accent),#4a1a21);color:#fff}
.epvp-cta-band h2{color:#fff;margin:0 0 6px;font-size:clamp(24px,3vw,32px)}
.epvp-cta-band p{margin:0;color:rgba(255,255,255,.9)}
.epvp-cta-grid{display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap}
.epvp-cta-grid p{margin:0;max-width:620px}

@media (max-width:900px){
  .epvp-hero{padding:24px 0 36px}
  .epvp-eyebrow{display:none}
  .epvp-hero h1{font-size:30px;margin-bottom:10px}
  .epvp-hero-grid{grid-template-columns:1fr;gap:20px}
  .epvp-hero-sub{font-size:15px;margin-bottom:0}
  .epvp-ticks{display:none}
  .epvp-profile-grid{grid-template-columns:1fr}
  .epvp-profile-side{position:static}
  .epvp-steps{grid-template-columns:1fr}
  .epvp-section{padding:44px 0}
}
@media (max-width:600px){
  .epvp-row{grid-template-columns:1fr}
  .epvp-filters{grid-template-columns:1fr}
  .epvp-form-card{padding:18px;box-shadow:0 10px 30px rgba(31,26,26,.22)}
  .epvp-wrap{padding:0 16px}
  .epvp-leads thead{display:none}.epvp-leads td{display:block;border:0;padding:4px 0}.epvp-leads tr{display:block;border-bottom:1px solid #ddd;padding:10px 0}
}


/* Step form ------------------------------------------------------------ */
.epvp-sf{position:relative;color:var(--epvp-ink)}
.epvp-sf-backdrop{display:none}
.epvp-sf-card{background:#fff;border-radius:var(--epvp-radius);padding:22px;box-shadow:0 20px 50px rgba(31,26,26,.22);position:relative}
.epvp-sf-top{display:flex;align-items:center;gap:12px;margin-bottom:6px}
.epvp-sf-top .epvp-mark{flex:none}
.epvp-sf-progress{flex:1;height:6px;border-radius:99px;background:var(--epvp-light);overflow:hidden}
.epvp-sf-progress span{display:block;height:100%;width:14%;background:var(--epvp-accent);border-radius:99px;transition:width .3s}
.epvp-sf-close{display:none;background:none;border:0;font-size:30px;line-height:1;color:var(--epvp-muted);cursor:pointer;padding:0 4px}
.epvp-step{border:0;margin:0;padding:0;min-width:0}
.epvp-q{font-size:21px;font-weight:700;line-height:1.25;margin:12px 0 14px;color:var(--epvp-ink)}
.epvp-q-sub{font-size:17px;margin-top:20px}
.epvp-q small{font-weight:400;color:var(--epvp-muted);font-size:14px}
.epvp-step-hint{margin:-6px 0 12px;color:var(--epvp-muted)}
.epvp-choices{display:grid;gap:8px}
.epvp-choices-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}
.epvp-choices-row{grid-template-columns:1fr 1fr}
.epvp-choice{position:relative;display:block;margin:0;cursor:pointer}
.epvp-choice input{position:absolute;opacity:0;pointer-events:none}
.epvp-choice span{display:flex;align-items:center;gap:10px;min-height:50px;padding:12px 14px;border:1.5px solid var(--epvp-line);border-radius:12px;font-size:15px;font-weight:500;line-height:1.25;background:#fff;transition:border-color .15s,background .15s}
.epvp-choice span::before{content:"";flex:none;width:18px;height:18px;border:2px solid #b9adaa;border-radius:50%;transition:all .15s}
.epvp-choice input[type=checkbox]+span::before{border-radius:5px}
.epvp-choice:hover span{border-color:var(--epvp-accent)}
.epvp-choice input:checked+span{border-color:var(--epvp-accent);background:#fbf3f4;font-weight:700}
.epvp-choice input:checked+span::before{border-color:var(--epvp-accent);background:var(--epvp-accent);box-shadow:inset 0 0 0 3px #fff}
.epvp-choice input:focus-visible+span{outline:3px solid rgba(107,42,51,.3)}
.epvp-field{display:block;font-weight:600;font-size:14px;margin:12px 0 0}
.epvp-field input,.epvp-field select,.epvp-field textarea{display:block;width:100%;margin-top:6px;padding:13px 14px;font-size:16px;border:1.5px solid var(--epvp-line);border-radius:10px;background:#fff;color:var(--epvp-ink);font-family:inherit}
.epvp-field input:focus,.epvp-field select:focus,.epvp-field textarea:focus{outline:none;border-color:var(--epvp-accent);box-shadow:0 0 0 3px rgba(107,42,51,.15)}
.epvp-field small{font-weight:400;color:var(--epvp-muted)}
.epvp-field .epvp-invalid,.epvp-field input.epvp-invalid,.epvp-field select.epvp-invalid{border-color:#c62828}
.epvp-step-error{color:#c62828;font-size:14px;margin:10px 0 0}
.epvp-sf-nav{display:flex;justify-content:space-between;gap:12px;margin-top:18px}
.epvp-sf-nav .epvp-btn{flex:1}
.epvp-sf-nav [data-back]{flex:0 0 auto}
/* JS mode: one step at a time */
.epvp-sf.js .epvp-step{display:none}
.epvp-sf.js .epvp-step.is-active{display:block}
.epvp-sf.js .epvp-detail{display:none}
.epvp-sf.js .epvp-detail.is-active{display:block}
.epvp-sf.js [data-submit],.epvp-sf.js [data-back]{display:none}
.epvp-sf.js.is-last [data-submit]{display:inline-flex}
.epvp-sf.js.is-last [data-next]{display:none}
.epvp-sf.js:not(.is-first) [data-back]{display:inline-flex}
.epvp-sf.js.is-first .epvp-sf-nav{display:none}
.epvp-sf:not(.js) [data-next],.epvp-sf:not(.js) [data-back]{display:none}
/* Popup (steps 2+) */
.epvp-sf.is-modal{position:fixed;inset:0;z-index:100000;display:flex;align-items:center;justify-content:center;padding:16px}
.epvp-sf.is-modal .epvp-sf-backdrop{display:block;position:absolute;inset:0;background:rgba(31,26,26,.62);backdrop-filter:blur(2px)}
.epvp-sf.is-modal .epvp-sf-card{width:100%;max-width:560px;max-height:calc(100vh - 32px);overflow:auto;padding:24px 24px 20px}
.epvp-sf.is-modal .epvp-sf-close{display:block}
.epvp-sf-placeholder{display:none}
body.epvp-modal-open{overflow:hidden}
@media (max-width:600px){
  .epvp-sf.is-modal{padding:0;align-items:stretch}
  .epvp-sf.is-modal .epvp-sf-card{max-width:none;max-height:none;height:100%;border-radius:0;display:flex;flex-direction:column}
  .epvp-sf.is-modal .epvp-sf-nav{margin-top:auto;padding-top:16px;position:sticky;bottom:0;background:#fff}
  .epvp-choices-grid{grid-template-columns:1fr 1fr}
  .epvp-choice span{font-size:14px;padding:11px 12px;min-height:48px}
  .epvp-q{font-size:19px}
}

/* Thank-you page */
.epvp-thanks{display:flex;justify-content:center;padding:10px 0 40px}
.epvp-thanks-card{max-width:620px;width:100%;background:#fff;border:1px solid var(--epvp-line);border-radius:var(--epvp-radius);padding:32px 28px;text-align:center;box-shadow:0 18px 44px rgba(31,26,26,.08)}
.epvp-thanks-card h2{margin:6px 0 8px;color:var(--epvp-ink)}
.epvp-thanks-card h3{margin:26px 0 8px;font-size:18px;text-align:left}
.epvp-thanks-lead{font-size:17px;color:var(--epvp-muted);margin:0 auto;max-width:480px}
.epvp-tick{background:var(--epvp-accent)!important}
.epvp-summary{display:grid;grid-template-columns:auto 1fr;gap:6px 18px;text-align:left;background:var(--epvp-soft);border-radius:12px;padding:16px 18px;margin:22px 0 0}
.epvp-summary dt{font-weight:700;color:var(--epvp-muted);font-size:14px}
.epvp-summary dd{margin:0}
.epvp-next{text-align:left;padding-left:20px;margin:0;color:var(--epvp-ink)}
.epvp-next li{margin:6px 0}
.epvp-thanks-actions{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-top:24px}

/* Location pages */
.epvp-loc .epvp-h2{margin:36px 0 14px;font-size:26px}
.epvp-loc-form{max-width:640px;margin:18px 0 8px}
.epvp-events span{padding:10px 16px;border-radius:99px;border:1.5px solid var(--epvp-line);font-weight:600;font-size:15px}
.epvp-faq details{border:1px solid var(--epvp-line);border-radius:12px;padding:14px 16px;margin:0 0 10px;background:#fff}
.epvp-faq summary{font-weight:700;cursor:pointer}
.epvp-faq p{margin:10px 0 0;color:var(--epvp-muted)}
.epvp-sf [hidden]{display:none!important}
.epvp-events a,.epvp-events span{font-size:15px;padding:10px 16px;line-height:1.3}
