:root{
  --pac-bg:#ffffff;
  --pac-text:#111111;
  --pac-muted:#6b7280;
  --pac-border:#e5e7eb;
  --pac-accent:#111111;
}

body{
  background:var(--pac-bg);
  color:var(--pac-text);
  font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial;
  margin:0;
}

.pac-wrap{max-width:1100px;margin:0 auto;padding:0 16px;}
.pac-main{padding:36px 0 60px;}

/* Header */
.pac-site-header{
  position:sticky; top:0; z-index:1000;
  background:rgba(255,255,255,0.9);
  backdrop-filter:saturate(180%) blur(10px);
  border-bottom:1px solid var(--pac-border);
}
.pac-header-inner{
  height:68px; display:flex; align-items:center; gap:18px;
}
.pac-brand{display:flex; align-items:center; gap:10px; text-decoration:none; color:var(--pac-text);}
.pac-logo{max-height:36px; width:auto;}
.pac-brand-text{font-weight:700; letter-spacing:.2px;}

/* Menu */
.pac-nav{flex:1;}
.pac-menu{list-style:none;margin:0;padding:0;display:flex;gap:18px;justify-content:flex-end;align-items:center;flex-wrap:wrap;}
.pac-menu li{margin:0;}
.pac-menu a{text-decoration:none;color:var(--pac-text);font-weight:600;padding:8px 10px;}
.pac-menu a:hover{background:#f3f4f6;}
.pac-header-actions{min-width:90px;display:flex;justify-content:flex-end;}
.pac-link{color:var(--pac-text);text-decoration:none;font-weight:600;}
.pac-logout{padding:8px 10px;border:1px solid var(--pac-border);}
.pac-logout:hover{background:#f9fafb;}

/* Footer */
.pac-site-footer{border-top:1px solid var(--pac-border);padding:28px 0;background:#fafafa;}
.pac-footer-widgets{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:18px;margin-bottom:18px;}
.pac-footer-widget{padding:14px;border:1px solid var(--pac-border);background:#fff;}
.pac-footer-title{margin:0 0 10px;font-size:14px;text-transform:uppercase;letter-spacing:.06em;color:var(--pac-muted);}
.pac-footer-bottom{color:var(--pac-muted);font-size:14px;}

/* Buttons */
.pac-btn{
  display:inline-flex; align-items:center; justify-content:center;
  padding:10px 14px;background:var(--pac-accent);
  color:#fff;text-decoration:none;border:1px solid var(--pac-accent);
  font-weight:700; cursor:pointer;
}
.pac-btn:hover{opacity:.92}
.pac-btn--full{width:100%}

/* Album */
.pac-album-header{margin-bottom:18px;}
.pac-album-title-row{display:flex;gap:16px;align-items:flex-start;justify-content:space-between;flex-wrap:wrap;}
.pac-album-title{margin:0;font-size:28px;letter-spacing:-.01em;}
.pac-album-meta{
  display:flex;gap:14px;flex-wrap:wrap;margin-top:10px;
  color:var(--pac-muted);font-size:14px;
}
.pac-album-desc{
  margin-top:12px;padding:12px 14px;border:1px solid var(--pac-border);
  background:#fff;color:#111;font-size:15px;line-height:1.55;
}

/* Boxed grid */
.pac-grid--boxed{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px;}
.pac-tile{border:1px solid var(--pac-border);overflow:hidden;background:#fff;}
.pac-tile a{display:block;position:relative;}

.pac-tile:hover img{transform:scale(1.02);}
.pac-tile-overlay{
  position:absolute;inset:0;background:linear-gradient(to top, rgba(0,0,0,.55), rgba(0,0,0,0));
  opacity:0;transition:opacity .2s ease;
  display:flex;align-items:flex-end;justify-content:flex-start;
}
.pac-tile:hover .pac-tile-overlay{opacity:1;}
.pac-tile-actions{display:flex;gap:10px;padding:12px;}
.pac-tile-zoom, .pac-tile-download{
  display:inline-flex;align-items:center;justify-content:center;
  padding:8px 10px;
  background:rgba(255,255,255,0.92); color:#111; text-decoration:none;
  font-weight:700; border:1px solid rgba(255,255,255,0.7);
}
.pac-tile-download:hover, .pac-tile-zoom:hover{background:#fff;}

/* Alerts & forms */
.pac-alert{padding:10px 12px;background:#fff1f2;border:1px solid #fecdd3;margin:12px 0;color:#9f1239;}
.pac-form{display:grid;gap:10px;margin-top:14px}
.pac-form input{
  padding:11px 12px;border:1px solid var(--pac-border);
  font-size:15px;
}
.pac-form input:focus{outline:2px solid #e5e7eb;outline-offset:2px}

/* Login */
.pac-auth{min-height:58vh;display:flex;align-items:center;justify-content:center;}
.pac-auth-card{
  width:100%;max-width:420px;background:#fff;border:1px solid var(--pac-border);
  padding:22px 20px;
  box-shadow:0 10px 30px rgba(0,0,0,.06);
}
.pac-auth-title{margin:0 0 6px;font-size:26px;}
.pac-auth-sub{margin:0;color:var(--pac-muted);line-height:1.5;}

/* Modal */
.pac-modal{position:fixed;inset:0;background:rgba(0,0,0,.85);display:none;align-items:center;justify-content:center;padding:20px;z-index:9999}
.pac-modal.is-open{display:flex}
.pac-modal-inner{position:relative;max-width:92vw;max-height:92vh}
.pac-modal-inner img{max-width:92vw;max-height:92vh;display:block;}
.pac-modal-close{position:absolute;top:-12px;right:-12px;width:40px;height:40px;border:0;background:#fff;font-size:24px;cursor:pointer;line-height:40px}


/* === Static Homepage Design === */

.pac-home-hero{
  background:#f3f3f3;
  padding:80px 0;
}

.pac-home-grid{
  display:grid;
  grid-template-columns:1fr 1px 1fr;
  gap:40px;
  align-items:start;
}

.pac-home-divider{
  background:#dddddd;
  width:1px;
}

.pac-home-title{
  font-size:48px;
  margin-bottom:20px;
}

.pac-home-lead{
  font-size:18px;
  margin-bottom:10px;
}

.pac-home-text{
  color:#6f6f6f;
  margin-bottom:20px;
}

.pac-login-card{
  background:#ffffff;
  padding:30px;
  border:1px solid #dddddd;
}

.pac-login-row{
  margin-bottom:15px;
}

.pac-login-row input{
  width:100%;
  padding:12px;
  background:#f0f0f0;
  border:1px solid #e6e6e6;
}

.pac-login-options{
  margin:20px 0;
  display:flex;
  flex-direction:column;
  gap:10px;
}

input[type="radio"]{
  accent-color:#1ea7fd;
}

/* Download icon button */
.pac-tile-download{
  width:38px;
  height:38px;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  background:rgba(255,255,255,0.95);
}

/* Improved Homepage Layout */
.pac-home-hero{
  background:#f3f3f3;
  padding:120px 0;
}

.pac-home-container{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:80px;
  align-items:center;
}

.pac-home-title{
  font-size:56px;
  font-weight:700;
  margin-bottom:25px;
}

.pac-home-lead{
  font-size:20px;
  margin-bottom:15px;
}

.pac-home-text{
  font-size:16px;
  color:#6f6f6f;
  max-width:520px;
}

/* Bigger Download Icon */
.pac-tile-download{
  width:48px;
  height:48px;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  background:rgba(255,255,255,0.95);
  box-shadow:0 4px 12px rgba(0,0,0,0.15);
}

.pac-tile-download svg{
  width:22px;
  height:22px;
}


/* === Homepage template (selectable) === */
.pac-home-hero{background:#f3f3f3;padding:110px 0;}
.pac-home-hero-inner{max-width:900px;}
.pac-home-title{font-size:56px;line-height:1.05;margin:0 0 18px;}
.pac-home-content{color:#444;max-width:720px;}
.pac-home-cta-row{margin-top:22px;}

/* === Login page (matches provided layout) === */
.pac-login-hero{background:#ffffff;padding:70px 0;}
.pac-login-grid{display:grid;grid-template-columns:1fr 1px 1fr;gap:48px;align-items:start;}
.pac-login-divider{background:#dddddd;width:1px;min-height:320px;}
.pac-login-title{font-size:48px;margin:0 0 18px;}
.pac-login-bold{margin:0 0 10px;}
.pac-login-text{margin:0;color:#6f6f6f;max-width:520px;}

.pac-login-card{background:#fff;border:0;padding:0;}
.pac-login-fields{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:16px;}
.pac-login-form label{font-weight:700;margin-bottom:6px;display:block;}
.pac-login-form input{
  width:100%;padding:12px 12px;border-radius:0;border:1px solid #cfd8e3;
  background:#ffffff;
}
.pac-login-options{margin:16px 0 18px;display:flex;flex-direction:column;gap:10px;}
.pac-radio{display:flex;gap:10px;align-items:flex-start;font-weight:500;color:#111;}
.pac-radio input{margin-top:3px;accent-color:#1ea7fd;}
.pac-login-help{margin:0 0 10px 28px;color:#6f6f6f;font-style:italic;line-height:1.45;}
.pac-login-submit{background:#d9d9d9;border-color:#d9d9d9;color:#ffffff;max-width:160px;}
.pac-login-submit:hover{opacity:1}

/* === Tile download icon (bigger + correct) === */
.pac-tile{position:relative;}
.pac-tile-download{
  position:absolute;left:14px;top:14px;
  width:54px;height:54px;
  display:flex;align-items:center;justify-content:center;
  background:#ffffff;
  border:1px solid #e6e6e6;
  box-shadow:0 10px 24px rgba(0,0,0,.10);
  color:#111;text-decoration:none;
}
.pac-tile-download svg{width:26px;height:26px;stroke:#111;stroke-width:2;fill:none;}
.pac-tile-download:hover{transform:translateY(-1px);}


/* ===== v1.6.0 Polish (Option B: subtle depth) ===== */
.pac-main{min-height:60vh;}

/* Homepage */
.pac-home-hero{background:#f3f3f3;padding:120px 0;}
.pac-home-hero-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:56px;align-items:start;}
.pac-home-h1{font-size:64px;letter-spacing:-.02em;line-height:1.02;margin:0 0 18px;}
.pac-home-body{color:#4b5563;font-size:16px;line-height:1.7;max-width:680px;}
.pac-home-card{
  background:#fff;border:1px solid #e5e7eb;
  padding:20px 20px; box-shadow:0 12px 30px rgba(0,0,0,.06);
}
.pac-home-card-title{margin:0 0 12px;font-size:16px;text-transform:uppercase;letter-spacing:.08em;color:#6b7280;}
.pac-steps{margin:0;padding-left:18px;display:grid;gap:12px;color:#111;}
.pac-steps span{color:#6b7280;}
.pac-home-features{background:#fff;padding:44px 0;border-top:1px solid #e5e7eb;}
.pac-home-features-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;}
.pac-feature{
  background:#fff;border:1px solid #e5e7eb;
  padding:16px 16px; box-shadow:0 10px 26px rgba(0,0,0,.04);
}
.pac-feature-title{font-weight:800;margin-bottom:6px;}
.pac-feature-text{color:#6b7280;}

/* Login */
.pac-login-hero{background:#fff;padding:80px 0;}
.pac-login-grid{display:grid;grid-template-columns:1fr 1px 1fr;gap:48px;align-items:start;}
.pac-login-divider{background:#e5e7eb;width:1px;min-height:360px;margin-top:10px;}
.pac-login-card{
  background:#fff;border:1px solid #e5e7eb;
  padding:22px 22px; box-shadow:0 12px 30px rgba(0,0,0,.06);
}
.pac-login-fields{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:18px;}
.pac-field label{font-weight:800;margin-bottom:6px;display:block;}
.pac-login-form input{
  width:100%;padding:12px 12px;border:1px solid #cfd8e3;background:#fff;
}
.pac-login-options{margin:10px 0 18px;display:grid;gap:10px;}
.pac-radio{display:flex;gap:10px;align-items:flex-start;font-weight:700;color:#111;}
.pac-radio input{margin-top:3px;accent-color:#1ea7fd;}
.pac-login-help{margin:0 0 8px 28px;color:#6b7280;font-style:italic;line-height:1.45;}
.pac-login-submit{
  background:#d1d5db;border-color:#d1d5db;color:#fff;
  padding:11px 18px; font-weight:800;
}
.pac-login-submit.is-enabled{background:#111;border-color:#111;cursor:pointer;}
.pac-login-submit:disabled{opacity:1;cursor:not-allowed;}

/* Album tiles */
.pac-grid--boxed{gap:18px;}
.pac-tile{border:1px solid var(--pac-border);overflow:hidden;background:#fff;}
.pac-tile a.pac-lightbox{display:block; position:relative;}

.pac-tile-download{
  position:absolute; left:14px; top:14px;
  width:54px; height:54px; 
  display:flex; align-items:center; justify-content:center;
  background:#fff; border:1px solid #e5e7eb;
  box-shadow:0 12px 28px rgba(0,0,0,.12);
}
.pac-tile-download svg{width:26px;height:26px;stroke:#111;stroke-width:2;fill:none;}
.pac-tile-download-link{
  position:absolute; left:14px; top:14px; width:54px; height:54px; 
  z-index:5;
}


/* ===== v1.7.0 Homepage visual upgrade ===== */
.pac-home-hero{
  position:relative;
  padding:140px 0;
  background-size:cover;
  background-position:center;
  background-repeat:no-repeat;
}
.pac-home-overlay{
  position:absolute;
  inset:0;
  background:linear-gradient(to bottom, rgba(0,0,0,.55), rgba(0,0,0,.55));
}
.pac-home-hero-grid{
  position:relative;
  z-index:2;
  display:grid;
  grid-template-columns:1.2fr .8fr;
  gap:60px;
  align-items:center;
}
.pac-home-h1{
  font-size:72px;
  color:#fff;
}
.pac-home-body{
  color:#f3f4f6;
  max-width:640px;
}
.pac-home-card{
  background:rgba(255,255,255,.92);
  backdrop-filter:blur(8px);
  
  padding:28px;
  box-shadow:0 20px 50px rgba(0,0,0,.25);
}


/* ===== v1.8.0 Clean Login Redesign ===== */

.pac-login-clean{
  background:#f5f5f5;
  padding:120px 20px;
}

.pac-login-container{
  max-width:620px;
  margin:0 auto;
}

.pac-login-box{
  background:#ffffff;
  
  padding:50px;
  box-shadow:0 30px 80px rgba(0,0,0,.08);
}

.pac-login-heading{
  font-size:40px;
  margin-bottom:30px;
}

.pac-login-row{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:20px;
  margin-bottom:30px;
}

.pac-input-group label{
  display:block;
  font-weight:700;
  margin-bottom:8px;
}

.pac-input-group input{
  width:100%;
  padding:14px 16px;
  
  border:1px solid #d6d6d6;
  font-size:15px;
}

.pac-login-options-clean{
  margin-bottom:30px;
}

.pac-option{
  display:flex;
  align-items:flex-start;
  gap:12px;
  margin-bottom:14px;
  font-weight:600;
}

.pac-option input{
  margin-top:4px;
  accent-color:#000;
}

.pac-option-help{
  margin:0 0 18px 28px;
  font-size:14px;
  color:#6b7280;
  line-height:1.6;
}

.pac-login-btn{
  width:160px;
  padding:14px;
  
  border:none;
  background:#e5e5e5;
  color:#ffffff;
  font-weight:700;
}

.pac-login-btn.enabled{
  background:#000000;
  cursor:pointer;
}



/* ===== v1.9.0 Modern Login ===== */

.pac-login-modern{
  min-height:100vh;
  display:flex;
  align-items:center;
  justify-content:center;
  background:linear-gradient(135deg,#f5f7fa,#e4e8ef);
  padding:40px;
}

.pac-login-modern-inner{
  width:100%;
  max-width:480px;
}

.pac-login-modern-card{
  background:#ffffff;
  
  padding:60px 50px;
  box-shadow:0 40px 100px rgba(0,0,0,.08);
}

.pac-login-modern-card h1{
  font-size:42px;
  margin-bottom:40px;
}

.pac-modern-field{
  margin-bottom:24px;
}

.pac-modern-field label{
  display:block;
  font-weight:600;
  margin-bottom:10px;
}

.pac-modern-field input{
  width:100%;
  padding:16px 18px;
  
  border:1px solid #e2e8f0;
  font-size:15px;
  transition:all .2s ease;
}

.pac-modern-field input:focus{
  outline:none;
  border-color:#000;
}

.pac-modern-options{
  margin:30px 0;
  display:flex;
  flex-direction:column;
  gap:18px;
}

.pac-modern-options label{
  display:flex;
  gap:12px;
  align-items:center;
  font-weight:500;
}

.pac-modern-options input{
  accent-color:#000;
}

#pac-login-submit{
  width:100%;
  padding:16px;
  
  border:none;
  background:#e2e8f0;
  color:#ffffff;
  font-weight:700;
  font-size:15px;
  transition:all .2s ease;
}

#pac-login-submit.enabled{
  background:#000;
  cursor:pointer;
}



/* ===== v2.0.0 Split Login Layout ===== */

.pac-login-split{
  display:grid;
  grid-template-columns:1fr 1fr;
  min-height:100vh;
}

.pac-login-split-left{
  background:#111;
  color:#fff;
  display:flex;
  align-items:center;
  padding:80px;
}

.pac-login-split-content{
  max-width:480px;
}

.pac-login-split-content h1{
  font-size:48px;
  margin-bottom:24px;
}

.pac-login-split-content p{
  font-size:18px;
  line-height:1.7;
  color:#d1d5db;
}

.pac-login-split-right{
  display:flex;
  align-items:center;
  justify-content:center;
  background:#f5f7fa;
}

.pac-login-split-card{
  width:100%;
  max-width:420px;
  background:#fff;
  padding:50px;
  
  box-shadow:0 40px 80px rgba(0,0,0,.08);
}

.pac-login-split-card h2{
  margin-bottom:30px;
}

.pac-modern-field{
  margin-bottom:24px;
}

.pac-modern-field input{
  width:100%;
  padding:16px;
  
  border:1px solid #e2e8f0;
}

#pac-login-submit{
  width:100%;
  padding:16px;
  
  border:none;
  background:#e2e8f0;
  color:#fff;
  font-weight:600;
}

#pac-login-submit.enabled{
  background:#000;
  cursor:pointer;
}

@media(max-width:900px){
  .pac-login-split{
    grid-template-columns:1fr;
  }
  .pac-login-split-left{
    padding:60px 30px;
  }
}




/* === Enforce 16:9 Ratio v3.3.0 === */
.pac-tile img {
    width: 100%;
    aspect-ratio: 16 / 9;
    object-fit: cover;
    display: block;
}

.pac-tile {
    overflow: hidden;
}


/* === Beeldportaal PRO v1.1.0 Fixes === */

/* 16:9 tiles without white footer */
.pac-tile{
  background:#fff;
}

.pac-tile > a.pac-lightbox{
  display:block;
  position:relative;
  aspect-ratio:16/9;
  overflow:hidden;
}

.pac-tile > a.pac-lightbox img{
  width:100% !important;
  height:100% !important;
  object-fit:cover;
  display:block;
}

/* Remove any forced fixed heights from earlier rules */


/* Login button */
.bp-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  
  padding:14px 18px;
  border:1px solid transparent;
  font-weight:700;
  text-decoration:none;
}

.bp-btn-primary{
  width:100%;
  background:#111;
  color:#fff;
  border-color:#111;
  box-shadow:0 18px 40px rgba(0,0,0,.12);
}

.bp-btn-primary:hover{
  background:#000;
  border-color:#000;
}





/* === v1.3.0 Structural Tile Fix === */

.pac-tile{
  position:relative;
  aspect-ratio:16/9;
  overflow:hidden;
  background:#fff;
}

.pac-media,
.pac-media a,
.pac-media img{
  width:100%;
  height:100%;
}

.pac-media img{
  object-fit:cover;
  display:block;
}

/* Download button right top */
.pac-tile-download-link{
  position:absolute;
  right:14px;
  top:14px;
  width:54px;
  height:54px;
  border-radius:999px;
  z-index:10;
}

.pac-tile-download{
  position:absolute;
  right:14px;
  top:14px;
  width:54px;
  height:54px;
  border-radius:999px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:#fff;
  border:1px solid #e5e7eb;
  box-shadow:0 12px 28px rgba(0,0,0,.12);
}

