:root {--pride-red:#e40303; --pride-orange:#ff8c00; --pride-yellow:#ffed00; --pride-green:#008026; --pride-blue:#004dff; --pride-purple:#750787;}
html {scroll-behavior:smooth;}
body {font-family:Arial, sans-serif; background-color:#f0f2f5; color:#333; line-height:1.6; margin:0; overflow-x:hidden;}
h1 {font-size:36px; font-weight:700; color:#a060d0; margin-top:0; margin-bottom:5px;}
h2 {font-size:30px; font-weight:700; color:#1e0432;}
h3 {font-size:26px; font-weight:700; color:#a060d0;}
.site-header {background-color:#a060d0; color:#ffffff; padding:20px 0; font-family:'Arial', sans-serif;}
.service-image {max-width:90%; height:auto; border-radius:8px; box-shadow:0 2px 4px rgba(0,0,0,0.1); margin:0 auto; display:block;}
.wp-block-video video {max-width:220px; height:auto; border-radius:8px; box-shadow:0 2px 4px rgba(0,0,0,0.1);}
.header-container {max-width:1200px; margin:0 auto; padding:0 20px; display:flex; justify-content:space-between; align-items:center;}
header a {text-decoration:none; color:#ffffff;}
.header-branding .main-title {font-size:2.2em; font-weight:bold; margin:0; line-height:1.1; color:#ffffff;}
.header-branding .subtitle {font-size:0.95em; margin:5px 0 0 0; color:#e0c8f5; opacity:0.9; margin:5px 6px;}
.header-action, .header-button-nav {display:flex; align-items:center; gap:15px;}
.search-sidebar {display:flex; align-items:center; gap:5px;}
.header-action .action-text {font-size:1.1em; color:#fff; text-shadow:-1px -1px 0 #616161, 1px -1px 0 #616161, -1px 1px 0 #616161, 1px 1px 0 #616161;}
.header-action .action-button {background-color:#b070e0; color:#ffffff; border:2px solid #8040c0; padding:10px 25px; border-radius:25px; text-decoration:none; font-weight:bolder; font-size:0.9em; transition:background-color 0.3s ease, border-color 0.3s ease, transform 0.2s ease; box-shadow:0 2px 4px rgba(0,0,0,0.1); font-size:1.2em;}
.header-action .action-button:hover, .header-action .action-button:focus {background-color:#a060d0; border-color:#602090; transform:translateY(-1px); outline:none;}
.header-button-nav {flex-direction:line; gap:5px;}
.page-header {background-color:#4a41d4; color:white; padding:15px 20px; font-size:1.2em; font-weight:bold; margin-bottom:20px;}
.wp-block-video {margin:0 auto; max-width:90%;}
.services-container {max-width:1200px; margin:0 auto; padding:40px 15px;}
.service-card {position:relative; background-color:white; border:1px solid #e0e0e0; margin-bottom:20px; padding:20px; display:flex; flex-direction:column; align-items:stretch; box-shadow:0 2px 4px rgba(0,0,0,0.05); border-radius:4px; cursor:pointer; transition:transform 0.2s ease-in-out, box-shadow 0.2s ease-in-out;}
.service-card:hover {transform:translateY(-3px); box-shadow:0 6px 12px rgba(0,0,0,0.1);}
.service-identity {display:flex; align-items:center; margin-bottom:15px; margin:15px auto;}
.service-number {background-color:#28a745; color:white; border-radius:50%; width:30px; height:30px; display:flex; align-items:center; justify-content:center; font-weight:bold; margin-right:15px; flex-shrink:0;}
.service-logo {padding:8px 15px; font-weight:bold; border-radius:4px; text-align:center;}
.logo-candy {font-family:'Arial Black', Gadget, sans-serif; font-size:1.8em; color:#e83e8c;}
.logo-seduced, .logo-promptchan {background-color:#212529; color:white; font-size:1.2em;}
.service-details {margin-bottom:15px;}
.service-details .service-name {color:#dc3545; margin-top:0; margin-bottom:10px; font-size:1.5em; font-weight:bold; display:block;}
.features-list {list-style:none; padding-left:0; margin:0;}
.features-list li {margin-bottom:8px; display:flex; align-items:center; color:#555;}
.checkmark {color:#28a745; margin-right:8px; font-weight:bold;}
.service-action {margin-top:auto;}
.trial-button {display:block; background-color:#dc3545; color:white; text-align:center; padding:12px 20px; text-decoration:none; font-weight:bold; border-radius:4px; transition:background-color 0.3s ease; position:relative; z-index:2;}
.trial-button:hover {background-color:#c82333;}
.pros-cons-widget {max-width:1000px; margin:30px auto; background-color:white; border:1px solid #e0e0e0; border-radius:4px; box-shadow:0 2px 4px rgba(0,0,0,0.05); padding:20px;}
.pros-cons-layout {display:flex; flex-direction:column; gap:20px;}
.column {flex:1;}
.column-title {font-size:1.1em; font-weight:bold; color:#333; margin-top:0; margin-bottom:15px; padding-bottom:10px; border-bottom:1px solid #eee; display:flex; align-items:center;}
.title-icon-box {display:inline-block; width:18px; height:18px; margin-right:10px; position:relative; border-radius:3px; vertical-align:middle;}
.pros-title-icon-box {background-color:#28a745;}
.pros-title-icon-box::before {content:""; position:absolute; box-sizing:border-box; left:6px; top:4px; width:5px; height:10px; border:solid white; border-width:0 2px 2px 0; transform:rotate(45deg);}
.cons-title-icon-box {background-color:#dc3545;}
.cons-title-icon-box::before, .cons-title-icon-box::after {content:""; position:absolute; box-sizing:border-box; left:8px; top:3px; width:2px; height:12px; background-color:white;}
.cons-title-icon-box::before {transform:rotate(45deg);}
.cons-title-icon-box::after {transform:rotate(-45deg);}
.item-list {list-style:none; padding-left:0; margin:0;}
.item-list li {background-color:#f8f9fa; padding:12px 15px; margin-bottom:1px; display:flex; align-items:center; font-size:0.95em; color:#333; border-radius:3px;}
.item-list li:not(:last-child) {margin-bottom:6px;}
.list-icon {display:inline-block; width:16px; height:16px; border-radius:50%; margin-right:12px; flex-shrink:0; border:1.5px solid #333; box-sizing:border-box;}
.pro-icon {background-color:#28a745;}
.con-icon {background-color:#dc3545;}
.item-list li.empty-item {background-color:transparent; border:none;}
.item-list li.empty-item .list-icon {visibility:hidden;}
.site-footer-wavy {background-color:#a060d0; color:#ffffff; padding-top:100px; padding-bottom:30px; position:relative; font-family:'Arial', sans-serif; clip-path:polygon( 0% 15%,20% 5%,40% 12%,60% 2%,80% 10%,100% 3%,100% 100%,0% 100% );}
.site-footer-wavy .footer-container {max-width:1100px; margin:0 auto; padding:0 20px; display:flex; flex-direction:column; align-items:center;}
.site-footer-wavy .footer-cta-text {font-size:2.2em; font-weight:bold; text-align:center; line-height:1.2; margin-bottom:50px; color:#fff; text-transform:uppercase;}
.site-footer-wavy .footer-bottom-content {display:flex; justify-content:space-between; align-items:center; width:100%; padding-top:20px; border-top:1px solid rgba(255,255,255,0.15); gap:20px;}
.site-footer-wavy .footer-nav ul {list-style:none; padding:0; margin:0; display:flex; gap:25px;}
.site-footer-wavy .footer-nav a {color:#e0c8f5; text-decoration:none; font-size:0.85em; font-weight:500; text-transform:uppercase; transition:color 0.3s ease;}
.site-footer-wavy .footer-nav a:hover {color:#ffffff;}
.site-footer-wavy .footer-bottom-right {display:flex; align-items:center; gap:20px;}
.site-footer-wavy .footer-copyright {font-size:0.8em; color:#e0c8f5; text-align:right;}
.site-footer-wavy .scroll-top-btn {background-color:#8040c0; color:#ffffff; width:36px; height:36px; border-radius:4px; display:flex; align-items:center; justify-content:center; text-decoration:none; transition:background-color 0.3s ease;}
.site-footer-wavy .scroll-top-btn:hover {background-color:#602090;}
.site-footer-wavy .arrow-up-icon {display:inline-block; width:0; height:0; border-left:6px solid transparent; border-right:6px solid transparent; border-bottom:7px solid #ffffff; position:relative; top:-1px;}
.profiles-grid {display:grid; grid-template-columns:repeat(auto-fill, minmax(300px,1fr)); gap:2rem; padding:2rem 0;}
.profile-card {background-color:#fdfdfb; border-radius:12px; box-shadow:0 4px 15px rgba(0,0,0,0.05); overflow:hidden; text-decoration:none; color:inherit; display:flex; flex-direction:column; transition:transform 0.3s ease, box-shadow 0.3s ease;}
.profile-card:hover {transform:translateY(-8px); box-shadow:0 8px 25px rgba(0,0,0,0.1);}
.profile-card-image {width:100%; height:350px; object-fit:cover;}
.profile-card-image.placeholder {background-color:#e0e0e0; display:flex; align-items:center; justify-content:center; font-size:5rem; color:#fff; font-weight:bold;}
.profile-card-content {padding:1rem 1.5rem; display:flex; flex-direction:column; flex-grow:1;}
.profile-card-name {font-size:1.5rem; font-weight:600; margin:0 0 1rem 0;}
.profile-card-prompt {margin-bottom:1rem; flex-grow:1;}
.prompt-label {font-size:0.75rem; font-weight:700; text-transform:uppercase; color:#999; letter-spacing:0.5px;}
.prompt-answer {font-family:serif; font-style:italic; font-size:1.1rem; color:#333; margin:0.25rem 0 0 0;}
.profile-card-footer {text-align:right; margin-top:1rem;}
.heart-icon {width:24px; height:24px; color:#e2e2e2; transition:color 0.2s ease-in-out;}
.profile-card:hover .heart-icon {color:#ff7b7b;}
.no-profiles {grid-column:1 / -1; text-align:center; padding:3rem; background-color:#f9f9f9; border-radius:8px;}
.profile-container-inspired {max-width:900px; margin:40px auto; background-color:#fff; border-radius:8px; box-shadow:0 4px 15px rgba(0,0,0,0.1); overflow:hidden;}
.profile-page-inspired {padding:25px 30px;}
.profile-header-inspired {display:flex; align-items:center; padding-bottom:25px; margin-bottom:25px; border-bottom:1px solid #e0e0e0;}
.phi-left {margin-right:30px; flex-shrink:0;}
.profile-avatar-inspired {width:250px; height:250px; border-radius:50%; object-fit:cover; border:4px solid #fff; box-shadow:0 2px 8px rgba(0,0,0,0.15);}
.phi-right {flex-grow:1;}
.profile-sub-info {display:flex; align-items:center; flex-wrap:wrap; font-size:16px; color:#555; margin-bottom:10px;}
.profile-sub-info span {margin-right:5px;}
.profile-sub-info .separator-dot {margin-left:0px; margin-right:8px; color:#999;}
.profile-sub-info .location-display a {color:#a060d0; text-decoration:none;}
.profile-sub-info .location-display a:hover {text-decoration:underline;}
.phi-right .headline-display {font-size:17px; color:#555; margin-top:10px; margin-bottom:20px; font-style:italic;}
.contact-button-inspired {background-color:#a060d0; color:white; border:none; padding:10px 20px; border-radius:5px; font-size:16px; font-weight:bold; cursor:pointer; transition:background-color 0.2s ease;}
.contact-button-inspired:hover {background-color:#8040b0;}
.profile-section-inspired {margin-bottom:30px;}
.profile-section-inspired h2 {border-bottom:2px solid #a060d0; padding-bottom:8px; margin-bottom:15px;}
.profile-section-inspired p {color:#454545; font-size:15px;}
.interests-list-inspired {list-style:none; padding:0; display:flex; flex-wrap:wrap; gap:10px;}
.interests-list-inspired li {background-color:#e0c8f5; padding:6px 12px; border-radius:15px; font-size:14px; color:#1e0432;}
.details-list-inspired dt {font-weight:bold; color:#333; float:left; width:120px; clear:left;}
.details-list-inspired dd {margin-left:130px; margin-bottom:8px; color:#555;}
.profile-container-inspired > h1 {text-align:center; color:#c0392b; margin-top:20px; margin-bottom:10px;}
.profile-container-inspired > p {text-align:center;}
.page-container {max-width:1200px; margin:0 auto; padding:20px;}
.homepage-header {text-align:center; margin-bottom:2rem;}
.homepage-header h1 {font-size:2.5rem; color:#1e0432; margin-bottom:0.5rem;}
.homepage-header p {font-size:1.1rem; color:#555; max-width:600px; margin:0 auto;}
.profiles-grid-homepage {display:grid; grid-template-columns:repeat(auto-fill, minmax(280px,1fr)); gap:1.5rem; margin-bottom:3rem;}
.listing-card {background-color:#fff; border:1px solid #e9e9e9; border-radius:6px; overflow:hidden; text-decoration:none; color:inherit; display:flex; flex-direction:column; box-shadow:0 2px 8px rgba(0,0,0,0.07); transition:transform 0.2s ease, box-shadow 0.2s ease;}
.listing-card:hover {transform:translateY(-5px); box-shadow:0 5px 15px rgba(0,0,0,0.12);}
.listing-card-image {width:100%; height:220px; object-fit:cover; background-color:#f0f0f0;}
.listing-card-image.placeholder {display:flex; align-items:center; justify-content:center; font-size:4rem; color:#ccc; font-weight:bold;}
.listing-card-content {padding:1rem; display:flex; flex-direction:column; flex-grow:1;}
.listing-card-title {font-size:1.15rem; font-weight:700; color:#a060d0; margin:0 0 0.5rem 0; line-height:1.3;}
.listing-card-bio {font-size:0.9rem; color:#666; flex-grow:1; margin-bottom:1rem;}
.listing-card-button {background-image:linear-gradient(to right,#e73a7e,#d32d90); color:#fff; text-align:center; padding:12px; font-weight:bold; border-radius:4px; margin-top:auto; transition:filter 0.2s;}
.listing-card:hover .listing-card-button {filter:brightness(1.1);}
.city-list-section {background-color:#f7f7f9; border-top:1px solid #e9e9e9; border-bottom:1px solid #e9e9e9; padding:2.5rem 1.5rem; text-align:center; margin:2rem 0;}
.city-list-section h2 {color:#1e0432; margin-top:0; margin-bottom:1.5rem;}
.city-list-links {display:flex; flex-wrap:wrap; justify-content:center; gap:10px 15px;}
.city-list-links a {color:#a060d0; text-decoration:none; font-size:0.95rem; padding:5px 0; border-bottom:1px solid transparent; transition:color 0.2s, border-color 0.2s;}
.city-list-links a:hover {color:#1e0432; border-bottom-color:#1e0432;}
.pagination-container {text-align:center; margin:2rem 0 3rem 0;}
.pagination-container p {font-weight:bold; color:#555; margin-bottom:1rem;}
.pagination {display:flex; justify-content:center; list-style:none; padding:0; gap:7px; flex-wrap: wrap;}
.page-item .page-link {display:block; padding:8px 14px; color:#a060d0; background-color:#fff; border:1px solid #ddd; border-radius:4px; text-decoration:none; transition:all 0.2s;}
.page-item .page-link:hover {background-color:#f5f5f5; border-color:#ccc;}
.page-item.active .page-link {background-color:#a060d0; color:#fff; border-color:#a060d0; font-weight:bold;}
.site-header {background:linear-gradient(90deg, var(--pride-red), var(--pride-orange), var(--pride-yellow), var(--pride-green), var(--pride-blue), var(--pride-purple) ); color:#ffffff; padding:20px 0; font-family:'Arial', sans-serif;}
.header-branding .subtitle {color:#fff; opacity:0.9; text-shadow:1px 1px 2px rgba(0,0,0,0.5);}
.site-footer-wavy {position:relative; border-top:none;}
.site-footer-wavy::after {content:''; position:absolute; bottom:-5px; left:0; width:100%; height:15px; background:linear-gradient(90deg, var(--pride-red), var(--pride-orange), var(--pride-yellow), var(--pride-green), var(--pride-blue), var(--pride-purple) ); clip-path:none;}
.header-action .action-button, .listing-card-button, .contact-button-inspired, .page-item.active .page-link {background:linear-gradient(110deg, var(--pride-red), var(--pride-orange), var(--pride-yellow), var(--pride-green)); color:#fff; border:none; text-shadow:1px 1px 2px rgba(0,0,0,0.3); transition:transform 0.2s ease, box-shadow 0.2s ease; background-size:200% 200%; animation:rainbow-flow 4s ease infinite; font-size:1.2em;}
.header-action .action-button:hover, .listing-card-button:hover, .contact-button-inspired:hover, .page-item.active .page-link:hover {transform:translateY(-2px); box-shadow:0 4px 10px rgba(0,0,0,0.2); animation-play-state:paused;}
.page-item.active .page-link {border-color:transparent;}
.header-action .action-button {background:linear-gradient(90deg, var(--pride-blue), var(--pride-purple)); color:#ffffff; border:none; padding:12px 28px; border-radius:25px; font-weight:bold; transition:transform 0.2s ease, box-shadow 0.2s ease; box-shadow:0 2px 4px rgba(0,0,0,0.2);}
.header-action .action-button:hover, .header-action .action-button:focus {transform:translateY(-2px); box-shadow:0 4px 8px rgba(0,0,0,0.25);}
.listing-card-button {#background-image:linear-gradient(to right,#e73a7e,#d32d90); color:#fff; text-align:center; padding:12px; font-weight:bold; border-radius:4px; margin-top:auto; transition:filter 0.2s;}
.listing-card:hover .listing-card-button {filter:brightness(1.15);}
.page-item.active .page-link {background:linear-gradient(90deg, var(--pride-orange), var(--pride-red)); color:#fff; border-color:transparent; font-weight:bold;}
.breadcrumb-container {margin-bottom:1.5rem; font-size:0.9rem; color:#6c757d;}
.breadcrumb-container a {color:#d63384; text-decoration:none;}
.breadcrumb-container a:hover {text-decoration:underline;}
.breadcrumb-separator {margin:0 0.5rem;}
.search-container {position:relative; width:250px;}
.search-form input[type="search"] {width:100%; padding:0.75rem; border:1px solid #ccc; border-radius:5px; font-size:1rem;}
.search-results {display:none; position:absolute; top:107px; left:0; right:0; background-color:white; border:1px solid #ccc; border-top:none; border-radius:0 0 5px 5px; max-height:400px; overflow-y:auto; z-index:1000;}
.result-item {display:block; padding:0.75rem 1rem; text-decoration:none; color:#333; border-bottom:1px solid #eee;}
.result-item:hover {background-color:#f5f5f5;}
.result-item .result-title {display:block; font-weight:bold;}
.result-item .result-context {display:block; font-size:0.9rem; color:#777;}
.no-results {padding:1rem; color:#777; text-align:center;}
.main-nav {background-color:#333; padding:0 1rem; display:flex; justify-content:space-between; align-items:center; position:relative;}
.main-header {display:flex; justify-content:space-between; align-items:center; padding:1rem; background-color:#e91e63; color:white;}
.logo {font-weight:bold; font-size:1.5rem; color:white; text-decoration:none;}
.sidebar-right {position:fixed; top:0; right:0; height:100vh; width:300px; background-color:#ad1457; color:white; z-index:2000; transform:translateX(100%); transition:transform 0.3s ease-in-out; display:flex; flex-direction:column;}
.sidebar-right.is-open {transform:translateX(0);}
.sidebar-header {padding:1.5rem; border-bottom:1px solid rgba(255,255,255,0.2); position:relative;}
.sidebar-title {margin:0;}
.sidebar-subtitle {margin:0.25rem 0 0 0; font-size:1.2em; font-weight:bold;}
.sidebar-content {padding:1rem; overflow-y:auto; flex-grow:1;}
.sidebar-nav {margin-top:30px; border-top:solid 1px;}
.sidebar-nav ul {list-style:none; padding:0; margin:0;}
.sidebar-nav a {display:block; padding:0.75rem 0.5rem; color:white; text-decoration:none; border-radius:4px; transition:background-color 0.2s;}
.sidebar-nav a:hover {background-color:rgba(255,255,255,0.1);}
.sidebar-open-btn {background:none; border:none; cursor:pointer; padding:0.5rem;}
#search-open-btn {color:#fff;}
.sidebar-open-btn .hamburger-icon, .sidebar-open-btn .hamburger-icon::before, .sidebar-open-btn .hamburger-icon::after {content:''; display:block; width:28px; height:3px; background-color:white; border-radius:3px; transition:all 0.3s;}
.sidebar-open-btn .hamburger-icon::before {transform:translateY(-8px);}
.sidebar-open-btn .hamburger-icon::after {transform:translateY(8px);}
.sidebar-close-btn {position:absolute; top:10px; right:15px; background:none; border:none; color:white; font-size:2.5rem; font-weight:bold; line-height:1; cursor:pointer; opacity:0.8;}
.sidebar-close-btn:hover {opacity:1;}
.sidebar-overlay {/*position:fixed;*/ top:0; left:0; width:100%; height:100%; background-color:rgba(0,0,0,0.5); z-index:1999; opacity:0; visibility:hidden; transition:opacity 0.3s ease-in-out, visibility 0s 0.3s;}
.sidebar-overlay.is-open {opacity:1; visibility:visible; transition:opacity 0.3s ease-in-out;}

@keyframes rainbow-flow {
0% {background-position:0% 50%;}
50% {background-position:100% 50%;}
100% {background-position:0% 50%;}
}

@media (max-width: 992px) {
.site-footer-wavy .footer-cta-text {font-size:2.2em; margin-bottom:40px;}
.site-footer-wavy {clip-path:polygon(0% 10%,20% 3%,40% 8%,60% 1%,80% 7%,100% 2%,100% 100%,0% 100%); padding-top:70px;}
}

@media (min-width: 768px) {
.service-card {flex-direction:row; align-items:center; justify-content:space-between;}
.service-identity {flex-basis:auto; min-width:300px; max-width:350px; margin-right:20px; margin-bottom:0; flex-direction:row; align-items:center;}
.service-logo {margin-top:0; padding:8px 0px 8px 0px;}
.logo-candy {padding-left:0;}
.service-details {flex-grow:1; margin-right:20px; margin-bottom:0;}
.service-action {flex:0 0 150px; align-self:center; margin-top:0;}
.trial-button {display:inline-block; width:auto;}
.pros-cons-layout {flex-direction:row; gap:30px;}
.pros-column, .cons-column {}
}

@media (min-width: 992px) {
.service-identity {min-width:300px; max-width:350px;}
.service-action {flex:0 0 180px;}
}

@media (max-width: 768px) {
.header-container {flex-direction:column; text-align:center; gap:15px;}
.header-branding .main-title {font-size:1.8em;}
.header-branding .subtitle {font-size:0.9em;}
.header-action {flex-direction:column; gap:10px;}
.header-action .action-button {padding:12px 30px;}
.site-footer-wavy {position:relative; padding-top:60px; clip-path:polygon(0% 8%,25% 2%,50% 6%,75% 0%,100% 4%,100% 100%,0% 100%);}
.site-footer-wavy .footer-cta-text {font-size:1.8em; margin-bottom:30px;}
.site-footer-wavy .footer-bottom-content {flex-direction:column; align-items:center; text-align:center; gap:15px; border-top:none;}
.site-footer-wavy .footer-nav ul {flex-direction:column; gap:10px; margin-bottom:15px;}
.site-footer-wavy .footer-bottom-right {flex-direction:column; gap:15px;}
.site-footer-wavy .footer-copyright {text-align:center;}
}