*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--cream);color:var(--text);font-family:"Work Sans",Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.65}
img,video{max-width:100%;height:auto}
a{color:var(--green);text-decoration-thickness:.08em;text-underline-offset:.17em}
a:hover{color:var(--green-dark)}
button,input,textarea,select{font:inherit}
.shell{width:min(1180px,calc(100% - 40px));margin-inline:auto}
.skip-link{position:absolute;left:-9999px;top:10px;z-index:999;background:var(--green-dark);color:white;padding:10px 14px}.skip-link:focus{left:10px}
.site-header{position:sticky;top:0;z-index:60;background:rgba(251,248,242,.97);backdrop-filter:blur(10px);box-shadow:0 1px 0 rgba(18,60,50,.12)}
.topbar{min-height:82px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.brand{display:flex;align-items:center;gap:14px;text-decoration:none;color:var(--green-dark);font-family:"Newsreader",Georgia,serif;font-size:clamp(1.3rem,2vw,1.8rem);font-weight:700;letter-spacing:.01em}
.brand-mark{width:54px;height:54px;border-radius:50%;overflow:hidden;display:grid;place-items:center;background:white;box-shadow:0 3px 14px rgba(18,60,50,.14)}
.brand-mark img{width:68px;max-width:none;height:68px;object-fit:cover}
.login-link,.account-menu summary{display:inline-flex;align-items:center;min-height:42px;padding:8px 16px;border:1px solid var(--green);color:var(--green-dark);text-decoration:none;cursor:pointer;background:transparent;font-weight:700}
.account-menu{position:relative}.account-menu summary{list-style:none}.account-menu summary::-webkit-details-marker{display:none}.account-popover{position:absolute;right:0;top:calc(100% + 8px);min-width:190px;background:white;border:1px solid var(--line);box-shadow:0 16px 38px rgba(18,60,50,.16);padding:8px;z-index:80}.account-popover a{display:block;padding:9px 12px;text-decoration:none;color:var(--text)}.account-popover a:hover{background:var(--green-soft)}
.main-nav{background:var(--green-dark)}
.nav-inner{display:flex;align-items:center;min-height:48px}.nav-links{display:flex;align-items:center;justify-content:center;gap:2px;width:100%}.nav-links a{color:white;text-decoration:none;padding:12px 15px;font-size:.94rem;font-weight:650;letter-spacing:.01em}.nav-links a:hover,.nav-links a:focus{background:rgba(255,255,255,.11)}
.nav-toggle{display:none;border:0;background:transparent;color:white;padding:12px 0;font-weight:800}
.hero{position:relative;overflow:hidden;background:var(--green-dark)}
.hero-media{height:clamp(210px,31vw,390px);position:relative}.hero-media picture{display:block;width:100%;height:100%}.hero-media img{width:100%;height:100%;object-fit:cover;object-position:center 45%}.hero-media:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(18,60,50,.34),rgba(18,60,50,.05) 55%,rgba(18,60,50,.16))}
.hero-wave{position:absolute;left:0;right:0;bottom:-1px;height:74px;z-index:2}.hero-wave svg{width:100%;height:100%;display:block;fill:var(--cream)}
.hero-overlay{position:absolute;inset:0;z-index:3;display:flex;align-items:flex-end;padding-bottom:58px;pointer-events:none}.hero-copy{color:white;text-shadow:0 2px 12px rgba(0,0,0,.22);max-width:700px}.hero-copy h1{font-family:"Newsreader",Georgia,serif;font-size:clamp(2rem,4vw,4.25rem);line-height:1.02;margin:0 0 10px;font-weight:700}.hero-copy p{font-size:clamp(1rem,1.45vw,1.25rem);max-width:620px;margin:0}
.page-hero{padding:54px 0 34px;background:linear-gradient(180deg,var(--green-soft),var(--cream))}.page-hero .eyebrow{margin-bottom:7px}.page-hero h1{margin:0;font-family:"Newsreader",Georgia,serif;color:var(--green-dark);font-size:clamp(2.1rem,4vw,3.7rem);line-height:1.05}.page-hero p{max-width:760px;font-size:1.08rem}
.eyebrow{text-transform:uppercase;letter-spacing:.13em;font-size:.76rem;font-weight:800;color:var(--chestnut)}
.home-intro{padding:54px 0 18px;text-align:center}.home-intro h1,.section-title,h2,h3{font-family:"Newsreader",Georgia,serif}.home-intro h1{color:var(--green-dark);font-size:clamp(2rem,4vw,3.25rem);line-height:1.1;margin:.2em 0}.home-intro p{max-width:760px;margin:0 auto;font-size:1.08rem}
.content-stack{padding:20px 0 56px}.content-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;margin:28px 0}.content-row.single{grid-template-columns:1fr}.content-cell:empty{display:none}
.media-item{background:white;border:1px solid var(--line);padding:clamp(22px,3vw,34px);box-shadow:0 10px 28px rgba(18,60,50,.06)}.media-item h2{margin:0 0 10px;color:var(--green-dark);font-size:clamp(1.45rem,2.2vw,2rem)}.media-item figure{margin:0}.media-item figure+ .rich-text{margin-top:18px}.media-item img{width:100%;display:block}.media-item video{width:100%;display:block;background:#000}.media-item audio{width:100%}.media-item figcaption{font-size:.85rem;color:#5b6c64;margin-top:8px}.rich-text>:first-child{margin-top:0}.rich-text>:last-child{margin-bottom:0}.media-placeholder{background:var(--green-soft);border-style:dashed;color:#61746a}
.quick-links-section{background:var(--green-soft);padding:34px 0 68px}.home-ads-link{margin:0 0 26px}.home-ads-link .button{min-height:48px;padding:11px 20px;font-size:1rem}.section-heading{max-width:760px;margin-bottom:30px}.section-heading h2{font-size:clamp(2rem,3vw,2.8rem);color:var(--green-dark);margin:0 0 8px}.section-heading p{margin:0}
.quick-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.quick-card{display:flex;min-height:190px;flex-direction:column;justify-content:space-between;background:white;border:1px solid var(--line);padding:24px;text-decoration:none;color:var(--text);transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}.quick-card:hover{transform:translateY(-4px);box-shadow:0 18px 40px rgba(18,60,50,.11);border-color:var(--green-mid);color:var(--text)}.quick-icon{width:46px;height:46px;display:grid;place-items:center;background:var(--green-light);color:var(--green-dark);font-size:1.35rem;border-radius:50%}.quick-card h3{margin:20px 0 8px;color:var(--green-dark);font-size:1.45rem}.quick-card p{margin:0;color:#4c6057}.quick-card .arrow{margin-top:18px;color:var(--chestnut);font-weight:800}
.button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 17px;background:var(--green);border:1px solid var(--green);color:white;text-decoration:none;font-weight:800;cursor:pointer}.button:hover{background:var(--green-dark);border-color:var(--green-dark);color:white}.button-accent{background:var(--chestnut);border-color:var(--chestnut)}.button-accent:hover{background:#78422f;border-color:#78422f}.button-outline{background:transparent;color:var(--green-dark)}.button-danger{background:#8a2e2e;border-color:#8a2e2e}.button-small{min-height:34px;padding:5px 10px;font-size:.87rem}
.form-card{background:white;border:1px solid var(--line);padding:clamp(24px,4vw,42px);max-width:760px;margin:32px auto;box-shadow:0 12px 34px rgba(18,60,50,.07)}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.field{display:flex;flex-direction:column;gap:6px}.field.full{grid-column:1/-1}.field label{font-weight:750;color:var(--green-dark)}.field input,.field textarea,.field select{width:100%;padding:11px 12px;border:1px solid #b8c8bf;background:#fff;color:var(--text);outline:none}.field input:focus,.field textarea:focus,.field select:focus{border-color:var(--green);box-shadow:0 0 0 3px rgba(31,90,70,.12)}.field textarea{min-height:150px;resize:vertical}.help{font-size:.86rem;color:#607269}.actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:20px}.notice{padding:13px 16px;margin:20px 0;border-left:4px solid var(--green);background:var(--green-soft)}.notice.error{border-color:#9b3232;background:#faecec;color:#682424}.notice.success{border-color:var(--green);background:#eaf5ef}
.antispam-field{margin-top:4px;padding:16px;background:var(--cream);border:1px solid var(--line)}.antispam-field input{max-width:220px}
.breeders-section{padding:28px 0 68px}.breeder-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.breeder-card{background:white;border:1px solid var(--line);padding:22px;text-align:center;min-width:0}.breeder-card img{width:76px;height:76px;border-radius:50%;object-fit:cover;margin:0 auto 14px}.breeder-card strong{display:block;font-family:"Newsreader",Georgia,serif;color:var(--green-dark);font-size:1.15rem;line-height:1.25;margin-bottom:8px}.breeder-card a{overflow-wrap:anywhere}.breeder-contact{font-size:.91rem;color:#53665c}
.table-wrap{overflow-x:auto;background:white;border:1px solid var(--line)}table{border-collapse:collapse;width:100%}th,td{padding:11px 12px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}th{background:var(--green-soft);color:var(--green-dark);font-size:.88rem}tbody tr:hover{background:#fbfdfb}
.site-footer{margin-top:0;background:var(--green-dark);color:#edf5f0}.footer-grid{display:grid;grid-template-columns:1.3fr .7fr;gap:48px;padding:54px 0}.site-footer h2{font-size:1.8rem;margin:0 0 12px;color:white}.site-footer a{color:white}.footer-logo-wrap{display:flex;justify-content:flex-end;align-items:center}.footer-logo-wrap picture{display:flex;justify-content:flex-end;width:100%}.footer-logo{width:min(210px,80%);filter:drop-shadow(0 10px 22px rgba(0,0,0,.18))}.footer-bottom{border-top:1px solid rgba(255,255,255,.15)}.legal-links{min-height:58px;display:flex;align-items:center;gap:18px;flex-wrap:wrap;font-size:.88rem}.legal-links span{margin-right:auto;color:#cbdad2}.legal-links a{text-decoration:none;color:#eaf2ed}.legal-links a:hover{text-decoration:underline}
.legal-page{padding:48px 0 72px}.legal-page article{max-width:900px;background:white;border:1px solid var(--line);padding:clamp(24px,4vw,44px);margin:auto}.legal-page h1{font-family:"Newsreader",Georgia,serif;color:var(--green-dark);font-size:clamp(2rem,4vw,3.2rem)}
.login-shell{padding:52px 0 76px}.login-card{max-width:490px;margin:auto;background:white;border:1px solid var(--line);padding:34px;box-shadow:0 16px 42px rgba(18,60,50,.08)}.login-card h1{font-family:"Newsreader",Georgia,serif;color:var(--green-dark);margin-top:0}.login-card .field{margin:15px 0}.login-links{display:flex;justify-content:space-between;gap:16px;margin-top:18px;font-size:.9rem}
@media (max-width:980px){.quick-links{grid-template-columns:repeat(2,1fr)}.breeder-grid{grid-template-columns:repeat(2,1fr)}.nav-links a{padding-inline:9px;font-size:.88rem}.brand span:last-child{font-size:1.38rem}}
@media (max-width:760px){.shell{width:min(100% - 28px,1180px)}.site-header{position:static}.topbar{min-height:70px}.brand-mark{width:46px;height:46px}.brand-mark img{width:60px;height:60px}.brand span:last-child{font-size:1.15rem}.nav-inner{display:block}.nav-toggle{display:block}.nav-links{display:none;flex-direction:column;align-items:stretch;padding-bottom:8px}.nav-links.open{display:flex}.nav-links a{padding:11px 0}.hero-media{height:250px}.hero-overlay{padding-bottom:38px}.hero-copy h1{font-size:2.2rem}.hero-wave{height:44px}.content-row{grid-template-columns:1fr;gap:18px;margin:18px 0}.quick-links{grid-template-columns:1fr}.breeder-grid{grid-template-columns:1fr 1fr}.form-grid{grid-template-columns:1fr}.field.full{grid-column:auto}.footer-grid{grid-template-columns:1fr}.footer-logo-wrap{justify-content:flex-start}.footer-logo-wrap picture{justify-content:flex-start}.footer-logo{width:150px}.legal-links{padding:14px 0;gap:12px}.legal-links span{width:100%}.account-menu summary,.login-link{padding:7px 10px;min-height:38px}}
@media (max-width:480px){.breeder-grid{grid-template-columns:1fr}.brand-mark{display:none}.login-links{flex-direction:column}.quick-card{min-height:170px}}

/* Lidmaatschap */
.membership-cta{margin-top:34px;padding:30px 32px;background:var(--green-dark);color:white;display:flex;align-items:center;justify-content:space-between;gap:28px}
.membership-cta .eyebrow{color:var(--green-light);margin-bottom:6px}
.membership-cta h2{margin:0 0 8px;color:white;font-size:clamp(1.65rem,2.7vw,2.35rem)}
.membership-cta p{margin:0;max-width:720px;color:#edf5f1}
.membership-cta .button{flex:0 0 auto}
.membership-cta-page{margin-top:0;margin-bottom:64px}
.membership-form-section{padding-bottom:56px}
.membership-form-card{max-width:860px}
.membership-info{padding-bottom:18px;margin-bottom:24px;border-bottom:1px solid var(--line)}
.membership-info h2{margin:0 0 6px;color:var(--green-dark)}
.membership-info p{margin:0}
.membership-choice{border:1px solid var(--line);padding:16px 18px;margin:0}
.membership-choice legend{font-weight:800;color:var(--green-dark);padding:0 6px}
.radio-option{display:flex;align-items:flex-start;gap:10px;padding:8px 0;font-weight:400!important}
.radio-option input{width:auto!important;margin-top:4px}
.privacy-check label{display:flex;align-items:flex-start;gap:10px;font-weight:500}
.privacy-check input{width:auto!important;margin-top:4px}
.spam-trap{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.application-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px 18px}
.application-detail-grid>div{display:flex;flex-direction:column;gap:3px;padding-bottom:9px;border-bottom:1px solid rgba(18,60,50,.12)}
.application-detail-grid>div.full{grid-column:1/-1}
.application-detail-grid strong{font-size:.8rem;color:var(--green-dark);text-transform:uppercase;letter-spacing:.03em}
.application-detail-grid span{overflow-wrap:anywhere}

@media(max-width:760px){
  .membership-cta{display:block;padding:25px 22px}
  .membership-cta .button{margin-top:20px;width:100%}
  .application-detail-grid{grid-template-columns:1fr}
  .application-detail-grid>div.full{grid-column:auto}
}

/* Fokkerslijst: eigen foto groter, standaard Cavalier-icoon behoudt bestaande maat. */
.breeder-card img.breeder-icon{width:76px;height:76px}
.breeder-card img.breeder-photo{width:104px;height:104px;object-fit:cover;border-radius:50%;margin:0 auto 14px}
.fokker-publicatie-box{margin-top:26px;padding-top:22px;border-top:1px solid var(--line)}
.fokker-publicatie-box>.checkbox-row{align-items:flex-start;margin-bottom:20px}
.fokker-publicatie-box small{font-weight:400;color:#617268}
.fokker-photo-manage{display:grid;grid-template-columns:minmax(0,1fr) 160px;gap:22px;align-items:start;margin-top:16px}
.fokker-photo-manage input[type="file"]{display:block;width:100%;margin-top:8px}
.fokker-photo-preview img{width:140px;height:140px;object-fit:cover;border-radius:50%;border:1px solid var(--line)}
@media(max-width:640px){.fokker-photo-manage{grid-template-columns:1fr}.fokker-photo-preview{order:-1}}
.fokker-publicatie-box .checkbox-row{display:flex;align-items:flex-start;gap:9px;cursor:pointer}
.fokker-publicatie-box .checkbox-row input[type="checkbox"]{width:auto;flex:0 0 auto;margin-top:5px}

/* Publieke taalkeuze (alleen op de 12 vertaalbare pagina's). */
.topbar-actions{display:flex;align-items:center;gap:12px}
.language-switcher{display:flex;align-items:center;border:1px solid var(--line);background:white}
.language-switcher a{display:inline-flex;align-items:center;justify-content:center;min-width:38px;min-height:34px;padding:5px 8px;text-decoration:none;color:var(--green-dark);font-size:.78rem;font-weight:800;border-right:1px solid var(--line)}
.language-switcher a:last-child{border-right:0}.language-switcher a:hover{background:var(--green-soft)}
.language-switcher a[aria-current="page"]{background:var(--green-dark);color:white}
@media(max-width:760px){.topbar{gap:10px}.topbar-actions{gap:7px}.language-switcher a{min-width:32px;padding-inline:6px}.login-link,.account-menu summary{padding-inline:9px}}
