:root {
    --pink:#fa237b;
    --ink:#22172c;
    --muted:#74717d;
    --purple:#6c3de2;
    --line:#ece7ed;
    --shadow:0 22px 60px #22172c1c
}

* {
    box-sizing:border-box
}

html {
    scroll-behavior:smooth
}

body {
    margin:0;
    font-family:Inter,ui-sans-serif,system-ui,-apple-system,'Segoe UI',Arial,sans-serif;
    color:var(--ink);
    background:#fff
}

a {
    color:inherit;
    text-decoration:none
}

button,input,select {
    font:inherit
}

.wrap {
    width:min(1200px,calc(100% - 48px));
    margin:auto
}

.top {
    background:#fff;
    position:relative;
    z-index:10;
    box-shadow:0 1px 12px #0000000b
}

.nav {
    height:76px;
    display:flex;
    align-items:center;
    gap:30px
}

.brand {
    white-space:nowrap;
    font-size:23px;
    font-weight:850;
    letter-spacing:-1.1px
}

.brand>span:last-child {
    color:var(--pink)
}

.heart {
    color:var(--pink);
    font-size:43px;
    line-height:0;
    vertical-align:-4px;
    font-weight:800
}

.links {
    display:flex;
    gap:26px;
    margin:auto;
    font-size:14px;
    font-weight:650
}

.links a {
    padding:28px 0;
    position:relative
}

.links a:hover,.links .active {
    color:var(--pink)
}

.links .active:after {
    content:"";
    position:absolute;
    bottom:0;
    left:0;
    right:0;
    height:3px;
    background:var(--pink)
}

.nav-actions {
    display:flex;
    gap:12px;
    align-items:center
}

.login {
    padding:12px 17px;
    background:#f5f2f6;
    border-radius:10px;
    font-size:14px;
    font-weight:750
}

.btn {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:10px;
    border:0;
    border-radius:11px;
    background:var(--pink);
    color:white;
    font-weight:780;
    padding:16px 22px;
    cursor:pointer;
    box-shadow:0 7px 18px #f7257b27;
    transition:transform .18s,background .18s;
    text-align:center
}

.btn:hover {
    background:#e90c68;
    transform:translateY(-1px)
}

.btn.small {
    padding:12px 16px;
    font-size:13px
}

.btn.outline {
    background:#ffffff12;
    box-shadow:none;
    border:1px solid #ffffffad
}

.btn.full {
    width:100%
}

.menu-toggle {
    display:none
}

