:root{--blue:#8b6672;--bg:#f5f6f9;--ink:#242b37;--line:#e0e4ea}*{box-sizing:border-box}body{margin:0;background:var(--bg);font:15px/1.5 system-ui,-apple-system,Arial,sans-serif;color:var(--ink)}a{color:var(--blue);text-decoration:none}header{background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:5}.top{max-width:1080px;margin:auto;display:flex;align-items:center;gap:25px;padding:12px 18px}.brand{font-size:22px;font-weight:800;color:#243754}.desktop{display:flex;gap:22px;flex:1}main{max-width:1080px;margin:22px auto;padding:0 18px 80px}h1{font-size:25px;margin:0 0 18px}h2{font-size:19px}.primary,button,.button{border:0;border-radius:9px;padding:10px 17px;cursor:pointer;display:inline-block;font:inherit;font-weight:600}.primary,button{background:var(--blue);color:#fff}.secondary,.button.secondary,button.secondary{background:#eef1f5;color:#354055}.danger{background:#fff0ef;color:#a12828}.filters{display:grid;grid-template-columns:2fr 1.2fr 1fr auto;gap:10px;margin-bottom:28px}input,select,textarea{font:inherit;border:1px solid #ccd3dd;background:#fff;border-radius:9px;padding:11px 12px;width:100%;min-width:0}textarea{resize:vertical}label{display:block;margin:12px 0;font-weight:600}label input,label select,label textarea{display:block;margin-top:5px;font-weight:400}.list{display:grid;gap:12px}.listing-card,.panel{display:block;background:#fff;border:1px solid var(--line);border-radius:12px;padding:16px;color:var(--ink)}.listing-card{display:flex;gap:16px}.listing-card:hover{border-color:#9fb7e2}.thumb{width:116px;min-width:116px;height:105px;border-radius:9px;background:#e7ecf5;color:#9aabc7;display:grid;place-items:center;font-size:32px}.card-content{min-width:0;flex:1}.meta,.muted{color:#7b8492;font-size:13px}.card-content strong{font-size:17px;color:#26354d}.card-content p{margin:5px 0 9px;color:#58616d}.foot,.heading,.actions{display:flex;justify-content:space-between;gap:10px;align-items:center;flex-wrap:wrap}.foot span{font-weight:700}.foot small{color:#88919c}.panel{margin-bottom:12px}.panel.narrow{max-width:480px;margin:auto}.description{white-space:pre-wrap;overflow-wrap:anywhere}.error{color:#b02a37}.success{color:#17804d}.tabs{display:flex;gap:8px;overflow-x:auto;margin-bottom:16px}.tabs a{padding:9px 13px;background:#fff;border-radius:8px;white-space:nowrap}.tabs .active{background:#dbe8ff}.actions{justify-content:flex-start}.actions form{margin:0}.mobile-nav{display:none}@media(max-width:700px){header .desktop{display:none}.top{gap:12px;padding:10px 13px}.top .primary{margin-left:auto;padding:8px 12px}.brand{font-size:19px}main{margin:16px auto;padding:0 12px 95px}h1{font-size:22px}.filters{grid-template-columns:1fr 1fr;gap:8px}.filters input:first-child{grid-column:1/-1}.filters button{grid-column:1/-1}.listing-card{padding:12px;gap:11px}.thumb{width:82px;min-width:82px;height:88px}.card-content strong{font-size:15px}.card-content p{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:13px}.meta{font-size:12px}.mobile-nav{display:flex;position:fixed;bottom:0;left:0;right:0;background:#fff;border-top:1px solid var(--line);justify-content:space-around;z-index:10;padding:7px 2px max(7px,env(safe-area-inset-bottom))}.mobile-nav a{display:flex;flex-direction:column;align-items:center;font-size:22px;color:#536077;line-height:1.1;min-width:55px}.mobile-nav span{font-size:11px;margin-top:4px}.panel{padding:13px}}

/* Mobile-first, text-focused ad cards */
.filters{grid-template-columns:minmax(0,2fr) minmax(0,1fr) auto;gap:9px}
.list{gap:10px}.listing-card{display:block;padding:16px 18px}.listing-card .meta{margin-bottom:8px;color:#52647c;font-weight:600}.listing-card .preview-text{margin:0;color:#293241;line-height:1.55;white-space:pre-wrap;overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:7;-webkit-box-orient:vertical;overflow:hidden}.card-bottom{display:flex;justify-content:space-between;margin-top:10px;color:#718096;font-size:12px}.card-bottom span{color:var(--blue)}
@media(max-width:700px){.filters{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.filters input:first-child{grid-column:1/-1}.filters button{grid-column:1/-1}.listing-card{padding:14px}.listing-card .preview-text{display:-webkit-box;-webkit-line-clamp:9;-webkit-box-orient:vertical;overflow:hidden;font-size:15px;line-height:1.5}.listing-card .meta{font-size:13px}.card-bottom{margin-top:9px}.description{font-size:16px;line-height:1.65}}

.author-name{font-size:17px;font-weight:700;margin-bottom:4px}.listing-text-link{display:block;color:inherit}.listing-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.listing-actions button:disabled{opacity:.65;cursor:not-allowed}.card-content .contact-status,.contact-status{font-size:13px;line-height:1.4;color:#7b8492;margin:9px 0 0}

/* Responsive header: preserve logo proportions and keep navigation on one line. */
.brand{display:flex;align-items:center;flex-shrink:0;line-height:1}
header .brand-logo{display:block;width:240px;height:auto;object-fit:contain}
header{background:linear-gradient(100deg,#24060e 0%,#3a101e 28%,#642036 65%,#783047 100%);border-bottom:1px solid #874052;box-shadow:0 3px 14px rgba(45,5,13,.18)}
header .top{padding-top:0;padding-bottom:0;gap:20px}
header .desktop{min-width:0;gap:14px}
header .desktop a{white-space:nowrap;color:#f7d9d1;transition:color .15s ease}
header .desktop a:hover{color:#fff4e9}
header .primary{flex-shrink:0;white-space:nowrap;background:linear-gradient(135deg,#f7d2ac,#eea8ad);color:#42101e;box-shadow:0 2px 8px rgba(0,0,0,.2),inset 0 1px 0 rgba(255,255,255,.45)}
header .primary:hover{background:linear-gradient(135deg,#ffe3c3,#f7bbc0)}
header a:focus-visible{outline:2px solid #ffe3c3;outline-offset:4px}
.header-menu{display:none;position:relative;flex-shrink:0;margin-left:auto}
.header-menu summary{display:flex;align-items:center;justify-content:center;width:40px;height:40px;cursor:pointer;list-style:none;color:#f7d9d1;font-size:24px;border-radius:8px}
.header-menu summary::-webkit-details-marker{display:none}
.header-menu summary:hover,.header-menu[open] summary{background:rgba(255,255,255,.12)}
.header-menu summary:focus-visible{outline:2px solid #ffe3c3;outline-offset:2px}
.header-menu-links{position:absolute;top:calc(100% + 4px);right:0;width:240px;max-width:calc(100vw - 26px);max-height:calc(100dvh - 150px);overflow-y:auto;padding:6px;background:#3a101e;border:1px solid #874052;border-radius:10px;box-shadow:0 5px 18px rgba(0,0,0,.25)}
.header-menu-links a{display:block;padding:10px 12px;color:#f7d9d1;white-space:nowrap;border-radius:6px}
.header-menu-links a:hover{background:rgba(255,255,255,.12)}
.logout-form{margin:0;display:flex;align-items:center}
header .logout-form button{background:transparent;color:#f7d9d1;border:0;padding:0;font-weight:400;white-space:nowrap}
header .logout-form button:hover{color:#fff4e9}
header .logout-form button:focus-visible{outline:2px solid #ffe3c3;outline-offset:4px}
.header-menu-links .logout-form{display:block}
header .header-menu-links .logout-form button{display:block;text-align:left;width:100%;padding:10px 12px;border-radius:6px}
header .header-menu-links .logout-form button:hover{background:rgba(255,255,255,.12)}
@media(max-width:1000px),(hover:none) and (pointer:coarse){
  header .desktop{display:none}
  header .top{gap:8px;padding:0 13px}
  header .brand-logo{width:180px;max-width:calc(100vw - 180px)}
  .header-menu{display:block}
  header .primary{margin-left:0;padding:8px 12px}
  .mobile-nav{display:flex;position:fixed;bottom:0;left:0;right:0;background:#fff;border-top:1px solid var(--line);justify-content:space-around;z-index:10;padding:7px 2px max(7px,env(safe-area-inset-bottom))}
  .mobile-nav a{display:flex;flex-direction:column;align-items:center;font-size:22px;color:#536077;line-height:1.1;min-width:55px}
  .mobile-nav span{font-size:11px;margin-top:4px}
  main{padding-bottom:95px}
}

/* Profile catalogue: large photographs with readable captions. */
.profiles-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}
.profiles-heading h1{margin:0;text-transform:uppercase;font-size:25px}
.profile-filters{display:flex;align-items:flex-end;gap:10px;flex-wrap:wrap;margin-bottom:24px}
.profile-filters label{margin:0;font-size:12px;color:#657080;min-width:100px;flex:1}
.profile-filters label:nth-child(3),.profile-filters label:nth-child(4){min-width:65px;max-width:90px}
.profile-filters input,.profile-filters select{border-radius:18px;background:#fff;padding:9px 12px}
.profile-filters button{background:transparent;color:var(--ink);border:0;box-shadow:none;border-radius:0;padding:9px 12px;white-space:nowrap}
.profile-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:20px}
@media(min-width:1001px){main.profiles-main{max-width:none;padding-left:25px;padding-right:25px}.profile-grid-catalog{grid-template-columns:repeat(6,minmax(0,1fr))}}
.profile-card{position:relative;display:block;aspect-ratio:3/4.2;overflow:hidden;border-radius:18px;background:#e4e0e2;color:#fff;isolation:isolate}
.profile-photo-placeholder{position:absolute;inset:0;display:grid;place-items:center;background:linear-gradient(145deg,#f2ecee,#c5b9c0)}
.profile-photo-placeholder svg{width:90%;height:90%;fill:#a69aa2}
.profile-photo{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover}
.profile-photo[hidden]{display:none}
.profile-card-info{position:absolute;bottom:0;left:0;right:0;padding:48px 14px 16px;background:linear-gradient(transparent,rgba(0,0,0,.8));display:flex;flex-direction:column;gap:3px}
.profile-card-info strong{font-size:20px;line-height:1.25;overflow-wrap:anywhere}
.profile-card-info span{font-size:14px;color:#f4e9ed;overflow-wrap:anywhere}
.profile-card:hover .profile-card-info{background:linear-gradient(transparent,rgba(40,6,18,.9))}
.profile-card:focus-visible{outline:3px solid #8b6672;outline-offset:4px}
.profiles-note{font-size:13px;color:#7b8492;margin:22px 0}
.mobile-nav a[aria-current="page"]{color:#ad4963}
.back-link{display:inline-block;margin-bottom:16px}
.notices-nav{display:flex;align-items:center;flex-wrap:wrap;gap:12px 20px;margin-bottom:20px}
.notices-nav a{padding:6px 0}
.notices-nav a[aria-current="page"]{font-weight:700;border-bottom:2px solid var(--blue)}
.notices-create{margin-left:auto}
@media(max-width:500px){.notices-nav{gap:8px 16px}.notices-create{margin-left:0}}
.auth-page{background:#fff;color:#242b37}
.auth-layout{min-height:100dvh;display:grid;grid-template-columns:26% minmax(0,1fr)}
.auth-aside{background:linear-gradient(155deg,#24060e,#642036 65%,#783047);color:#fff0e7;padding:40px 30px;display:flex;align-items:center}
.auth-aside-content{max-width:420px;margin:auto}
.auth-aside h2{font-size:30px;line-height:1.5;font-weight:500;margin:0 0 20px}
.auth-aside p{font-size:18px;line-height:1.55;margin:0 0 16px}
.auth-main{position:relative;display:flex;align-items:center;justify-content:center;padding:100px 40px 70px;min-width:0}
.auth-close{position:absolute;right:30px;top:24px;display:flex;align-items:center;gap:10px;text-transform:uppercase;color:#89848a;font-size:12px;letter-spacing:.06em;font-weight:600}
.auth-close span{font-size:46px;line-height:1;font-weight:300}
.auth-form-wrap{width:100%;max-width:750px}
.auth-form-wrap h1{text-align:center;font-size:24px;margin:0 0 64px}
.auth-field{position:relative;display:flex;align-items:center;background:#f4f2f4;margin-bottom:24px;min-height:50px;border:1px solid transparent}
.auth-field:focus-within{border-color:#9a4961}
.auth-field input{background:transparent;border:0;border-radius:0;padding:14px 44px 14px 42px;outline:none;width:100%}
.auth-field input::placeholder{color:#98939a}
.auth-field-icon{position:absolute;left:14px;color:#93848d;pointer-events:none}
.auth-password-toggle{position:absolute;right:4px;top:4px;width:42px;height:42px;padding:0;background:transparent;color:#93848d;font-size:20px;font-weight:400}
.auth-help{font-size:14px;color:#8c818a;margin:0 0 36px;line-height:1.6}
.auth-actions{display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap}
.auth-submit{min-width:200px;border-radius:36px;padding:16px 24px;background:linear-gradient(110deg,#642036,#9c4861);color:#fff0e7}
.auth-submit:hover{background:linear-gradient(110deg,#783047,#ae566f)}
.auth-actions a{color:#95415a}
.auth-page a:focus-visible,.auth-page button:focus-visible{outline:2px solid #9a4961;outline-offset:3px}
@media(max-width:700px){
  .auth-layout{grid-template-columns:1fr}
  .auth-aside{padding:24px 22px}
  .auth-aside h2{font-size:24px;margin-bottom:10px}
  .auth-aside p{font-size:14px;margin-bottom:8px}
  .auth-main{padding:76px 22px 40px;align-items:flex-start}
  .auth-close{top:18px;right:22px}
  .auth-form-wrap h1{margin-bottom:30px}
  .auth-actions{gap:20px}
  .auth-submit{min-width:160px}
}
.profile-detail{display:grid;grid-template-columns:minmax(0,300px) minmax(0,1fr);gap:20px;margin-bottom:24px}
.profile-detail-photo{width:100%}
.ownership-label{display:inline-block;padding:6px 10px;background:#f3e7eb;color:#7b354c;border-radius:8px;font-size:13px}
@media(max-width:1000px){.profile-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:700px){
  .profiles-heading h1{font-size:22px}
  .profile-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
  .profile-card{border-radius:15px}
  .profile-card-info{padding:42px 10px 13px}
  .profile-card-info strong{font-size:18px}
  .profile-card-info span{font-size:13px}
  .profile-filters{gap:8px;margin-bottom:18px}
  .profile-filters label{flex-basis:calc(50% - 8px)}
  .profile-filters label:nth-child(3),.profile-filters label:nth-child(4){flex:1;max-width:none;min-width:50px}
  .profile-detail{grid-template-columns:1fr}
  .profile-detail-photo{max-width:300px}
}
@media(max-width:1000px) and (orientation:landscape) and (max-height:500px),(hover:none) and (pointer:coarse) and (orientation:landscape) and (max-height:500px){
  header .desktop{display:none}
  header .brand-logo{width:150px}
  header .primary{margin-left:0}
}
.filter-summary{display:flex;align-items:center;gap:10px;overflow-x:auto;margin:25px 0 24px;padding-bottom:4px;white-space:nowrap}
.filter-open,.filter-chip{border:0;border-radius:30px;padding:13px 20px;white-space:nowrap;cursor:pointer;font-size:16px}
.filter-open{background:linear-gradient(110deg,#783047,#a44c64);color:white;flex-shrink:0}
.filter-chips{display:flex;gap:10px}.filter-chip{background:#f0f0f3;color:#25212a}
.filter-status:empty{display:none}.filter-status{color:#783047;font-size:14px}
.filter-drawer{position:fixed;inset:0 auto 0 0;margin:0;width:440px;max-width:100vw;height:100dvh;max-height:100dvh;box-sizing:border-box;border:0;padding:0;background:white;color:#25212a;overflow-y:auto}
.filter-drawer::backdrop{background:rgba(0,0,0,.32)}
.filter-drawer-heading{display:flex;justify-content:space-between;align-items:center;padding:16px 25px;border-bottom:1px solid #eee;position:sticky;top:0;background:white;z-index:5}
.filter-close{background:none;border:0;font-size:32px;color:#888;cursor:pointer;padding:0 8px}
.filter-drawer .profile-filters{display:flex;flex-direction:column;gap:28px;padding:24px 28px;margin:0}
.filter-drawer .profile-filters label{width:100%;max-width:none;flex:auto;font-weight:600}
.filter-drawer select{width:100%;box-sizing:border-box;margin-top:10px}
.range-filter{width:100%;font-size:16px}.range-track{position:relative;margin:30px 12px 16px;height:3px;background:#ececef}
.range-track input[type=range]{appearance:none;-webkit-appearance:none;position:absolute;inset:-21px -12px;width:calc(100% + 24px);height:44px;margin:0;padding:0;border:0;background:transparent;box-shadow:none;pointer-events:none;min-width:0}
.range-track input[type=range]::-webkit-slider-thumb{appearance:none;width:24px;height:24px;border:2px solid #e2e2e6;border-radius:50%;background:white;pointer-events:auto;cursor:grab}
.range-track input[type=range]::-moz-range-thumb{width:22px;height:22px;border:2px solid #e2e2e6;border-radius:50%;background:white;pointer-events:auto;cursor:grab}
.range-track input:focus-visible::-webkit-slider-thumb{outline:3px solid #a44c64;outline-offset:3px}
.range-limits{display:flex;justify-content:space-between;color:#7e8490;font-size:14px}.range-unavailable{color:#85858b}
.range-unavailable input[type=range]::-webkit-slider-thumb{pointer-events:none;background:#f3f3f5}
.range-unavailable small{display:block;margin-top:10px;line-height:1.5}
.new-conversation select{margin-bottom:14px}.conversation-preview p{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-bottom:0}
.chat-messages{display:flex;flex-direction:column;gap:12px;margin:20px 0;max-height:55vh;overflow-y:auto;padding:8px}
.chat-message{align-self:flex-start;background:white;border:1px solid var(--line);border-radius:16px;padding:12px 16px;max-width:85%;min-width:140px;overflow-wrap:anywhere}
.chat-message-own{align-self:flex-end;background:#f3e3e9;border-color:#dbc0ca}.chat-message p{margin:6px 0 0}
.chat-compose textarea{margin-bottom:12px}.chat-refresh-status:empty{display:none}.member-profile{margin-top:20px}
.filter-drawer{overflow:hidden}
.filter-drawer[open]{display:flex;flex-direction:column}
.filter-drawer-heading{flex-shrink:0}
.filter-drawer .profile-filters{flex:1;min-height:0;overflow-y:auto;flex-wrap:nowrap;align-items:stretch}
.filter-drawer .profile-filters label{flex:none}
.range-filter{flex-shrink:0}
.parameters-footer{display:block;flex-shrink:0;border-top:1px solid #e8e2e5;background:white;padding:14px 24px}
.parameters-footer button{width:100%;background:linear-gradient(110deg,#783047,#a44c64);border-radius:30px;padding:13px 20px}
@media(max-width:1000px),(hover:none) and (pointer:coarse){.parameters-footer{display:block;padding-bottom:max(14px,env(safe-area-inset-bottom))}}

/* Sponsa messenger: compact chat list and separate incoming/outgoing bubbles. */
.messenger{max-width:960px}.inbox-screen{background:#fff;border-radius:20px;padding:24px 24px 80px}.chat-search{background:#f4f2f3;border:0;border-radius:28px}.new-chat{margin:16px 0}.new-chat summary{cursor:pointer;color:#873b55;font-weight:600}.new-conversation{padding:8px 0 16px}.conversation-preview{display:flex;align-items:center;gap:14px;padding:16px 4px;color:var(--ink);border-bottom:1px solid #f3eff1}.conversation-preview:hover{background:#faf5f7}.chat-avatar{display:grid;place-items:center;flex-shrink:0;width:54px;height:54px;border-radius:50%;background:linear-gradient(145deg,#d88caa,#8c3d5b);color:white;font-size:23px;font-weight:600}.chat-preview-text{min-width:0}.chat-preview-text strong{font-size:17px}.conversation-preview p{color:#86808a;margin:3px 0 0}.conversation-preview[hidden]{display:none}.legacy-chats{margin-top:24px}.legacy-chats summary{cursor:pointer;margin-bottom:16px}
.messenger-page{height:100dvh;display:flex;flex-direction:column;overflow:hidden}.messenger-page>header{flex-shrink:0}.conversation-screen{width:100%;flex:1;min-height:0;display:flex;flex-direction:column;margin:16px auto;padding:0 18px;border-radius:22px;overflow:hidden}.conversation-heading{display:flex;align-items:center;gap:12px;background:#fff;padding:12px 18px;border-radius:20px 20px 0 0;flex-shrink:0}.conversation-heading strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-back{font-size:28px;padding:0 8px;color:#74354b}.conversation-heading .chat-avatar{width:42px;height:42px;font-size:20px}.conversation-screen .chat-messages{flex:1;min-height:0;max-height:none;margin:0;padding:20px;gap:10px;background:radial-gradient(ellipse at top left,#f6e3d9,transparent 70%),linear-gradient(135deg,#eadde3,#e4ced9);overflow-y:auto;overscroll-behavior:contain}.conversation-screen .chat-message{border:0;background:#fff;box-shadow:0 1px 2px #662b4320;border-radius:18px 18px 18px 4px;padding:10px 14px;min-width:80px;max-width:76%}.conversation-screen .chat-message-own{background:#f8e8ef;border-radius:18px 18px 4px 18px}.conversation-screen .chat-message p{margin:0;font-size:16px;line-height:1.45}.message-time{display:block;text-align:right;font-size:11px;color:#94818b;margin-top:4px}.conversation-screen .chat-compose{display:flex;align-items:flex-end;gap:10px;background:#fff;padding:12px 16px;border-radius:0 0 20px 20px;flex-shrink:0}.chat-compose #message-body{margin:0;border:0;border-radius:22px;background:#f5f2f4;resize:none;max-height:120px;min-height:44px}.chat-compose button{width:44px;height:44px;flex-shrink:0;border-radius:50%;padding:0;background:#8c3d5b;font-size:22px}.conversation-screen .chat-refresh-status{margin:0;padding:6px 12px;background:#fff}.messenger-page .mobile-nav{display:none}
@media(max-width:700px){.inbox-screen{border-radius:0;margin-top:0;padding:20px 16px 95px}.conversation-screen{margin:0;padding:0;border-radius:0}.conversation-heading,.conversation-screen .chat-compose{border-radius:0}.conversation-screen .chat-messages{padding:14px 12px}.conversation-screen .chat-message{max-width:88%}.conversation-screen .chat-compose{padding-bottom:max(12px,env(safe-area-inset-bottom))}}
.compose-tools{display:flex;align-items:center;gap:4px;flex-shrink:0}.chat-compose .emoji-toggle{background:transparent;color:#8c3d5b;width:32px;font-size:28px}.attach-button{cursor:pointer;margin:0;padding:7px 2px;font-size:22px}.compose-input{flex:1;min-width:0}.selected-files{display:flex;flex-wrap:wrap;gap:4px;font-size:12px}.selected-files span{max-width:100%;overflow-wrap:anywhere;background:#f3e3e9;padding:3px 6px;border-radius:8px}.chat-compose .selected-files button{width:22px;height:22px;font-size:16px;background:transparent;color:#74354b}.chat-file{display:block;color:#74354b;padding:8px 0;overflow-wrap:anywhere}.chat-file small{color:#94818b}.emoji-picker{flex-shrink:0;max-height:180px;overflow-y:auto;background:#fff;padding:10px;display:grid;grid-template-columns:repeat(auto-fit,minmax(38px,1fr));gap:3px}.emoji-picker[hidden]{display:none}.emoji-picker button{background:transparent;font-size:24px;padding:4px}.emoji-picker button:hover{background:#f3e3e9}
.chat-compose .attach-button{display:flex;align-items:center;justify-content:center;width:38px;height:44px;flex-shrink:0;padding:0;color:#84747d}.attach-button:hover{color:#74354b}.chat-image{display:block;width:auto;max-width:100%;max-height:320px;border-radius:12px;object-fit:contain;margin:6px 0}.chat-compose #chat-files[hidden]{display:none}
.selected-image{width:48px;height:48px;object-fit:cover;border-radius:6px;display:block;margin-bottom:4px}.selected-files{max-height:140px;overflow-y:auto}
/* Keep mobile controls inside a single wide message field. */
.compose-field{display:contents}
@media(max-width:700px){
  .conversation-screen .chat-compose{padding:8px 6px max(8px,env(safe-area-inset-bottom));gap:6px}
  .chat-compose .compose-field{display:flex;align-items:flex-end;flex:1;min-width:0;background:#f5f2f4;border-radius:25px;padding:2px 4px;gap:0}
  .chat-compose .compose-tools{align-self:flex-end;gap:0}
  .chat-compose .emoji-toggle{width:32px;height:44px}
  .chat-compose .attach-button{width:32px;height:44px;align-self:flex-end}
  .chat-compose .attach-button svg{width:25px;height:25px}
  .chat-compose #message-body{border-radius:0;background:transparent;padding:11px 4px;font-size:16px}
  .chat-compose .selected-files{padding:3px 4px 0}
  .chat-compose>button[type=submit]{width:42px;height:44px;margin-bottom:2px}
}
.chat-compose .send-message-button{display:flex;align-items:center;justify-content:center}
@media(max-width:700px){
  .chat-compose .send-message-button{width:36px;height:44px;align-self:flex-end;background:transparent;color:#8c3d5b;border-radius:0}
}
.conversation-screen .chat-message-own{cursor:pointer}.conversation-screen .message-selected{background:#ddbacb;outline:2px solid #8c3d5b}.chat-message-own:focus-visible{outline:2px solid #8c3d5b;outline-offset:3px}.message-selection{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:10px 14px;background:#fff;flex-shrink:0}.message-selection[hidden],.selection-download[hidden]{display:none}.message-selection strong{margin-right:auto}.report-toggle{margin-left:auto;background:transparent;color:#8c3d5b;font-size:13px;padding:8px}.report-dialog{border:0;border-radius:18px;width:min(440px,calc(100vw - 24px));padding:22px}.report-dialog::backdrop{background:#26091666}.selection-download{font-size:13px}
@media(max-width:700px){.conversation-heading{padding:10px 8px;gap:6px}.report-toggle{font-size:12px;padding:6px}.message-selection{gap:6px;padding:8px}.message-selection button{padding:8px 10px}}
.conversation-screen .message-selected .chat-image{outline:3px solid #8c3d5b;outline-offset:-3px;filter:brightness(.82)}
.conversation-screen .chat-message{cursor:pointer}.chat-message:focus-visible{outline:2px solid #8c3d5b;outline-offset:3px}
.chat-actions{position:relative;margin-left:auto;flex-shrink:0}.chat-actions summary{cursor:pointer;list-style:none;font-size:28px;line-height:1;padding:7px 13px;color:#8c3d5b}.chat-actions summary::-webkit-details-marker{display:none}.chat-actions-menu{position:absolute;z-index:6;right:0;top:100%;background:#fff;border:1px solid #eadde3;border-radius:14px;box-shadow:0 5px 20px #3a101e22;min-width:255px;max-width:calc(100vw - 28px);padding:6px}.chat-actions-menu form{margin:0}.chat-actions-menu button{width:100%;text-align:left;padding:12px;border-radius:8px;font-size:14px;font-weight:400;background:transparent;color:#74354b;margin:0}.chat-actions-menu button:hover{background:#f8e8ef}.chat-block-status{background:#fff;margin:0;padding:8px 14px}.chat-block-status[hidden]{display:none}.chat-compose[data-blocked="1"]{opacity:.55}
.chat-message{position:relative}.message-select-button{display:none}.delete-dialog{border:0;border-radius:18px;width:min(440px,calc(100vw - 24px));padding:22px}.delete-dialog::backdrop{background:#26091666}
@media(max-width:700px),(hover:none) and (pointer:coarse){
 .message-select-button{display:block;float:right;width:32px;height:32px;padding:0;margin:-3px -7px 2px 8px;border-radius:50%;background:transparent;color:#74354b;font-size:24px;touch-action:manipulation}
 .message-selection{display:grid;grid-template-columns:1fr auto auto}.message-selection strong{grid-column:1/-1}.message-selection .selection-download{margin-right:auto}
 .chat-image{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}.selection-delete,.selection-cancel,.delete-confirm,.delete-cancel{min-height:44px;touch-action:manipulation}
}
/* Touch holds select a message, without the browser's copy/image menu. */
@media(hover:none),(pointer:coarse){
 .chat-messages .chat-message,.chat-messages .chat-message *{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}
 .chat-messages .chat-message{touch-action:pan-y}
 .chat-messages .chat-image{-webkit-user-drag:none}
}
.blocked-chat-notice{flex-shrink:0;background:#fff5f8;text-align:center;padding:14px 16px;color:#74354b}.blocked-chat-notice p{margin:4px 0}.blocked-chat-notice form{margin:0}.blocked-chat-notice button{display:inline;padding:0;background:transparent;color:#a43d64;font-weight:500;text-decoration:underline;border-radius:0}
.personal-page{max-width:1250px}.personal-layout{display:grid;grid-template-columns:minmax(260px,340px) minmax(0,1fr);gap:28px;margin-top:18px}.profile-portrait{aspect-ratio:3/4;border-radius:24px;overflow:hidden;display:grid;place-items:center;background:linear-gradient(140deg,#ebc5d3,#b2718c);font-size:110px;color:#fff}.profile-portrait img{width:100%;height:100%;object-fit:cover}.profile-intro{margin-bottom:28px}.profile-intro h1{font-size:34px;margin-bottom:6px}.personal-layout .panel{border:0;border-radius:22px;padding:24px;margin-bottom:16px}.personal-layout .panel h2{margin-top:0}.profile-data{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:0}.profile-data dt{color:#8a7d87}.profile-data dd{margin:0;overflow-wrap:anywhere}.profile-tags{display:flex;flex-wrap:wrap;gap:8px}.profile-tags span{border:1px solid #ead9e1;border-radius:22px;padding:8px 14px}.profile-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px 16px}.profile-goals{display:flex;flex-wrap:wrap;gap:12px}.profile-goals label{display:flex;align-items:center;gap:8px}.profile-goals input{width:auto;margin:0}.profile-links,.profile-save{display:flex;gap:18px;align-items:center;flex-wrap:wrap}.profile-photo-form{margin-top:14px}.profile-photo-form input{padding:6px;font-size:13px}.profile-edit-form .panel{padding:22px;border-radius:20px}.profile-save{margin-top:20px}
@media(max-width:700px){.personal-layout{grid-template-columns:1fr;gap:20px}.profile-portrait{max-width:330px;margin:auto}.profile-intro h1{font-size:28px}.profile-fields{grid-template-columns:1fr 1fr}.personal-layout .panel{padding:18px}.profile-data{gap:14px;font-size:14px}.profile-save button{width:100%}}
@media(max-width:380px){.profile-fields{grid-template-columns:1fr}}
.personal-page{max-width:none;margin:18px 24px;padding:0 0 90px}.personal-layout{grid-template-columns:minmax(280px,32%) minmax(0,1fr);gap:32px}.personal-layout .profile-portrait{position:relative;max-width:none}.main-photo-delete{position:absolute;right:12px;top:12px}.main-photo-delete button,.gallery-photo button{background:#9b445fc9;color:#fff;border-radius:50%;width:36px;height:36px;padding:0;font-size:24px}.profile-section-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px;gap:10px}.profile-section-heading h2{margin:0!important}.profile-edit-icon{width:40px;height:40px;display:grid;place-items:center;border-radius:50%;background:#f5f1f3;color:#74354b;font-size:24px}.profile-gallery{margin-top:24px}.private-photo-note{padding:16px;border-radius:16px;background:#fff0f3;color:#74354b}.gallery-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.gallery-photo{position:relative;aspect-ratio:3/4;overflow:hidden;border-radius:12px;background:#eee}.gallery-photo img{width:100%;height:100%;object-fit:cover}.gallery-photo a{display:block;height:100%}.gallery-photo form{position:absolute;top:5px;right:5px}.gallery-photo button{width:28px;height:28px;font-size:20px}.gallery-upload{margin-top:12px}.gallery-upload input{font-size:13px;padding:7px}.profile-edit-form section[hidden]{display:none}.profile-services h2{margin-bottom:22px}
@media(max-width:700px){.personal-page{margin:16px 12px}.personal-layout{grid-template-columns:1fr;gap:22px}.personal-layout .profile-portrait{max-width:350px}.gallery-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
.personal-title{display:flex;justify-content:space-between;align-items:center;gap:14px;margin:22px 0 32px}.personal-title h1{margin:0;text-transform:uppercase;font-size:28px}.personal-title-actions{display:flex;gap:10px}.personal-title-actions button,.personal-title-actions a{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:#f1edf0;color:#74354b;font-size:24px;padding:0}.profile-share-status:empty{display:none}.personal-layout .profile-photo-form{background:transparent;padding:0;border-radius:0}.main-photo-add{color:#8c3d5b;cursor:pointer;padding:8px 0}.main-photo-add input,.gallery-add-tile input{position:absolute;width:1px;height:1px;opacity:0;overflow:hidden;padding:0;border:0}.gallery-add-tile{display:grid;place-items:center;aspect-ratio:3/4;margin:0;border-radius:12px;background:#efedf2;color:#b9afba;cursor:pointer}.gallery-add-tile span{font-size:40px}.gallery-upload{margin:0}.photo-submit[hidden]{display:none}.main-photo-delete button,.gallery-photo button{display:grid;place-items:center}.gallery-add-tile:focus-within{outline:2px solid #8c3d5b}.profile-gallery h2{font-size:21px}.personal-layout{margin-top:0}.profile-intro h1{font-size:36px}
@media(max-width:700px){.personal-title{margin:10px 0 24px;gap:6px}.personal-title h1{text-transform:none;font-size:24px}.personal-title-actions{gap:6px}.personal-title-actions button,.personal-title-actions a{width:38px;height:38px}.personal-layout .profile-portrait{max-width:none;width:100%}.gallery-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.gallery-photo button{width:32px;height:32px}.profile-gallery{margin-top:24px}.profile-intro h1{font-size:30px}}
/* Disclosure remains legible above the avatar image in catalogue cards. */
.avatar-ai-badge{position:absolute;top:10px;left:10px;z-index:2;background:#3e2637;color:#fff;padding:5px 9px;border-radius:10px;font-size:12px;}

/* One dating goal per row on phones, in both profile and editor. */
@media(max-width:700px){.personal-page .profile-tags,.personal-page .profile-goals{flex-direction:column;align-items:flex-start;flex-wrap:nowrap}.personal-page .profile-tags>span{max-width:100%}.personal-page .profile-goals>label{width:100%;margin:4px 0}}

/* Additional profile forms keep checkboxes compact. */
form.panel input[type="checkbox"]{width:auto;display:inline-block;margin-right:8px}.seo-text{overflow-wrap:anywhere}

.answer-row{display:grid;grid-template-columns:minmax(150px,1fr) minmax(180px,2fr);gap:16px;align-items:center}.answer-row input[type=checkbox]{width:auto;display:inline-block;margin-right:8px}.field-preview{background:#f3f6f9;padding:12px;border-radius:5px;margin:12px 0}.account-facts th{width:210px}@media(max-width:650px){.answer-row{grid-template-columns:1fr;gap:0}.account-facts th{width:auto}}

.answer-row:not(.with-comment){grid-template-columns:1fr}.answer-row .preference-check{display:flex;align-items:center;gap:14px;margin:6px 0}.answer-row .preference-check input{margin:0;flex:0 0 auto}.answer-row .preference-note{margin:6px 0}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.personal-page fieldset:has(.answer-row){border:0;padding:16px 0}.personal-page fieldset:has(.answer-row) legend{font-size:1.2rem;font-weight:700;color:#941b3a}

[data-photo-group]{cursor:zoom-in}.photo-viewer{position:fixed;inset:0;width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;padding:54px 64px;border:0;margin:0;background:rgba(10,8,12,.96);color:white;overflow:hidden}.photo-viewer::backdrop{background:#100b10}.photo-viewer[open]{display:flex;align-items:center;justify-content:center}.photo-viewer .viewer-image{max-width:100%;max-height:100%;object-fit:contain;width:auto;height:auto;user-select:none}.photo-viewer button{position:absolute;z-index:1;width:48px;height:48px;padding:0;margin:0;border-radius:50%;background:#ffffff25;color:white;font-size:38px;display:grid;place-items:center}.photo-viewer button[hidden]{display:none}.viewer-close{right:12px;top:10px}.viewer-prev{left:10px;top:calc(50% - 24px)}.viewer-next{right:10px;top:calc(50% - 24px)}.viewer-count{position:absolute;bottom:10px;left:0;width:100%;text-align:center;margin:0;color:white}.photo-viewer button:focus-visible{outline:3px solid white}@media(max-width:700px){.photo-viewer{padding:62px 8px 48px}.photo-viewer .viewer-prev,.photo-viewer .viewer-next{background:#181018b3;width:44px;height:44px}.viewer-prev{left:6px}.viewer-next{right:6px}}

.additional-profile-page{max-width:1250px;margin:24px auto;padding:0 20px 90px}.additional-profile-layout{display:grid;grid-template-columns:minmax(250px,34%) minmax(0,1fr);gap:24px;align-items:start}.additional-profile-photos{display:grid;gap:12px}.additional-profile-photos img{display:block;width:100%;height:auto;border-radius:12px}.additional-photo-placeholder{background:#eee8ec;border-radius:12px;padding:60px 20px;text-align:center}.additional-profile-info{min-width:0}.additional-profile-info .panel{margin:0 0 16px}.additional-profile-info h2{font-size:21px}.additional-profile-data{display:grid;grid-template-columns:minmax(120px,1fr) minmax(0,1.3fr);margin:0}.additional-profile-data dt,.additional-profile-data dd{padding:9px 0;border-bottom:1px solid #e8e0e5;margin:0;overflow-wrap:anywhere}.additional-profile-data dt{color:#756570;padding-right:14px}.additional-profile-data dd{white-space:pre-wrap}.preference-comment{display:block;margin-top:4px}.preview-notice{padding:16px;background:#f0e9ed;border-radius:12px;margin-bottom:20px;display:flex;align-items:center;gap:14px;flex-wrap:wrap}.preview-notice span{flex:1;min-width:200px}@media(max-width:700px){.additional-profile-page{padding:0 12px 90px;margin:16px auto}.additional-profile-layout{grid-template-columns:1fr;gap:18px}.additional-profile-data{grid-template-columns:minmax(110px,1fr) minmax(0,1.3fr)}}

.owner-profile-navigation a{position:fixed;top:calc(50% - 32px);z-index:25;display:grid;place-items:center;width:42px;height:64px;background:#777b;color:white;font-size:44px;text-decoration:none;line-height:1}.owner-profile-prev{left:0;border-radius:0 32px 32px 0}.owner-profile-next{right:0;border-radius:32px 0 0 32px}.owner-profile-navigation a:hover{background:#666d}.owner-profile-navigation a:focus-visible{outline:3px solid #74354b;outline-offset:2px}@media(max-width:700px){.owner-profile-navigation a{width:34px;height:56px;font-size:38px}.additional-profile-page:has(.owner-profile-navigation){padding-left:40px;padding-right:40px}}

.my-profiles-list{display:flex;flex-direction:column;gap:20px}.my-profile-item{display:flex;align-items:flex-start;gap:20px;min-width:0;padding:16px 0;border-bottom:1px solid var(--line)}.my-profile-item:last-child{border-bottom:0}.my-profile-item>a{flex:0 0 140px}.my-profile-item>a img{display:block;border-radius:10px}.my-profile-details{min-width:0;flex:1}.my-profile-details h3{margin:0 0 8px;overflow-wrap:anywhere}.my-profile-actions{display:flex;gap:10px;flex-wrap:wrap}.my-profile-actions .button{display:block;max-width:100%;white-space:normal;overflow-wrap:anywhere;margin:0;text-align:center}@media(max-width:700px){.my-profile-item{flex-direction:column;gap:14px}.my-profile-item>a{flex:none;width:140px}.my-profile-details{width:100%}.my-profile-actions{display:grid;grid-template-columns:minmax(0,1fr);gap:10px}.my-profile-actions .button{width:100%;box-sizing:border-box}}

#page-top{scroll-margin-top:150px}.profile-save{position:sticky;bottom:12px;z-index:4;background:#fff;padding:12px;border:1px solid var(--line);border-radius:12px;box-shadow:0 3px 18px #3513291c;display:flex;gap:12px;flex-wrap:wrap}.profile-save-notice{background:#edf5ef;border:1px solid #a4c7ac;border-radius:12px;padding:16px;color:#244d30;font-weight:600}@media(max-width:700px){.profile-save{bottom:calc(66px + env(safe-area-inset-bottom));display:block}.profile-save button{width:100%}}

body:has(.profile-save){padding-bottom:100px}.profile-save{position:fixed;left:24px;right:24px;max-width:1200px;margin:0 auto}@media(max-width:700px){.profile-save{left:12px;right:12px}body:has(.profile-save){padding-bottom:170px}}

.user-presence{display:flex;align-items:center;gap:6px;font-size:12px;line-height:1.4;color:#716672;margin:5px 0;white-space:normal;overflow-wrap:anywhere}.user-presence .presence-dot{display:none;width:8px;height:8px;border-radius:50%;background:#269b52;flex-shrink:0}.user-presence.is-online{color:#208b46}.user-presence.is-online .presence-dot{display:inline-block}.profile-card-info .user-presence{font-size:11px}.conversation-heading .user-presence{margin:2px 0 0;font-size:11px}

.user-presence.is-online,.profile-card-info .user-presence.is-online,.conversation-heading .user-presence.is-online{font-size:15px;font-weight:700;color:#087f23}.user-presence.is-online .presence-dot{width:11px;height:11px;background:#16e34d;box-shadow:0 0 0 3px #16e34d26}.profile-card-info .user-presence.is-online [data-presence-text]{color:#5dff82;font-size:15px;font-weight:700}

.extra-filter{margin-top:14px;width:100%;min-width:0}.extra-filter>summary{cursor:pointer;padding:14px 16px;border:1px solid var(--line);border-radius:12px;font-weight:600;color:#74354b;background:#f7f1f4}.extra-filter fieldset{margin:16px 0;padding:14px;border:1px solid var(--line);border-radius:12px;min-width:0}.extra-filter legend{font-weight:600}.extra-filter-check{display:flex;align-items:center;gap:10px;padding:8px 0}.extra-filter-check input{width:auto;margin:0}.extra-number{display:grid;grid-template-columns:1fr 1fr;gap:10px}.extra-number>strong{grid-column:1/-1}

.dating-goals{border:0;padding:0;margin:12px 0 26px}.dating-goals legend{font-weight:700;margin-bottom:12px}.dating-goal-options{display:flex;flex-wrap:wrap;gap:8px}.dating-goal-options label{position:relative;cursor:pointer}.dating-goal-options input{position:absolute;opacity:0;width:1px;height:1px}.dating-goal-options span{display:block;padding:11px 14px;border-radius:12px;background:#f1edf0;border:1px solid transparent}.dating-goal-options input:checked+span{background:#7d314b;color:white}.dating-goal-options input:focus-visible+span{outline:2px solid #ad6a7d;outline-offset:2px}

.profile-fact-table{margin:0 0 18px}.profile-fact-table>div{display:grid;grid-template-columns:minmax(130px,38%) minmax(0,1fr);gap:10px;border-bottom:1px dotted #d6cbd0;padding:5px 0}.profile-fact-table dt,.profile-fact-table dd{margin:0;overflow-wrap:anywhere}.profile-fact-table dd{color:#205b83}.profile-about-text{white-space:pre-line;overflow-wrap:anywhere;line-height:1.6;margin:18px 0}.profile-interest-section{margin-top:24px}.profile-fact-table dd:empty:after{content:'✓';color:#248442}.additional-profile-photos img{height:auto;max-width:100%}@media(max-width:480px){.profile-fact-table>div{grid-template-columns:minmax(110px,43%) minmax(0,1fr);gap:8px}}

.catalog-pagination{display:flex;justify-content:center;margin:24px 0 0}.catalog-pagination:empty{display:none}.profile-image-fallback{object-fit:contain!important;background:#eee4eb}

.site-age-footer a{display:inline-block;margin-bottom:8px}

/* Media messages retain their full height; previews fit the visible chat. */
.conversation-screen .chat-message{flex-shrink:0}
.conversation-screen .chat-image{height:auto;max-height:min(320px,var(--chat-photo-height,320px));object-fit:contain}

.profile-card-info strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;overflow-wrap:normal;max-width:100%}

.support-identity{display:block;font-size:12px;line-height:1.4;color:#777}.message-receipt{color:#999;font-size:13px;white-space:nowrap}.message-receipt.is-read{color:var(--sponsa-pink,#ed326b)}
