body.section-theme-romance,
body.dating-shell {
    --dating-ink: #2d2330;
    --dating-muted: #746771;
    --dating-coral: #f45f67;
    --dating-coral-dark: #d94355;
    --dating-blush: #fff0ec;
    --dating-cream: #fffaf6;
    --dating-sage: #8da77a;
    color: var(--dating-ink);
    background:
        radial-gradient(circle at 8% 3%, rgba(244,95,103,.12), transparent 26rem),
        radial-gradient(circle at 90% 12%, rgba(255,203,187,.22), transparent 30rem),
        linear-gradient(180deg, #fffaf7 0, #fff 35rem, #fff8f4 100%);
}

.section-theme-romance .horizon-header,
.dating-shell .horizon-header {
    color: #33272e;
    background: rgba(255,255,255,.96);
    box-shadow: 0 12px 34px rgba(83,52,65,.08);
}
.section-theme-romance .horizon-brand,
.section-theme-romance .horizon-account a,
.section-theme-romance .horizon-nav a,
.dating-shell .horizon-brand,
.dating-shell .horizon-account a,
.dating-shell .horizon-nav a { color: #3c3037; }
.section-theme-romance .horizon-brand__mark,
.dating-shell .horizon-brand__mark { color:#fff; background:linear-gradient(145deg,#ff8b83,#eb3f67); box-shadow:0 10px 24px rgba(235,63,103,.24); }
.section-theme-romance .horizon-nav-shell,
.dating-shell .horizon-nav-shell { border-color:#f0e3e1; background:rgba(255,255,255,.96); }
.section-theme-romance .horizon-mobile-toggle,
.dating-shell .horizon-mobile-toggle { color:#742b46; }
.section-theme-romance .horizon-mobile-toggle__icon span,
.dating-shell .horizon-mobile-toggle__icon span { background:#d94355; }
.section-theme-romance .horizon-nav a.is-active::after,
.dating-shell .horizon-nav a.is-active::after { background:var(--dating-coral); }
.section-theme-romance .horizon-footer,
.dating-shell .horizon-footer { color:#67555e; background:#fff3ee; }

.dating-page { padding-block-start: 24px; }
.dating-subnav { display:flex; flex-wrap:wrap; gap:8px; margin:0 0 20px; padding:6px; border:1px solid #f0dfdc; border-radius:999px; background:rgba(255,255,255,.85); width:max-content; max-width:100%; }
.dating-subnav a { padding:9px 18px; border-radius:999px; color:#68545d; font-weight:800; }
.dating-subnav a.is-active { color:#fff; background:linear-gradient(135deg,var(--dating-coral),#ef476f); box-shadow:0 9px 22px rgba(239,71,111,.22); }

.dating-hub-heading { display:flex; align-items:center; justify-content:center; gap:18px; margin:0 0 24px; text-align:center; }
.dating-hub-heading__mark { display:grid; place-items:center; width:62px; height:62px; border-radius:22px; color:#fff; background:linear-gradient(145deg,#ff9a8f,#ef476f); font-size:34px; box-shadow:0 18px 40px rgba(239,71,111,.24); }
.dating-hub-heading h1 { margin:0; font:500 clamp(42px,5vw,68px)/1 Georgia,serif; letter-spacing:-.045em; }
.dating-hub-heading p { max-width:720px; margin:8px auto 0; color:var(--dating-muted); font-size:17px; }

.dating-hub-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }
.dating-hub-card { min-height:420px; overflow:hidden; position:relative; display:grid; grid-template-columns:minmax(0,1fr) minmax(240px,.78fr); gap:18px; padding:clamp(28px,4vw,52px); border-radius:30px; box-shadow:0 26px 70px rgba(69,42,54,.12); }
.dating-hub-card--regular { border:1px solid #f0d9d3; background:linear-gradient(135deg,#fffdfb,#fff0e9); }
.dating-hub-card--adult { border:1px solid #4d2137; color:#fff; background:radial-gradient(circle at 80% 20%,rgba(239,71,111,.32),transparent 22rem),linear-gradient(135deg,#130b13,#2b0d1d); box-shadow:0 30px 80px rgba(20,5,14,.3); }
.dating-hub-card__copy { position:relative; z-index:2; align-self:center; }
.dating-hub-card__eyebrow { color:var(--dating-coral-dark); font-size:12px; font-weight:900; letter-spacing:.14em; text-transform:uppercase; }
.dating-hub-card--adult .dating-hub-card__eyebrow { color:#ff7ca0; }
.dating-hub-card h2 { margin:10px 0 12px; font:500 clamp(45px,6vw,76px)/.94 Georgia,serif; letter-spacing:-.055em; }
.dating-hub-card p { max-width:520px; margin:0 0 22px; color:var(--dating-muted); font-size:17px; }
.dating-hub-card--adult p { color:#d9c8d2; }
.dating-chip-row { display:flex; flex-wrap:wrap; gap:8px; }
.dating-chip-row span,.dating-tag-row span { display:inline-flex; align-items:center; padding:8px 12px; border:1px solid #efdcd9; border-radius:999px; color:#684e5a; background:rgba(255,255,255,.72); font-size:13px; font-weight:700; }
.dating-hub-card--adult .dating-chip-row span { border-color:#72314d; color:#f5d8e4; background:rgba(255,255,255,.045); }
.dating-cta { display:inline-flex; align-items:center; justify-content:center; margin-top:22px; padding:12px 22px; border-radius:14px; color:#fff!important; background:linear-gradient(135deg,var(--dating-coral),#ef476f); font-weight:900; box-shadow:0 13px 28px rgba(239,71,111,.22); }
.dating-hub-card__visual { position:relative; min-height:300px; }
.dating-portrait { position:absolute; display:block; border-radius:24px; background:linear-gradient(145deg,#f0b8a8,#8f5b56); box-shadow:0 20px 44px rgba(68,40,49,.22); }
.dating-portrait--one { width:62%; height:76%; left:0; bottom:4%; transform:rotate(-6deg); }
.dating-portrait--two { width:66%; height:88%; right:0; top:0; background:linear-gradient(145deg,#edc3ad,#ba7865); }
.dating-portrait--three { width:45%; height:54%; right:2%; bottom:-3%; transform:rotate(5deg); background:linear-gradient(145deg,#eaa08e,#7b4a55); }
.dating-portrait--adult-one { width:72%; height:94%; left:0; bottom:-5%; background:linear-gradient(145deg,#6f1e3a,#160a14); }
.dating-portrait--adult-two { width:48%; height:50%; right:0; top:0; border:2px solid #e83f75; background:linear-gradient(145deg,#422132,#080608); }
.dating-portrait--adult-three { width:46%; height:48%; right:0; bottom:0; border:2px solid #e83f75; background:linear-gradient(145deg,#8b2c4f,#180911); }

.dating-comparison { display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:18px; margin:18px 0; padding:18px 24px; border:1px solid #eededb; border-radius:22px; background:#fff; box-shadow:0 14px 34px rgba(73,44,55,.07); }
.dating-comparison>div { display:grid; gap:3px; }
.dating-comparison>div:last-child { text-align:right; }
.dating-comparison strong { font-size:19px; }
.dating-comparison span { color:var(--dating-muted); }
.dating-comparison__vs { display:grid; place-items:center; width:48px; height:48px; border-radius:50%; color:#fff!important; background:#3a1d2b; font-size:12px; font-weight:900; }

.dating-preview-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
.dating-preview { padding:20px; border:1px solid #eededb; border-radius:24px; background:#fff; box-shadow:0 18px 44px rgba(73,44,55,.07); }
.dating-preview--adult { color:#fff; border-color:#472033; background:#160b13; }
.dating-preview__heading,.dating-list-heading,.adult-list-heading { display:flex; align-items:center; justify-content:space-between; gap:18px; margin-bottom:16px; }
.dating-preview__heading h2,.dating-list-heading h2,.adult-list-heading h2 { margin:0; }
.dating-preview__cards,.adult-preview-row { display:grid; grid-template-columns:repeat(auto-fit,minmax(110px,1fr)); gap:12px; }
.dating-mini-profile,.adult-mini-profile { overflow:hidden; display:grid; gap:4px; color:inherit!important; }
.dating-mini-profile img,.dating-mini-profile__placeholder,.adult-mini-profile img,.adult-mini-profile>span { width:100%; aspect-ratio:4/3; display:grid; place-items:center; object-fit:cover; border-radius:14px; background:#f5e4df; }
.dating-mini-profile strong,.adult-mini-profile strong { font-size:14px; }
.dating-mini-profile small,.adult-mini-profile small { color:#8a747e; }
.dating-preview--adult .dating-mini-profile__placeholder { color:#ff7aa0; background:#321323; }

.dating-regular-hero { display:grid; grid-template-columns:minmax(0,1fr) minmax(300px,.8fr); align-items:center; gap:30px; min-height:300px; margin-bottom:18px; padding:clamp(30px,5vw,62px); border:1px solid #efdcd7; border-radius:28px; background:linear-gradient(120deg,rgba(255,255,255,.96),rgba(255,239,232,.92)); box-shadow:0 22px 60px rgba(72,43,54,.09); }
.dating-regular-hero__eyebrow { color:var(--dating-coral-dark); font-weight:900; letter-spacing:.08em; text-transform:uppercase; }
.dating-regular-hero h1 { margin:8px 0; font:500 clamp(52px,7vw,86px)/.94 Georgia,serif; letter-spacing:-.055em; }
.dating-regular-hero p { max-width:650px; color:var(--dating-muted); font-size:19px; }
.dating-regular-hero__story { position:relative; height:240px; }
.dating-regular-hero__story span { position:absolute; border-radius:28px; box-shadow:0 18px 44px rgba(81,47,58,.16); }
.dating-regular-hero__story span:nth-child(1) { inset:16px 35% 5px 0; transform:rotate(-5deg); background:linear-gradient(145deg,#f3c6af,#8a5f55); }
.dating-regular-hero__story span:nth-child(2) { inset:0 0 10px 36%; transform:rotate(4deg); background:linear-gradient(145deg,#efd0bc,#9b685b); }
.dating-regular-hero__story span:nth-child(3) { width:44%; height:48%; right:24%; bottom:-5px; background:linear-gradient(145deg,#e69a88,#693c48); }

.section-theme-romance .listing-filter { margin-bottom:18px; padding:14px; border:1px solid #eededb; border-radius:22px; background:#fff; box-shadow:0 14px 38px rgba(73,44,55,.07); }
.section-theme-romance .listing-filter__grid { display:grid; grid-template-columns:minmax(170px,.8fr) minmax(0,4fr) minmax(170px,.8fr); gap:12px; align-items:end; }
.section-theme-romance .listing-filter__form> .listing-filter__grid>label:first-child,
.section-theme-romance .listing-filter__form> .listing-filter__grid>label:last-child { display:none; }
.dating-location-chips { grid-column:1/-1; display:flex; align-items:center; gap:8px; overflow-x:auto; padding:4px 0 10px; }
.dating-location-chips span { white-space:nowrap; font-weight:900; }
.dating-location-chips a { white-space:nowrap; padding:8px 12px; border:1px solid #eededb; border-radius:999px; color:#6d5962; background:#fffaf8; }
.dating-location-chips a.is-active { color:#fff; border-color:var(--dating-coral); background:var(--dating-coral); }
.dating-filter-compact { display:grid; grid-template-columns:repeat(3,minmax(120px,1fr)); gap:10px; }
.dating-filter-compact label { display:grid; gap:5px; }
.dating-filter-compact span { color:#7d6a73; font-size:12px; font-weight:800; }
.dating-filter-compact input,.dating-filter-compact select { width:100%; border:1px solid #eadbd8; border-radius:12px; background:#fffdfc; }
.dating-goal-tags { grid-column:1/-1; align-items:center; }
.dating-goal-tags__label { flex:0 0 100%; color:#4f3b45; font-size:12px; font-weight:800; }
.section-theme-romance .dating-goal-tag { position:relative; border-color:#eadbd8; color:#6d5962; background:#fffaf8; }
.section-theme-romance .dating-goal-tag input { position:absolute; width:1px; height:1px; opacity:0; pointer-events:none; }
.section-theme-romance .dating-goal-tag:hover { border-color:var(--dating-coral); color:var(--dating-coral-dark); background:#fff1ed; }
.section-theme-romance .dating-goal-tag.is-active { border-color:var(--dating-coral); color:#fff; background:linear-gradient(135deg,var(--dating-coral),#ef476f); box-shadow:0 0 0 3px rgba(244,95,103,.16); }
.section-theme-romance .dating-goal-tag:focus-within { outline:3px solid rgba(217,67,85,.28); outline-offset:2px; }
.section-theme-romance .listing-filter__actions { margin-top:12px; }
.section-theme-romance .listing-filter__actions button { background:linear-gradient(135deg,var(--dating-coral),#ef476f); }

.dating-story-strip { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; margin:18px 0 26px; }
.dating-story-strip article { min-height:130px; padding:20px; border:1px solid #efdfdc; border-radius:20px; background:#fff; box-shadow:0 12px 32px rgba(73,44,55,.06); }
.dating-story-strip strong { font:600 20px Georgia,serif; }
.dating-story-strip p { margin:10px 0 0; color:var(--dating-muted); }
.dating-profile-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr)); gap:18px; }
.dating-profile-card { overflow:hidden; border:1px solid #eadbd8; border-radius:22px; background:#fff; box-shadow:0 18px 48px rgba(73,44,55,.09); transition:transform .18s ease,box-shadow .18s ease; }
.dating-profile-card:hover { transform:translateY(-5px); box-shadow:0 26px 60px rgba(73,44,55,.14); }
.dating-profile-card__photo { position:relative; display:block; }
.dating-profile-card__photo img,.dating-profile-card__placeholder { width:100%; aspect-ratio:4/4.6; display:grid; place-items:center; object-fit:cover; background:linear-gradient(145deg,#f8d8ca,#a86b66); font-size:48px; }
.dating-profile-card__online { position:absolute; top:12px; left:12px; padding:6px 9px; border-radius:999px; color:#fff; background:rgba(39,111,71,.84); font-size:12px; }
.dating-profile-card__body { padding:16px; }
.dating-profile-card h2 { margin:0 0 4px; font-size:23px; }
.dating-profile-card h2 a { color:#35262e; }
.dating-profile-card p { margin:0 0 10px; color:var(--dating-muted); }
.dating-tag-row { display:flex; flex-wrap:wrap; gap:6px; }
.dating-tag-row span { padding:6px 9px; font-size:12px; }

.dating-profile-page { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(320px,.85fr) minmax(230px,.42fr); gap:18px; align-items:start; }
.dating-profile-page__gallery,.dating-profile-page__summary,.dating-compatibility,.dating-profile-details section,.dating-report,.dating-similar { border:1px solid #eadbd8; border-radius:24px; background:#fff; box-shadow:0 18px 48px rgba(73,44,55,.08); }
.dating-profile-page__gallery { overflow:hidden; padding:12px; }
.dating-profile-page__main-photo,.dating-profile-page__photo-placeholder { width:100%; aspect-ratio:4/3; display:grid; place-items:center; object-fit:cover; border-radius:18px; background:linear-gradient(145deg,#f7d8c9,#9f6a61); font-size:64px; }
.dating-profile-page__thumbs { display:grid; grid-template-columns:repeat(5,1fr); gap:8px; margin-top:8px; }
.dating-profile-page__thumbs img { width:100%; aspect-ratio:1; object-fit:cover; border-radius:12px; }
.dating-profile-page__summary { padding:28px; }
.dating-profile-page__summary h1 { margin:4px 0; font:600 clamp(38px,4vw,58px)/1 Georgia,serif; }
.dating-profile-page__online { color:#2f855a; font-weight:900; }
.dating-profile-page__location { color:var(--dating-muted); }
.dating-profile-page__summary blockquote { margin:20px 0; padding:18px; border-radius:16px; color:#6d4c58; background:#fff3ef; font:italic 18px/1.55 Georgia,serif; }
.dating-profile-page__summary .message-form { margin-top:20px; }
.dating-compatibility { padding:24px; text-align:center; }
.dating-compatibility__ring { width:126px; height:126px; display:grid; place-items:center; margin:20px auto; border:13px solid #f6d5d2; border-block-start-color:var(--dating-coral); border-inline-end-color:var(--dating-coral); border-radius:50%; transform:rotate(18deg); }
.dating-compatibility__ring span { transform:rotate(-18deg); font-size:28px; font-weight:900; }
.dating-profile-details { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; margin-top:18px; }
.dating-profile-details section { padding:22px; }
.dating-profile-details h2 { margin-top:0; font:600 23px Georgia,serif; }
.dating-profile-details ul { padding-left:20px; }
.dating-report,.dating-similar { margin-top:18px; padding:20px; }

@media(max-width:1100px){
    .dating-hub-grid,.dating-preview-grid{grid-template-columns:1fr}
    .dating-profile-page{grid-template-columns:1.2fr .8fr}.dating-compatibility{grid-column:1/-1}
    .dating-story-strip{grid-template-columns:repeat(2,1fr)}
    .dating-filter-compact{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:760px){
    .dating-hub-heading{align-items:flex-start;text-align:left}.dating-hub-heading__mark{width:48px;height:48px;border-radius:16px}
    .dating-hub-card{grid-template-columns:1fr;min-height:auto}.dating-hub-card__visual{height:220px}
    .dating-comparison{grid-template-columns:1fr}.dating-comparison>div:last-child{text-align:left}.dating-comparison__vs{display:none}
    .dating-regular-hero{grid-template-columns:1fr}.dating-regular-hero__story{height:190px}
    .dating-story-strip,.dating-profile-details{grid-template-columns:1fr}
    .dating-filter-compact{grid-template-columns:1fr 1fr}
    .dating-profile-page{grid-template-columns:1fr}
}
@media(max-width:520px){.dating-filter-compact{grid-template-columns:1fr}.dating-story-strip{grid-template-columns:1fr}.dating-profile-page__thumbs{grid-template-columns:repeat(3,1fr)}}

/* Unified dating navigation and real profile imagery. */
.dating-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 9px;
    margin: -10px 0 20px;
}
.dating-actions a {
    padding: 9px 13px;
    border: 1px solid #eadbd8;
    border-radius: 12px;
    color: #5e4953;
    background: rgba(255,255,255,.86);
    font-size: 13px;
    font-weight: 800;
}
.dating-actions a:hover { border-color: var(--dating-coral); color: var(--dating-coral-dark); }
.dating-portrait { overflow: hidden; }
.dating-portrait img,
.dating-regular-hero__story img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.dating-hub-card__visual:empty,
.dating-regular-hero__story:empty { opacity: .72; }
.dating-regular-hero__story span { overflow: hidden; }
.dating-back { margin: 0 0 14px; }
.dating-report summary { cursor: pointer; font-weight: 800; }
.dating-report form { display: grid; gap: 10px; margin-top: 14px; }
.dating-report select,
.dating-report textarea { width: 100%; }

/* Shared PortalKit geography search component. */
.section-theme-romance .dating-filter-compact,
.section-theme-romance .dating-filter-geography {
    grid-column: 1 / -1;
}

.section-theme-romance .dating-filter-geography {
    margin-top: 2px;
}

/* Conditional fields and contact flow for the 18+ dating goal. */
.section-theme-romance [data-adult-goal-fields],
.section-theme-romance [data-adult-search-fields],
.section-theme-romance .dating-contact-card,
.section-theme-romance .dating-comments {
    border-color: #e4c9cf;
    background: linear-gradient(145deg, #fff9f8, #f8eef1);
}
.section-theme-romance [data-adult-goal-fields][hidden],
.section-theme-romance [data-adult-search-fields][hidden] { display: none; }
.section-theme-romance [data-adult-search-fields] { margin-top: 14px; padding: 16px; border: 1px solid #e4c9cf; border-radius: 18px; }
.section-theme-romance [data-adult-search-fields] summary { cursor: pointer; color: #7a334b; font-weight: 900; }
.section-theme-romance .dating-profile-card--adult { border-color: #d9aeb9; box-shadow: 0 18px 48px rgba(104, 42, 62, .14); }
.section-theme-romance .dating-profile-card--adult .dating-profile-card__online { background: rgba(129, 38, 68, .9); }
.section-theme-romance .dating-profile-facts { display: flex; flex-wrap: wrap; gap: 8px; margin: 14px 0; }
.section-theme-romance .dating-profile-facts span { padding: 7px 10px; border: 1px solid #ead3d8; border-radius: 999px; background: #fff; font-size: 13px; font-weight: 800; }
.section-theme-romance .dating-contact-card { margin-top: 18px; padding: 18px; }
.section-theme-romance .dating-contact-card h2 { margin-top: 0; }
.section-theme-romance .dating-comments { margin-top: 18px; padding: 20px; }
.section-theme-romance .dating-comments__list { display: grid; gap: 10px; margin: 14px 0; }
.section-theme-romance .dating-comments__list article { padding: 14px; border: 1px solid #eadbd8; border-radius: 15px; background: #fff; }
.section-theme-romance .dating-comments__list header { display: flex; justify-content: space-between; gap: 12px; color: var(--dating-muted); font-size: 13px; }

/* Form field names remain readable on the warm dating panels. */
.section-theme-romance label,
.section-theme-romance legend,
.section-theme-romance .form-label,
.section-theme-romance .dating-filter-compact label > span:first-child {
    color: #4f3b45;
}

.section-theme-romance .dating-account-goal-tags {
    margin: 0;
    padding: 0;
    border: 0;
}
.section-theme-romance .dating-account-goal-tags legend {
    margin-bottom: 4px;
    color: #4f3b45;
    font-weight: 800;
}
.section-theme-romance .dating-account-goal-tags__items {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}
.section-theme-romance .dating-account-goal-tag {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-height: 38px;
    padding: 8px 14px;
    border: 1px solid #eadbd8;
    border-radius: 999px;
    background: #fffaf8;
    color: #6d5962;
    font-weight: 750;
    cursor: pointer;
    transition: border-color .16s ease, background .16s ease, color .16s ease, box-shadow .16s ease;
}
.section-theme-romance .dating-account-goal-tag input {
    width: 16px;
    height: 16px;
    margin: 0;
    accent-color: #8f2438;
}
.section-theme-romance .dating-account-goal-tag:hover {
    border-color: var(--dating-coral);
    color: var(--dating-coral-dark);
    background: #fff1ed;
}
.section-theme-romance .dating-account-goal-tag.is-active,
.section-theme-romance .dating-account-goal-tag:has(input:checked) {
    border-color: var(--dating-coral);
    color: #fff;
    background: linear-gradient(135deg,var(--dating-coral),#ef476f);
    box-shadow: 0 0 0 3px rgba(244,95,103,.16);
}
.section-theme-romance .dating-account-goal-tag:focus-within {
    outline: 3px solid rgba(217,67,85,.28);
    outline-offset: 2px;
}