.hero {
    background:linear-gradient(110deg,#211225 0%,#38203b 48%,#7a4057 100%);
    overflow:hidden;
    color:white
}

.hero-grid {
    min-height:550px;
    display:grid;
    grid-template-columns:1.03fr .85fr .9fr;
    align-items:center;
    gap:0;
    position:relative
}

.hero-copy {
    position:relative;
    z-index:2;
    padding:64px 0
}

.eyebrow {
    font-size:11px;
    letter-spacing:2px;
    font-weight:850;
    color:#ffd1e3
}

.eyebrow.pink {
    color:var(--pink)
}

h1,h2,h3,p {
    margin-top:0
}

h1 {
    font-size:clamp(42px,4vw,62px);
    letter-spacing:-2.7px;
    line-height:1.08;
    margin:16px 0 18px
}

h1 em {
    font-style:normal;
    color:#ff4397
}

.lead {
    font-size:17px;
    line-height:1.6;
    max-width:490px;
    color:#f5eaf1
}

.benefits {
    list-style:none;
    padding:0;
    margin:26px 0;
    display:grid;
    gap:12px;
    font-size:14px
}

.benefits li:before {
    content:'✓';
    display:inline-grid;
    place-items:center;
    margin-right:12px;
    width:24px;
    height:24px;
    background:var(--pink);
    border-radius:50%;
    font-weight:900
}

.hero-actions {
    display:flex;
    gap:10px;
    flex-wrap:wrap
}

.hero-visual {
    align-self:stretch;
    min-width:0;
    background-image:linear-gradient(90deg,#211225 0%,transparent 22%,transparent 80%,#6b3751 100%),url('/assets/img/hero.webp');
    background-position:center;
    background-size:cover;
    mask-image:linear-gradient(90deg,transparent,#000 18%,#000 85%,transparent)
}

.search-card {
    position:relative;
    z-index:3;
    background:#fff;
    color:var(--ink);
    padding:28px;
    border-radius:16px;
    box-shadow:var(--shadow);
    margin:30px 0 30px -14px
}

.card-kicker {
    font-size:11px;
    letter-spacing:1.5px;
    color:var(--pink);
    font-weight:850
}

.search-card h2 {
    font-size:23px;
    letter-spacing:-.6px;
    margin:8px 0
}

.search-card p {
    font-size:13px;
    color:var(--muted);
    margin-bottom:17px
}

.search-card form {
    display:grid;
    gap:12px
}

.search-card label,.waitlist-box label:not(.consent) {
    display:grid;
    gap:6px;
    font-size:12px;
    font-weight:750
}

.search-card select,.search-card input,.waitlist-box input[type=email] {
    width:100%;
    min-width:0;
    border:1px solid #ddd9e3;
    border-radius:8px;
    padding:11px 12px;
    background:#fff;
    color:var(--ink);
    outline:none
}

.search-card select:focus,.search-card input:focus,.waitlist-box input:focus {
    border-color:var(--pink);
    box-shadow:0 0 0 3px #fa237b20
}

.ages {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:12px
}

.card-note {
    text-align:center;
    font-size:12px;
    color:var(--pink);
    font-weight:750;
    margin-top:17px
}

.features {
    display:grid;
    grid-template-columns:repeat(6,1fr);
    padding:38px 0 42px
}

.feature {
    text-align:center;
    padding:0 16px;
    border-right:1px solid var(--line)
}

.feature:last-child {
    border:0
}

.feature>span {
    display:grid;
    place-items:center;
    margin:0 auto 13px;
    width:56px;
    height:56px;
    border-radius:18px;
    background:#fff0f7;
    color:var(--pink);
    font-size:30px;
    font-weight:750
}

.feature:nth-child(even)>span {
    color:var(--purple);
    background:#f4efff
}

.feature h3 {
    font-size:14px;
    margin-bottom:7px
}

.feature p {
    font-size:12px;
    line-height:1.5;
    color:var(--muted);
    margin:0
}

.steps {
    padding:65px 0 85px
}

.section-heading {
    display:flex;
    align-items:end;
    justify-content:space-between;
    gap:20px
}

.section-heading h2,.waitlist h2 {
    font-size:35px;
    letter-spacing:-1.2px;
    margin:8px 0 0
}

.section-heading>p {
    color:var(--muted)
}

.step-grid {
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:22px;
    margin-top:30px
}

.step-grid article {
    border:1px solid var(--line);
    border-radius:16px;
    padding:30px;
    background:linear-gradient(160deg,#fff,#fff7fa)
}

.step-grid b {
    font-size:32px;
    color:var(--pink)
}

.step-grid h3 {
    margin:16px 0 8px
}

.step-grid p {
    color:var(--muted);
    line-height:1.6;
    font-size:14px;
    margin:0
}

.statement {
    background:linear-gradient(110deg,#321337,#8a265c 62%,#fa237b);
    color:white
}

.statement-inner {
    padding:65px 0;
    display:flex;
    align-items:center;
    justify-content:space-between
}

.statement h2 {
    font-size:clamp(30px,3.6vw,48px);
    letter-spacing:-1.4px;
    line-height:1.13;
    margin:13px 0
}

.statement p {
    color:#ffedf5
}

.statement-heart {
    font-size:180px;
    color:#ffffff50;
    line-height:1
}

.waitlist {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:60px;
    padding:85px 0;
    align-items:center
}

.waitlist p {
    line-height:1.75;
    color:var(--muted);
    max-width:500px
}

.waitlist-box {
    background:#fff;
    box-shadow:var(--shadow);
    border:1px solid var(--line);
    padding:28px;
    border-radius:17px
}

.waitlist-box form {
    display:grid;
    gap:13px
}

.waitlist-box input[type=email] {
    padding:15px
}

.consent {
    display:flex;
    gap:10px;
    align-items:start;
    font-size:12px;
    line-height:1.5;
    color:var(--muted)
}

.consent input {
    margin-top:3px;
    accent-color:var(--pink)
}

.consent a {
    color:var(--pink);
    text-decoration:underline
}

.trap {
    position:absolute;
    left:-99999px;
    width:1px;
    height:1px;
    overflow:hidden
}

.notice {
    padding:12px;
    border-radius:8px;
    margin-bottom:15px;
    font-size:13px
}

.notice.success {
    background:#e7f8ef;
    color:#126b3d
}

.notice.error {
    background:#fff0f0;
    color:#9d1b1b
}

footer {
    background:#24162a;
    color:#fff;
    padding:36px 0
}

.footer-inner {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px
}

.footer-inner p {
    font-size:12px;
    color:#c4b8ca;
    margin:10px 0 0
}

.footer-inner>div:last-child {
    text-align:right
}

.footer-inner>div:last-child a {
    font-size:12px;
    color:#ff92bf
}

.modal-backdrop {
    position:fixed;
    inset:0;
    background:#1b1025b8;
    z-index:30;
    display:grid;
    place-items:center;
    padding:20px
}

.modal {
    background:white;
    border-radius:20px;
    padding:42px;
    max-width:560px;
    width:100%;
    position:relative;
    box-shadow:var(--shadow)
}

.modal h2 {
    font-size:30px;
    margin:14px 0
}

.modal p {
    line-height:1.7;
    color:var(--muted)
}

.modal-close {
    position:absolute;
    right:20px;
    top:12px;
    font-size:32px;
    color:var(--muted)
}

@media(max-width:1100px) {
    .nav {
        gap:18px
    }

    .links {
        gap:14px
    }

    .brand {
        font-size:19px
    }

    .hero-grid {
        grid-template-columns:1.1fr .7fr .9fr
    }

    .hero-visual {
        opacity:.75
    }

    .search-card {
        padding:22px
    }

    .features {
        grid-template-columns:repeat(3,1fr);
        gap:25px
    }

    .feature:nth-child(3) {
        border:0
    }

}

@media(max-width:800px) {
    .wrap {
        width:min(100% - 32px,560px)
    }

    .nav {
        height:66px;
        justify-content:space-between
    }

    .menu-toggle {
        display:block;
        background:none;
        border:0;
        font-size:26px;
        color:var(--ink);
        cursor:pointer
    }

    .nav-actions {
        display:none
    }

    .links {
        display:none;
        position:absolute;
        top:66px;
        left:0;
        right:0;
        background:white;
        box-shadow:0 12px 18px #0002;
        padding:14px 24px;
        flex-direction:column;
        gap:0
    }

    .links.open {
        display:flex
    }

    .links a {
        padding:12px 0
    }

    .links .active:after {
        display:none
    }

    .hero-grid {
        display:flex;
        flex-direction:column;
        min-height:0;
        align-items:stretch
    }

    .hero-copy {
        padding:58px 0 32px;
        position:relative
    }

    .hero:before {
        content:"";
        position:absolute
    }

    .hero-visual {
        position:absolute;
        inset:66px 0 auto 0;
        height:430px;
        opacity:.33;
        mask-image:linear-gradient(180deg,#000,transparent);
        background-position:center 25%
    }

    .hero-copy,.search-card {
        z-index:2
    }

    .hero h1 {
        font-size:clamp(40px,9vw,55px)
    }

    .hero-actions {
        gap:12px
    }

    .search-card {
        margin:12px 0 30px;
        padding:24px
    }

    .features {
        grid-template-columns:repeat(2,1fr);
        padding:35px 0
    }

    .feature {
        border:0!important;
        padding:8px
    }

    .steps {
        padding:42px 0 65px
    }

    .section-heading {
        display:block
    }

    .step-grid {
        grid-template-columns:1fr;
        gap:13px
    }

    .step-grid article {
        padding:23px
    }

    .statement-inner {
        padding:55px 0
    }

    .statement-heart {
        display:none
    }

    .waitlist {
        grid-template-columns:1fr;
        gap:20px;
        padding:65px 0
    }

    .footer-inner {
        flex-direction:column;
        align-items:start
    }

    .footer-inner>div:last-child {
        text-align:left
    }

    .modal {
        padding:30px 22px
    }

}

@media(max-width:390px) {
    .brand {
        font-size:18px
    }

    .heart {
        font-size:36px
    }

    .hero-actions .btn {
        width:100%
    }

    .features {
        gap:15px
    }

    .search-card {
        padding:18px
    }

}

/* ==========================================================
   Keresematarsam.hu – egységes, reszponzív lábléc
   ========================================================== */
.site-footer {
    background: #24162a;
    color: #f9f3fa;
    padding: 42px 0 0;
}
.site-footer .footer-top {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 24px;
}
.site-footer .footer-brand .brand {
    color: #fff;
}
.site-footer .footer-brand > p {
    margin: 8px 0 14px;
    font-size: 13px;
    color: #cfc1d5;
}
.footer-pill {
    display: inline-flex;
    padding: 6px 12px;
    border: 1px solid rgba(255,255,255,.16);
    border-radius: 999px;
    color: #f2d6e8;
    font-size: 12px;
}
.footer-links {
    display: flex;
    flex-wrap: wrap;
    gap: 12px 24px;
    padding-top: 8px;
}
.site-footer .footer-links a,
.site-footer .operator-details a {
    color: #ff9cc6;
    text-decoration: none;
}
.site-footer .footer-links a:hover,
.site-footer .operator-details a:hover {
    color: #fff;
    text-decoration: underline;
}
.site-footer .operator-details {
    margin: 32px 0 0;
    padding: 26px 0 30px;
    border-top: 1px solid rgba(255,255,255,.16);
}
.site-footer .operator-details h2 {
    color: #fff;
    font-size: 17px;
    line-height: 1.4;
    margin: 0 0 22px;
}
.site-footer .operator-grid {
    display: grid;
    grid-template-columns: 1.05fr 1fr 1.25fr;
    gap: 24px;
}
.site-footer .operator-item {
    min-width: 0;
}
.site-footer .operator-label {
    display: block;
    margin-bottom: 12px;
    color: #d5a7c8;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
}
.site-footer .operator-item strong {
    color: #fff;
    font-weight: 650;
}
.site-footer .operator-item p {
    margin: 7px 0;
    color: #e1d5e5;
    font-size: 13px;
    line-height: 1.75;
    overflow-wrap: anywhere;
}
.site-footer .footer-bottom {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 10px 20px;
    padding: 18px 0 22px;
    border-top: 1px solid rgba(255,255,255,.12);
    color: #b9a9c0;
    font-size: 12px;
}
@media (max-width: 760px) {
    .site-footer { padding-top: 30px; }
    .site-footer .footer-top { flex-direction: column; }
    .site-footer .operator-grid { grid-template-columns: 1fr; gap: 20px; }
    .site-footer .operator-details { margin-top: 26px; }
    .site-footer .footer-bottom { flex-direction: column; }
}

/* v0.3 – Belépés és regisztráció */
.auth-modal { max-width: 620px; width: min(620px, calc(100vw - 24px)); max-height: calc(100dvh - 36px); overflow-y: auto; }
.auth-modal .auth-form { display: grid; gap: 14px; margin: 22px 0; }
.auth-form > label:not(.auth-check), .partner-panel > label:not(.auth-check) { display: grid; gap: 7px; font-size: 13px; font-weight: 700; color: #39243e; }
.auth-form input:not([type="checkbox"]):not([type="radio"]), .auth-form select {
  width: 100%; min-width: 0; border: 1px solid #e6dfe8; border-radius: 11px;
  background: #fff; padding: 12px 14px; color: #24162a; font: inherit;
}
.auth-form input:focus, .auth-form select:focus { outline: 2px solid #fa237b66; border-color: #fa237b; }
.auth-form .btn { border: 0; cursor: pointer; width: 100%; justify-content: center; }
.account-switch { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin: 18px 0; }
.account-switch button { padding: 12px; border-radius: 11px; border: 1px solid #eee1e9; background: #f9f5fa; cursor: pointer; font-weight: 700; }
.account-switch button.active { background: #fa237b; color: white; border-color: #fa237b; }
.birth-fields { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 8px; margin: 8px 0 16px; }
.gender-choice { display: flex; gap: 18px; margin: 8px 0 16px; }
.gender-choice label { display: flex; gap: 7px; align-items: center; }
.partner-panel { border: 1px solid #eee1e9; padding: 18px; border-radius: 14px; margin: 12px 0; }
.partner-panel h3 { font-size: 16px; margin: 0 0 14px; }
.auth-check { display: flex; align-items: flex-start; gap: 10px; font-size: 13px; line-height: 1.6; }
.auth-check input { margin-top: 4px; }
.auth-check a, .auth-bottom a { color: #d81669; text-decoration: underline; }
.auth-bottom { font-size: 14px; margin: 10px 0; }
.auth-notice { padding: 12px 15px; border-radius: 10px; background: #fff2f8; color: #9d1652; margin: 15px 0; }
#couple-fields[hidden], #single-fields[hidden] { display: none; }
@media(max-width: 480px) { .auth-modal { padding: 20px; } .birth-fields { gap: 5px; } }

/* v0.3.1 – SecureLayer Challenge within authentication forms */
.auth-form .auth-challenge,
.auth-form > .sl-captcha { margin: 2px 0 8px; width: 100%; }
.auth-form .auth-challenge .sl-captcha { margin: 0; }
.auth-form .auth-challenge + input[type="hidden"] + .btn { margin-top: 0; }

/* v0.3.2 – search teaser is not a form until search is implemented */
.search-preview { display: block; }
.search-preview .search-cta { display: flex; justify-content: center; text-align: center; text-decoration: none; }

/* v0.4: profil és fotókezelés */
.auth-modal { max-width: 720px; width: min(720px, calc(100vw - 24px)); }
.profile-form textarea { display:block; width:100%; border:1px solid #e6dfe8; border-radius:11px; padding:12px 14px; font:inherit; resize:vertical; min-height:110px; }
.profile-hint { font-size:12px; line-height:1.6; color:#776c7e; }
.profile-photo-section { border-top:1px solid #eee1e9; margin-top:28px; padding-top:22px; }
.profile-photo-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(155px,1fr)); gap:14px; margin:18px 0; }
.profile-photo-grid img { width:100%; aspect-ratio:4/5; object-fit:cover; border-radius:12px; background:#f3eaf2; }
.profile-photo-card { border:1px solid #eee1e9; border-radius:14px; padding:10px; min-width:0; }
.profile-photo-card p { font-size:12px; color:#776c7e; margin:8px 0; }
.photo-actions { display:flex; flex-wrap:wrap; gap:5px; }
.photo-actions button { border:1px solid #e9d8e4; border-radius:7px; padding:6px 8px; background:#fff2f8; color:#a5145a; cursor:pointer; font-size:12px; }
.account-buttons { display:flex; flex-wrap:wrap; align-items:center; gap:12px; margin:18px 0; }
.profile-bio { white-space:normal; overflow-wrap:anywhere; line-height:1.75; }
@media(max-width:480px) { .profile-photo-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }

/* v0.4.5 – full page tabbed profile editor */
.nav-logout{margin:0}.nav-logout button{font:inherit;cursor:pointer}
.member-sidebar{align-self:start;position:sticky;top:20px}.member-sidebar a.selected{background:#fff0f6;color:#ed1674;border-radius:9px;font-weight:800}
.member-content{min-width:0}.profile-editor-head h1{font-size:clamp(26px,3vw,38px);margin:10px 0}.profile-editor-head p{color:#716478;line-height:1.6}
.profile-tabs{display:flex;flex-wrap:wrap;gap:9px;padding:20px 0;border-bottom:1px solid #efe4ed;margin-bottom:26px}.profile-tabs a{display:inline-flex;align-items:center;justify-content:center;border:1px solid #f0dfe8;border-radius:12px;padding:11px 14px;text-decoration:none;color:#96365f;background:#fff7fb;font-size:13px;font-weight:750;transition:background .15s,color .15s}.profile-tabs a:hover,.profile-tabs a.current{background:#fa237b;color:white;border-color:#fa237b}
.editor-panel{border:1px solid #f0e4ec;border-radius:18px;padding:clamp(18px,3vw,30px);background:#fff;box-shadow:0 12px 32px #2c103808}.editor-panel-title{display:flex;align-items:center;justify-content:space-between;gap:15px;border-bottom:1px solid #f0e4ec;padding-bottom:18px;margin-bottom:22px}.editor-panel-title h2{font-size:21px;margin:0}.editor-panel-title span{color:#9b8798;font-size:13px}
.editor-panel .auth-form{display:grid;gap:20px}.editor-panel .auth-form label{display:grid;gap:8px;font-weight:700;font-size:14px}.editor-panel input:not([type=file]),.editor-panel textarea,.editor-panel select{width:100%;max-width:100%;border:1px solid #e7dce7;border-radius:11px;background:#fff;padding:13px 15px;font:inherit;color:#281b30;box-sizing:border-box}.editor-panel textarea{min-height:130px;resize:vertical}.editor-panel input:focus,.editor-panel textarea:focus,.editor-panel select:focus{outline:2px solid #fa237b44;border-color:#fa237b}.editor-actions{display:flex;align-items:center;gap:18px;flex-wrap:wrap;padding-top:8px}.editor-actions .btn{width:auto;min-width:205px}.editor-preview{color:#e31c73;text-decoration:none;font-weight:700}.editor-info{border-radius:12px;background:#fff4f9;border:1px solid #f7dce8;padding:18px;line-height:1.7;color:#754b64}
.photo-upload-form{display:grid;gap:16px;max-width:580px}.photo-upload-form .btn{width:fit-content;min-width:190px;border:0;cursor:pointer}.upload-zone{display:flex;flex-direction:column;align-items:center;text-align:center;gap:8px;padding:30px 18px;border:2px dashed #e7abc9;border-radius:16px;background:#fff8fc;cursor:pointer}.upload-zone:hover{background:#fff0f7;border-color:#fa237b}.upload-zone .upload-icon{display:grid;place-items:center;width:48px;height:48px;border-radius:50%;background:#ffe0ee;color:#fa237b;font-size:30px}.upload-zone small{font-size:12px;color:#827083}.upload-zone input[type=file]{max-width:100%;font-size:13px;margin-top:9px}.profile-photo-grid{margin-top:26px}.profile-photo-card{box-shadow:0 8px 24px #35132a0c}.profile-photo-card .photo-actions button:hover{background:#f9d7e8}
.public-profile h2{font-size:clamp(28px,3vw,40px);margin:12px 0}.public-profile>p{line-height:1.75}.public-profile .profile-bio{padding:18px;border-radius:12px;background:#fff7fb}.public-profile .btn{margin-top:12px}
@media(max-width:800px){.member-sidebar{position:static}.profile-tabs{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:thin;padding-bottom:14px}.profile-tabs a{white-space:nowrap;flex-shrink:0}.editor-actions .btn{width:100%}.editor-panel{padding:17px}.photo-upload-form .btn{width:100%}}


/* v0.4.6 – restore missing member page shell styles */
.member-page{background:#faf6fb;padding:38px 0 64px;min-height:calc(100vh - 250px)}
.member-page .member-layout{display:grid;grid-template-columns:minmax(210px,240px) minmax(0,1fr);align-items:start;gap:26px;width:min(1180px,calc(100% - 40px));margin-inline:auto}
.member-page .member-sidebar{display:flex;flex-direction:column;gap:6px;background:#fff;border:1px solid #f0e2ec;border-radius:20px;padding:22px 16px;box-shadow:0 12px 35px rgba(54,19,50,.035);position:sticky;top:20px}
.member-page .member-side-title{font-size:14px;font-weight:800;color:#f31d7b;padding:6px 12px 14px}
.member-page .member-sidebar a{display:block;text-decoration:none;color:#302038;font-size:14px;font-weight:700;padding:13px 12px;border-radius:10px;transition:background .15s,color .15s}
.member-page .member-sidebar a:hover{background:#fff4f9;color:#d7196b}
.member-page .member-sidebar a.selected{background:#fff0f6;color:#e81c75}
.member-page .member-content{background:#fff;border:1px solid #f0e2ec;border-radius:20px;padding:clamp(22px,3vw,42px);box-shadow:0 12px 35px rgba(54,19,50,.035);min-width:0}
.member-page .member-content > :first-child{margin-top:0}
.member-page .public-profile .profile-bio{border:1px solid #f7e0ed;padding:22px;border-radius:14px}
.member-page .public-profile .btn{display:inline-flex;width:auto;text-decoration:none}
.member-page .profile-editor-head{margin-bottom:20px}
.member-page .profile-tabs{margin-top:16px}
@media(max-width:850px){.member-page{padding:22px 0 44px}.member-page .member-layout{grid-template-columns:1fr;gap:18px;width:min(100% - 24px,760px)}.member-page .member-sidebar{position:static;display:flex;flex-direction:row;flex-wrap:wrap;gap:5px;padding:12px}.member-page .member-side-title{width:100%;padding:4px 10px}.member-page .member-sidebar a{padding:10px 12px;font-size:13px}.member-page .member-content{padding:22px 16px}}
@media(max-width:480px){.member-page .member-layout{width:calc(100% - 16px)}.member-page .member-sidebar a{font-size:12px}.member-page .member-content{padding:20px 12px}.member-page .profile-tabs{margin-bottom:16px}}

/* v0.4.7 – Részletes, minden mezőt megjelenítő adatlap */
.member-page .member-content:has(.detail-profile){padding:clamp(16px,2.6vw,30px)}
.detail-profile{color:#281b31}.detail-cover{background:linear-gradient(115deg,#371a3b,#a62667);border-radius:18px;padding:28px 30px 42px;color:white}.detail-cover .eyebrow{color:#ffc8df;font-size:11px;letter-spacing:.15em;font-weight:800}.detail-cover h1{font-size:clamp(26px,3vw,38px);line-height:1.15;margin:10px 0}.detail-cover p{margin:0;color:#ffdeeb}.detail-identity{display:flex;align-items:center;gap:18px;padding:0 12px 22px;margin-top:-22px;position:relative}.detail-avatar{width:100px;height:110px;flex-shrink:0;border:5px solid white;border-radius:16px;background:#fbe6f1;box-shadow:0 5px 20px #30142e20;display:grid;place-items:center;color:#f51c7b;font-size:48px;overflow:hidden}.detail-avatar img{width:100%;height:100%;object-fit:cover}.detail-identity strong{font-size:21px}.detail-identity p{color:#776779;margin:6px 0 0}.detail-edit{margin-left:auto;text-decoration:none;color:#e51b75;font-size:13px;font-weight:800;background:#fff1f8;padding:12px 15px;border-radius:10px}.detail-tabs{display:flex;overflow-x:auto;gap:5px;border-bottom:1px solid #eddde8;margin:2px 0 22px;padding-bottom:9px;scrollbar-width:thin}.detail-tabs a{white-space:nowrap;padding:12px 14px;border-radius:10px;text-decoration:none;color:#663b59;background:#fbf4f8;font-size:13px;font-weight:750}.detail-tabs a.active,.detail-tabs a:hover{background:#f51d7d;color:#fff}.detail-section{border:1px solid #f0e1eb;border-radius:16px;overflow:hidden;margin:0 0 22px;background:white}.detail-section h2{font-size:17px;margin:0;padding:16px 20px;background:#fff1f8;border-left:4px solid #fa237b}.detail-rows{margin:0}.detail-rows>div{display:grid;grid-template-columns:minmax(155px,34%) 1fr;gap:14px;padding:15px 20px;border-top:1px solid #f2e8ee;align-items:start}.detail-rows>div:nth-child(odd){background:#fdf9fc}.detail-rows dt{font-weight:750;color:#49314a}.detail-rows dd{margin:0;white-space:pre-wrap;overflow-wrap:anywhere}.detail-missing{color:#9b8a99;font-style:italic}.detail-bio{padding:20px;line-height:1.75;white-space:normal;overflow-wrap:anywhere}.detail-gallery{padding:20px;display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:14px}.detail-gallery figure{margin:0}.detail-gallery img{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:12px}.detail-gallery figcaption{font-size:12px;color:#786b79;margin-top:5px}.detail-note{font-size:12px;color:#8b7485;line-height:1.6}.detail-empty{padding:24px}
@media(max-width:640px){.detail-cover{padding:22px 18px 38px}.detail-identity{flex-wrap:wrap;gap:10px}.detail-avatar{width:75px;height:82px}.detail-edit{margin-left:0}.detail-rows>div{grid-template-columns:1fr;gap:5px;padding:13px 15px}.detail-section h2{padding:14px 15px}.detail-tabs a{padding:10px 12px}}

/* v0.5 - Detailed search */
.search-page{background:#faf6fb;padding:38px 0 74px;min-height:70vh}.search-shell{max-width:1210px}.search-heading{margin-bottom:28px}.search-heading .eyebrow{color:#ed1674;font-weight:800;font-size:12px;letter-spacing:.14em}.search-heading h1{font-size:clamp(29px,3.5vw,44px);margin:10px 0 8px;color:#29182f}.search-heading p{color:#7c6b7b;margin:0}.search-layout{display:grid;grid-template-columns:300px minmax(0,1fr);gap:24px;align-items:start}.search-filters,.search-results{min-width:0}.search-filter-form,.search-results-bar,.search-no-results{background:#fff;border:1px solid #f0e1eb;border-radius:20px;box-shadow:0 12px 36px #33182b08}.search-filter-form{padding:24px;display:flex;flex-direction:column;gap:9px}.search-filter-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:9px}.search-filter-title h2{font-size:18px;margin:0}.search-filter-title a{font-size:12px;color:#ec1977}.search-filter-form label{font-size:13px;font-weight:750;color:#38243d;margin-top:8px}.search-filter-form input:not([type=checkbox]),.search-filter-form select{width:100%;height:45px;border:1px solid #e8dce6;border-radius:11px;background:white;color:#33253b;padding:0 12px;font:inherit;min-width:0}.search-filter-form input:focus,.search-filter-form select:focus{outline:2px solid #f7a4cb;outline-offset:1px}.search-range{display:grid;grid-template-columns:1fr 1fr;gap:10px}.search-range>div{min-width:0;display:flex;flex-direction:column;gap:8px}.search-check{display:flex;align-items:center;gap:10px;padding:10px 0}.search-check input{accent-color:#f31d7b;width:18px;height:18px}.search-submit{margin-top:13px;width:100%;border:0;cursor:pointer}.search-filter-help{font-size:12px;color:#857485;line-height:1.6;margin:6px 0 0}.search-results-bar{display:flex;justify-content:space-between;align-items:center;padding:18px 22px;margin-bottom:18px}.search-results-bar h2{margin:0 0 4px;font-size:21px}.search-results-bar p{margin:0;color:#827081;font-size:13px}.search-page-indicator{font-size:12px;color:#867183;background:#fff3f9;padding:8px 12px;border-radius:20px}.search-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px}.search-card{min-width:0;background:#fff;border:1px solid #f0e1eb;border-radius:18px;overflow:hidden;box-shadow:0 8px 28px #33182b08;transition:transform .15s,box-shadow .15s}.search-card:hover{transform:translateY(-3px);box-shadow:0 14px 32px #33182b14}.search-photo{display:grid;place-items:center;aspect-ratio:4/3;background:linear-gradient(145deg,#ffeff7,#e7c9df);color:#f12480;font-size:75px;text-decoration:none;overflow:hidden}.search-photo img{width:100%;height:100%;object-fit:cover}.search-card-body{padding:17px}.search-card-name{display:flex;align-items:baseline;justify-content:space-between;gap:6px}.search-card-name h3{margin:0;font-size:18px;overflow-wrap:anywhere}.search-card-name a{color:#29182f;text-decoration:none}.search-card-name span{white-space:nowrap;color:#a07795;font-size:12px}.search-card-city{font-size:13px;color:#7d6b7d;margin:10px 0}.search-goal{display:inline-block;background:#fff0f7;color:#ce176a;border-radius:20px;font-size:11px;font-weight:800;padding:7px 10px}.search-card-bio{font-size:13px;line-height:1.55;color:#746574;min-height:62px;overflow-wrap:anywhere}.search-card-action{display:flex;justify-content:space-between;align-items:center;text-decoration:none;font-size:13px;font-weight:800;color:#e51c76;border-top:1px solid #f2e7ee;padding-top:13px}.search-no-results{text-align:center;padding:65px 24px}.search-no-results>span{font-size:65px;color:#f51d7d}.search-no-results h3{margin:12px 0}.search-no-results p{color:#806e7f}.search-no-results .btn{display:inline-flex;text-decoration:none;margin-top:12px}.search-pagination{display:flex;align-items:center;justify-content:center;gap:20px;margin-top:24px}.search-pagination a{color:#e91d76;text-decoration:none;font-weight:800;background:white;padding:12px 17px;border-radius:11px}.search-pagination span{color:#806e7f;font-size:13px}
@media(max-width:1050px){.search-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.search-layout{grid-template-columns:260px minmax(0,1fr)}}
@media(max-width:740px){.search-page{padding:22px 0 50px}.search-layout{grid-template-columns:1fr}.search-filter-form{padding:17px}.search-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.search-heading{margin-bottom:18px}}
@media(max-width:460px){.search-cards{grid-template-columns:1fr}.search-results-bar{padding:14px}.search-card{display:grid;grid-template-columns:115px 1fr}.search-photo{height:100%;aspect-ratio:auto}.search-card-body{padding:13px}.search-card-bio{min-height:0}.search-card-name{flex-wrap:wrap}}

/* v0.5.1 – unified left sidebar and profile results */
.ks-search{min-width:0}.ks-head{margin-bottom:22px}.ks-head .eyebrow{color:#f51c79}.ks-head h1{font-size:clamp(27px,3vw,38px);margin:8px 0}.ks-head p{color:#766775;margin:0}.ks-filter{background:#fff9fc;border:1px solid #f4dbe8;border-radius:17px;padding:20px;margin-bottom:22px}.ks-filter-head{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-bottom:16px}.ks-filter-head a{color:#e91473;font-size:12px}.ks-filter-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.ks-filter-grid label{font-size:13px;font-weight:750;color:#3b253c;display:grid;gap:6px}.ks-filter-grid select,.ks-filter-grid input{width:100%;height:43px;border:1px solid #eadde7;border-radius:10px;padding:8px 11px;background:white;color:#321d33;min-width:0}.ks-options{display:flex;flex-wrap:wrap;gap:12px 25px;margin:17px 0}.ks-options label{font-size:13px}.ks-options input{accent-color:#fa1c7c}.ks-filter .btn{border:0;cursor:pointer}.ks-toolbar{display:flex;align-items:center;justify-content:space-between;gap:15px;flex-wrap:wrap;background:#fff5fa;border:1px solid #f3dbe8;border-radius:12px;padding:13px 16px;margin-bottom:18px}.ks-toolbar span{color:#887588;font-size:12px}.ks-sort{display:flex;align-items:center;gap:8px;font-size:12px}.ks-sort select{max-width:240px;border:1px solid #e8d5e0;border-radius:8px;padding:8px;background:white;color:#39293b}.ks-sort button{background:#fa1c7c;color:white;border:0;border-radius:8px;padding:8px 10px;cursor:pointer}.ks-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.ks-card{background:#fff;border:1px solid #efdeea;border-radius:16px;overflow:hidden;box-shadow:0 8px 23px #391b3209;min-width:0}.ks-photo{display:grid;place-items:center;height:180px;background:linear-gradient(130deg,#ffe5f0,#eee3f2);font-size:65px;color:#f41b78;text-decoration:none;overflow:hidden}.ks-photo img{width:100%;height:100%;object-fit:cover}.ks-card-info{padding:14px}.ks-name{display:block;font-size:15px;font-weight:800;color:#e51670;text-decoration:none;overflow-wrap:anywhere}.ks-state{display:inline-block;margin:6px 0 10px;font-size:11px;color:#8b7d89}.ks-state.online{color:#238451;font-weight:800}.ks-card dl{display:grid;gap:6px;margin:0}.ks-card dl>div{font-size:12px;display:grid;grid-template-columns:84px minmax(0,1fr);gap:5px}.ks-card dt{font-weight:750;color:#38243c}.ks-card dd{margin:0;color:#675868;overflow-wrap:anywhere}.ks-open{display:block;text-decoration:none;color:#ec1773;font-weight:800;font-size:12px;border-top:1px solid #f3e7ed;margin-top:14px;padding-top:12px}.ks-pages{display:flex;justify-content:center;align-items:center;gap:20px;margin:25px 0}.ks-pages a{color:#ec1977;text-decoration:none;font-weight:750}.ks-empty{background:#fff5fa;padding:30px;border-radius:14px}.ks-footnote{font-size:12px;line-height:1.6;color:#8b7788;margin-top:20px}.member-sidebar .member-side-title:not(:first-child){margin-top:14px;border-top:1px solid #f3e6ee;padding-top:18px}
@media(max-width:1100px){.ks-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:620px){.ks-filter-grid,.ks-grid{grid-template-columns:1fr}.ks-toolbar{align-items:flex-start}.ks-sort{flex-wrap:wrap}.ks-card{display:grid;grid-template-columns:125px minmax(0,1fr)}.ks-photo{height:100%;min-height:170px}.ks-card-info{padding:12px}.ks-card dl>div{grid-template-columns:75px minmax(0,1fr)}.ks-filter{padding:14px}}@media(max-width:390px){.ks-card{grid-template-columns:1fr}.ks-photo{height:190px}}
