/* SekspartnerZoeken: owner-selected black / hot pink identity, local draft. */
:root{--ink:#171218;--plum:#b90050;--pink:#bd0053;--blush:#ffc6df;--paper:#ffd0e3;--soft:#ffe7f0;--line:#e4a5bf;--muted:#624b57;--white:#fff8fb;--radius:12px;--shadow:0 12px 25px #4111270d}
body{font-family:Source Sans,Arial,sans-serif;font-size:17px;background:var(--paper)}
h1,h2,h3,.quote{font-family:Impact,'Arial Narrow',Source Sans,Arial,sans-serif;font-weight:700;font-style:normal;letter-spacing:-.025em;line-height:1.03}
h1 em,h2 em{font-style:normal;font-weight:inherit}
h1{font-size:clamp(40px,5.1vw,69px);text-transform:uppercase;margin-bottom:16px}
h2{font-size:clamp(31px,3.1vw,43px)}
.eyebrow{font-weight:700;letter-spacing:.09em;font-size:12px;margin-bottom:10px}.eyebrow:before{display:none}
.notice{background:#151116;color:#e7c9d7;padding:4px 20px;font-size:11px;border-bottom:1px solid #ffffff18}
.site-header{background:#151116;color:white;backdrop-filter:none;border-bottom:0;position:relative}
.header-row{height:84px;gap:28px}
.brand{gap:12px;color:#fff}.brand-mascot{width:62px;height:62px;object-fit:contain;flex:none}
.brand-word{font-size:25px;font-weight:700;line-height:.9;letter-spacing:-.04em}.brand-word>span{color:#ff65aa}.brand-word small{color:#d8baca;font-size:9px;letter-spacing:.23em;margin-top:9px}
.main-nav{font-weight:700;font-size:15px}.main-nav a:hover{color:#ff82ba}
.site-header .icon-button{color:#fff;border-color:#ffffff3d;border-radius:9px}
.button{border-radius:8px;background:#be0054;color:white;border:1px solid #be0054;min-height:49px;padding:12px 22px;gap:9px;font-weight:700;box-shadow:none}
.button:hover{background:#970043;border-color:#970043;transform:none}
.button.light{background:transparent;color:#171218;border-color:#171218}.button.light:hover{background:#ffc1dc}
.site-header .button{background:#e60068;border-color:#e60068}.site-header .button:hover{background:#b90050}
.button svg:last-child:not(:first-child){display:none}
.hero{padding:30px 0 25px;grid-template-columns:1.35fr .75fr;gap:48px;align-items:center}
.hero p.lead{font-size:17px;line-height:1.5;max-width:650px;margin-bottom:0;color:#624b57}
.hero-actions{margin:18px 0 12px;gap:10px}.hero-foot{font-size:11px}
.hero-chooser{display:flex;align-items:center;gap:17px;background:#ffb5d4;border:1px solid #df8bad;border-radius:12px;padding:22px}
.chooser-mascot{width:89px;height:100px;object-fit:contain;flex:none}.hero-chooser h2{font-size:29px;margin-bottom:10px}.hero-chooser p{font-size:14px;line-height:1.4;margin-bottom:14px}.hero-chooser .eyebrow{font-size:10px}.hero-chooser .button{font-size:13px;padding:10px 13px;min-height:42px}
.hero-chooser h2 em{color:#8f003e}
.ritual{display:none}
.section-head{margin-bottom:13px}.section-head .eyebrow{margin-bottom:5px}.section-head h2{font-size:37px;margin-bottom:0}
.section{padding-bottom:45px}.filter-bar{margin-bottom:12px;gap:9px}.filter-button{border-radius:6px;font-weight:700;padding:9px 16px;background:transparent;color:var(--ink);border-color:#c68ba5;min-height:42px}
.filter-button[aria-pressed=true]{background:#171218;color:white;border-color:#171218}.filter-button:hover{border-color:#171218}
.statusline:empty{display:none}.statusline{margin:7px 0;font-size:12px;min-height:0}
.profile-grid{gap:25px 19px}.profile-card{min-width:0}.card-photo{border-radius:12px;aspect-ratio:3/3.6;margin-bottom:11px}.card-photo img{object-position:50% 28%}.favorite{background:#fff6fbeb;border:0;border-radius:8px}
.card-title{align-items:center;gap:8px}.card-title a{font-family:Source Sans,Arial,sans-serif;font-size:26px;font-weight:700;letter-spacing:-.02em;color:#171218;text-decoration:none}.card-title span{color:#654855;font-size:12px}.profile-card p{font-size:13px;color:#654855;margin:3px 0 11px}.card-arrow{display:none}
.card-action{display:block;background:#be0054;border:1px solid #be0054;color:white;text-align:center;text-decoration:none;font-size:14px;font-weight:700;padding:10px;border-radius:7px;line-height:1.25}.profile-card .card-action:hover{background:#970043;color:white;border-color:#970043}
.show-more{margin-top:25px}.quiz{border-radius:12px;margin:30px 0;background:#fff1f7;border:1px solid var(--line);padding:30px}.quiz h2{font-size:33px}.quiz button.choice{border-radius:7px;color:var(--ink)}
.dark-panel{background:#171218;border-radius:16px;padding:38px}.dark-panel:after{display:none}.dark-panel .eyebrow{color:#ff76b1}.dark-panel h2{color:white}.dark-panel h2 em{color:#ff76b1!important}.dark-panel .region-links a{color:#ffdbeb}.dark-panel .region-links a:hover{color:#ff76b1}.dark-panel p{color:#e7cad7}.dark-panel .search-results{color:#fff}.dark-panel .search-results small{color:#ddacc3}
.breadcrumb{margin:19px 0 0;font-size:12px}.local-hero{padding-top:18px}.local-hero h1{font-size:clamp(39px,4.8vw,65px)}
.local-jump{background:transparent;border:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);border-radius:0;padding:12px 0;margin:0 0 22px;gap:17px}.local-jump a{color:#634655}.local-jump span{font-size:13px}
.editorial{padding:40px 0;gap:60px}.prose h2{font-size:32px;line-height:1.15}.prose p{color:#624b57}.prose a{color:#9f0045}.aside-note h3{font-family:Source Sans,Arial,sans-serif;font-weight:700}.aside-note{border-color:#b90050}
.guide-card{border-radius:10px;background:#ffe7f0;min-height:200px}.guide-card:hover{background:#ffb6d3}.guide-card h3{font-family:Source Sans,Arial,sans-serif;font-size:25px;font-weight:700}.guide-card>span{color:#9f0045}
.faq summary{font-weight:700}.faq summary:after{font-family:Source Sans,Arial,sans-serif}
.site-footer{background:#171218;color:#fff;border:0}.site-footer .brand{color:#fff}.footer-main p,.footer-main small,.footer-main li a,.footer-bottom{color:#ddbdcc}.footer-bottom{border-color:#ffffff26}.footer-main h3{color:#ff78b3;font-family:Source Sans,Arial,sans-serif}
.page-intro h1,.guide-intro h1{font-size:clamp(39px,5vw,65px)}.guide-toc{border-color:var(--pink)}
.profile-heading{margin-bottom:17px;padding-top:19px}.profile-heading h1{font-size:57px}.profile-heading p{font-size:15px}.icon-button.favorite-heading{border-radius:9px}
.context-note{margin:0 0 20px;padding:9px 13px;background:#ffb9d7;border-radius:7px;font-size:12px}.profile-layout{grid-template-columns:1fr 1fr;gap:38px;padding-bottom:40px}.portrait-main{border-radius:14px;max-height:530px;aspect-ratio:3/3.6}.portrait-main img{object-position:50% 30%}.profile-info{background:#ffe8f2;padding:25px;border-radius:13px;position:static;border:1px solid #e8a4c1}.quote{font-family:Source Sans,Arial,sans-serif;font-weight:700;font-size:29px;line-height:1.3;margin-bottom:21px}.profile-info .button{min-height:56px;font-size:18px}.profile-info .eyebrow{font-size:11px}.profile-bio{margin-top:18px;font-size:15px;line-height:1.65}.tags{margin:17px 0;gap:7px}.tag{border-radius:5px;color:#8d003d}.preference-list{margin:21px 0}.gallery-caption{margin-top:14px}.locked-photo{aspect-ratio:1/1;border-radius:9px}.locked-photo img{filter:blur(9px) grayscale(1) brightness(.85)}.partner-note{color:#674c58}.profile-quick{display:none}
.toast{background:#171218}.preview-dialog{background:#ffe7f0;border-radius:12px}.preview-dialog h2{font-family:Source Sans,Arial,sans-serif;font-weight:700}.preview-dialog .button.light{color:#171218}
.menu-panel{background:#ffd0e3}.menu-heading h2{font-size:29px}.menu-primary a{font-family:Source Sans,Arial,sans-serif;font-weight:700;font-size:27px}
@media(max-width:1100px){.brand-word{font-size:21px}.brand-mascot{width:51px;height:51px}.main-nav{gap:17px}.hero{gap:25px}.hero-chooser{padding:18px;gap:10px}.chooser-mascot{width:65px}.hero-chooser h2{font-size:25px}}
@media(max-width:760px){.notice{font-size:10px;padding:4px 8px}.header-row{height:69px;gap:8px}.brand{gap:6px}.brand-mascot{width:43px;height:45px}.brand-word{font-size:18px;line-height:.94}.brand-word small{font-size:8px;margin-top:7px;letter-spacing:.12em}.header-actions{gap:6px}.site-header .icon-button{width:39px;height:39px}.hero{padding:23px 0 21px;display:block}.hero h1{font-size:40px;margin-bottom:11px}.hero .eyebrow{font-size:10px;margin-bottom:9px}.hero p.lead{font-size:14px;line-height:1.45;max-width:580px}.hero-actions{margin:14px 0 9px}.hero-actions .button{font-size:14px;padding:11px 17px;min-height:45px}.hero-actions .button.light{display:none}.hero-foot{font-size:10px}.hero-chooser{display:none}.section-head h2{font-size:29px}.section-head .eyebrow{display:none}.section-head .text-link{font-size:11px;margin-top:5px}.section-head{margin-bottom:12px;align-items:center}.filter-bar{gap:6px;margin-bottom:13px;flex-wrap:wrap}.filter-button{font-size:12px;min-height:38px;padding:8px 11px}.profile-grid{gap:21px 12px}.card-photo{aspect-ratio:3/3.8;border-radius:10px;margin-bottom:8px}.favorite{width:34px;height:34px}.card-title{gap:5px}.card-title a{font-size:23px}.card-title span{font-size:10px}.profile-card p{font-size:11px;margin-bottom:9px}.card-action{font-size:13px;padding:10px 5px;min-height:39px}.quiz{padding:23px;margin:26px 0}.quiz h2{font-size:29px}.section{padding-bottom:33px}.dark-panel{padding:27px 23px}.dark-panel h2{font-size:32px}.breadcrumb{font-size:11px;margin:15px 0 0}.local-hero{padding-top:16px}.local-hero h1{font-size:37px}.local-jump{font-size:11px;gap:8px 13px;margin-bottom:19px;padding:10px 0}.local-jump span{width:auto;font-size:11px}.local-jump a{font-size:11px}.editorial{padding:30px 0;gap:25px}.prose h2{font-size:29px}.site-footer{padding-top:30px}.profile-heading{padding-top:15px;margin-bottom:13px}.profile-heading h1{font-size:45px}.profile-heading p{font-size:12px}.profile-heading .eyebrow{font-size:10px;margin-bottom:5px}.context-note{font-size:11px;margin-bottom:13px;padding:8px 10px}.profile-layout{display:block}.portrait-main{aspect-ratio:3/3.7;border-radius:12px;max-height:none}.profile-quick{display:block;margin:0 0 15px}.profile-quick .button{width:100%;min-height:47px;font-size:16px}.gallery-caption{margin-top:12px;font-size:11px}.locked-grid{gap:8px}.locked-photo{aspect-ratio:1/1.05}.profile-info{margin-top:22px;padding:22px}.quote{font-size:25px}.profile-info .button{font-size:17px}.page-intro h1,.guide-intro h1{font-size:39px}}
.hero h1{font-size:clamp(40px,4.5vw,58px)}.hero{padding-top:24px;padding-bottom:24px}.hero-chooser{padding:18px}.section-head .eyebrow{display:none}.section-head h2{font-size:33px}.filter-bar{margin-bottom:9px}.portrait-main{width:100%;height:530px;aspect-ratio:auto}
@media(max-width:760px){.notice{display:none}.hero{padding:19px 0 22px}.hero>.eyebrow,.hero>div>.eyebrow{display:none}.hero h1{font-size:38px;margin-bottom:9px}.hero p.lead{line-height:1.4}.hero-actions{margin:12px 0 8px}.hero-foot{font-size:10px}.section-head h2{font-size:28px}.filter-bar{gap:7px;margin-bottom:10px}.filter-button{font-size:12px;padding:8px 13px}.local-hero h1{font-size:36px}.card-title{flex-wrap:wrap}.card-title span{font-size:10px}.statusline{font-size:11px}.portrait-main{height:auto;aspect-ratio:3/3.7}}
@media(max-width:350px){.wrap{width:calc(100% - 28px)}.brand-word{font-size:16px}.brand-mascot{width:35px;height:39px}.brand-word small{font-size:7px}.header-actions{gap:5px}.site-header .icon-button{width:35px;height:37px}.hero h1{font-size:34px}.local-hero h1{font-size:33px}.hero p.lead{font-size:13px}.filter-button{font-size:11px;padding:8px 11px}.section-head h2{font-size:26px}.card-title a{font-size:21px}.card-title span{font-size:9px}.profile-card p{font-size:10px}.card-action{font-size:12px}.profile-heading h1{font-size:42px}}

/* Preserve the full head when the desktop portrait is cropped wide. */
.portrait-main img{object-position:50% 0%}

/* Mobile first screen: portraits and card action before secondary discovery tools. */
@media(max-width:760px){
 .header-row{height:60px}.brand-mascot{height:42px}.brand-word small{margin-top:6px}
 body[data-page-type="home"] .hero,body[data-page-type="city"] .hero,body[data-page-type="province"] .hero{padding:15px 0 17px}
 body[data-page-type="home"] .hero h1,body[data-page-type="city"] .hero h1,body[data-page-type="province"] .hero h1{font-size:34px;line-height:1.02;margin-bottom:0}
 body[data-page-type="home"] .hero .lead,body[data-page-type="city"] .hero .lead,body[data-page-type="province"] .hero .lead,
 body[data-page-type="home"] .hero-actions,body[data-page-type="city"] .hero-actions,body[data-page-type="province"] .hero-actions,
 body[data-page-type="home"] .hero-foot,body[data-page-type="city"] .hero-foot,body[data-page-type="province"] .hero-foot{display:none}
 body[data-page-type="home"] #profielen>.section-head,body[data-page-type="city"] #profielen>.section-head,body[data-page-type="province"] #profielen>.section-head{display:none}
 .filter-bar{margin:0 0 9px;gap:7px}.filter-button{min-height:38px}
 .statusline{margin:4px 0 8px}.profile-card p{margin-bottom:8px}.card-action{min-height:44px;display:flex;align-items:center;justify-content:center}
 .breadcrumb{margin-top:11px;line-height:1.3}.profile-heading{padding-top:12px}.profile-heading h1{font-size:42px}
}
@media(max-width:350px){body[data-page-type="home"] .hero h1,body[data-page-type="city"] .hero h1,body[data-page-type="province"] .hero h1{font-size:30px}.filter-button{padding-left:11px;padding-right:11px}}

@media(max-width:760px) and (max-height:620px){body[data-page-type="home"] .profile-card p,body[data-page-type="city"] .profile-card p,body[data-page-type="province"] .profile-card p{display:none}}

/* Shared geographic contract: visible links, real local facts and an offline map. */
.geo-quick{display:flex;flex-wrap:wrap;gap:8px 22px;margin:-7px 0 22px;font-size:13px}
.geo-quick a{text-decoration:underline;text-underline-offset:4px;color:var(--ink)}
.geo-overview{margin:35px 0;padding:28px;border:1px solid #dfcbd5;border-radius:15px;background:#fff9fc;scroll-margin-top:95px}
.geo-overview .section-head{margin-bottom:22px}.geo-overview .section-head>a{font-size:13px;max-width:220px;text-align:right}
.geo-layout{display:grid;grid-template-columns:1fr 1.08fr;grid-template-areas:"info map" "towns map";gap:18px 30px;align-items:start}
.geo-info{grid-area:info}.geo-map-column{grid-area:map;min-width:0}.geo-towns{grid-area:towns}
.geo-info p{font-size:15px;line-height:1.55;margin:18px 0}.geo-info p a{text-decoration:underline;text-underline-offset:3px}
.geo-facts{display:flex;gap:12px 25px;flex-wrap:wrap;margin:0;padding-bottom:15px;border-bottom:1px solid #e5d8df}
.geo-facts div{min-width:80px}.geo-facts dt{color:#71606a;font-size:12px}.geo-facts dd{font-size:17px;font-weight:700;margin:3px 0 0}
.geo-towns{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.geo-town{display:flex;align-items:center;gap:8px;padding:10px;background:#fff;border:1px solid #e5d8df;border-radius:8px;min-width:0;min-height:57px}
.geo-town:hover{border-color:#cb185e}.geo-number{display:grid;place-items:center;flex-shrink:0;width:24px;height:24px;border-radius:50%;background:#f5dce7;font-size:12px;font-weight:700}
.geo-town strong{display:block;font-size:14px;line-height:1.15;overflow-wrap:anywhere}.geo-town small{display:block;font-size:11px;color:#786471;margin-top:4px}.geo-town b{font-size:11px;white-space:nowrap;margin-left:auto}
.geo-map{margin:0;background:#191a23;border-radius:10px;overflow:hidden}.geo-map-stage{position:relative;aspect-ratio:760/414}.geo-map img{display:block;width:100%;height:100%;object-fit:contain}
.geo-map-load{position:absolute;left:15px;bottom:14px;border:1px solid #dbb7c8;border-radius:6px;background:#fff2f8;color:#57132f;padding:10px 13px;min-height:44px;font-size:13px;font-weight:700;cursor:pointer}
.geo-map iframe{position:absolute;inset:0;width:100%;height:100%;border:0;background:#e8e8e8}
.geo-map{scroll-margin-top:95px}.geo-map-fallback{margin-top:10px;border:1px solid #dfcbd5;border-radius:8px;padding:10px 12px;font-size:12px}.geo-map-fallback summary{cursor:pointer;font-weight:700}.geo-map-fallback img{display:block;width:100%;height:auto;margin-top:10px;border-radius:6px}.geo-map-fallback p{font-size:11px;margin:8px 0 0}
.geo-map figcaption{padding:12px 14px;color:#d7c5cf;font-size:11px;line-height:1.5}.geo-map figcaption a{color:#fff;text-decoration:underline}
.geo-map-note,.geo-sources{font-size:11px!important;line-height:1.55;color:#76616e}.geo-map-note a,.geo-sources a{text-decoration:underline}
.geo-related{display:grid;grid-template-columns:1fr 1fr;gap:30px;padding-top:22px;margin-top:22px;border-top:1px solid #dfcbd5;scroll-margin-top:100px}
.geo-related h3{font:700 16px/1.3 'Source Sans 3',sans-serif;margin:0 0 12px}.geo-link-list{display:flex;flex-wrap:wrap;gap:9px 17px;margin-bottom:14px}.geo-related a{font-size:13px;text-decoration:underline;text-underline-offset:4px}
.geo-related>div>a{font-weight:700}.geo-sources{margin:21px 0 0}.geo-footer{margin:0 0 30px;padding-top:0;border-top:0;padding-bottom:27px;border-bottom:1px solid #ddc4d1}
@media(max-width:760px){
 .geo-quick{margin:-4px 0 14px;gap:8px 14px;font-size:11px;line-height:1.4}
 .geo-overview{margin:25px 0;padding:18px 14px;scroll-margin-top:78px}.geo-overview .section-head{display:block;margin-bottom:17px}.geo-overview .section-head h2{font-size:29px}.geo-overview .section-head>a{display:inline-block;text-align:left;margin-top:10px}
 .geo-layout{display:grid;grid-template-columns:1fr;grid-template-areas:"info" "map" "towns";gap:18px}.geo-layout>div{width:100%}.geo-facts{gap:12px 17px}.geo-facts dd{font-size:15px}.geo-info p{font-size:14px}.geo-map{scroll-margin-top:78px}
 .geo-map-stage{aspect-ratio:1.45}.geo-town{padding:8px;gap:6px;flex-wrap:wrap}.geo-town strong{font-size:13px}.geo-town b{font-size:10px}.geo-related{grid-template-columns:1fr;gap:20px}.geo-link-list{gap:12px 17px}.geo-related a{font-size:13px}
 .geo-footer{margin-bottom:22px}.geo-map-load{left:10px;bottom:10px;font-size:12px}
}
@media(max-width:760px) and (max-height:620px){
 body[data-page-type="city"] .card-photo,body[data-page-type="province"] .card-photo{aspect-ratio:3/3.3}
}

/* V4: retain the approved first fold; expand the lower-page catalogue. */
.catalog-break{padding:28px 0;text-align:center}.catalog-break .button{margin:auto}
.home-city-links{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:20px 0}
.home-city-links a{color:#fff;text-decoration:underline;text-underline-offset:4px}
.geo-layout{grid-template-areas:"info map";grid-template-rows:auto}
.geo-town-group{grid-column:1/-1;min-width:0}.geo-town-group h3{margin:12px 0}
.geo-town-group .geo-towns{grid-area:auto;grid-template-columns:repeat(4,minmax(0,1fr))}
.geo-towns[data-geo-featured-towns]{grid-column:1/-1;grid-area:auto;grid-template-columns:repeat(4,minmax(0,1fr))}
.prose table{width:100%;border-collapse:collapse;font-size:14px;display:block;overflow-x:auto}
.prose th,.prose td{padding:10px;border-bottom:1px solid #e9dce3;text-align:left}
@media(max-width:760px){.home-city-links{grid-template-columns:1fr 1fr}.geo-layout{grid-template-areas:"info" "map"}.geo-town-group .geo-towns,.geo-towns[data-geo-featured-towns]{grid-template-columns:1fr 1fr}.geo-layout>.geo-town-group{width:auto}}
/* Independent identity for seksdatematch.nl; approved layout retained. */
:root{--plum:#6530a1;--pink:#6530a1;--paper:#fbf9ff;--blush:#c9b6ee;--soft:#fbf9ff;--ink:#211d24;--muted:#5b505a;--line:#d4c6cc;--white:#fffdfd}
.notice,.site-header,.site-footer,.dark-panel{background:#663b97;color:#fff}
.notice{color:#f8edf4}.brand-word>span,.hero h1 em,.profile-heading h1{color:#6530a1}
.site-header .brand-word>span,.site-footer .brand-word>span{color:#c9b6ee}
.button,.card-action,.filter-button[aria-pressed="true"]{background:#6530a1;border-color:#6530a1;color:#fff}
.button.light{background:transparent;color:var(--ink);border-color:var(--ink)}
.hero-chooser{background:color-mix(in srgb,#c9b6ee 42%,#fbf9ff);border-color:#0002}
h1,h2,h3,.quote{font-family:'Arial Black','Arial Narrow',Arial,sans-serif}
.brand-word{font-family:'Trebuchet MS',Arial,sans-serif;font-size:25px;letter-spacing:-1.1px}
.hero h1{overflow-wrap:anywhere;hyphens:auto}.local-hero h1{font-size:clamp(32px,4.8vw,64px)}
.brand-mascot{width:62px;height:62px;object-fit:contain}.hero-chooser img{object-fit:contain}
@media(max-width:760px){.brand-word{font-size:clamp(14px,4.6vw,21px);letter-spacing:-.8px}.brand-mascot{width:39px;height:44px}.brand{gap:6px;min-width:0}.header-row{gap:8px}.brand small{font-size:7px;letter-spacing:1px}.local-hero h1{font-size:32px;line-height:1.02}}
