/* Smooth scroll to posts anchor on profile */
html:has(#posts) {
  scroll-behavior: smooth;
}

/* Desktop: prevent fixed header from covering #posts target */
@media (min-width: 992px) {
  #posts {
    scroll-margin-top: var(--posts-offset, 280px); /* dynamic offset for fixed desktop nav */
  }
}
/* Latest Posts Marquee */
.latest-posts-marquee {
  position: relative;
  overflow-x: auto; /* enable horizontal scroll (two-finger on trackpads) */
  overflow-y: hidden;
  -webkit-overflow-scrolling: touch;
  scroll-behavior: auto; /* immediate response while dragging */
  cursor: grab;
  /* Hide scrollbars cross-browser */
  -ms-overflow-style: none; /* IE/Edge */
  scrollbar-width: none; /* Firefox */
}

/* Hide scrollbars in WebKit */
.latest-posts-marquee::-webkit-scrollbar { display: none; }

.latest-posts-marquee .marquee-track {
  display: flex;
  gap: 0.5rem;
  will-change: transform;
  animation: marquee-left 30s linear infinite;
}

.latest-posts-marquee:hover .marquee-track,
.latest-posts-marquee.is-dragging .marquee-track {
  animation-play-state: paused;
}

.latest-posts-marquee.is-dragging {
  user-select: none;
}

.latest-posts-marquee .marquee-item {
  flex: 0 0 auto;
  width: clamp(180px, 16vw, 260px);
}

/* Home posts avatar/name overlay */
/* Home posts meta under caption (avatar + name) */
.home-post-meta {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-top: 2px; /* tighten space to caption */
}
.home-post-meta .post-feed-avatar {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  object-fit: cover;
  border: 2px solid rgba(255,255,255,0.85);
}
.home-post-name {
  font-family: "Kanit", sans-serif;
  font-weight: 500;
  font-size: 1rem;
  color: #fff;
  text-shadow: 0 1px 2px rgba(0,0,0,.5);
}

/* Tighten caption spacing specifically in homepage marquee cards */
.latest-posts-marquee .marquee-item .post-card-content-wrap .post-card-text {
  margin-bottom: 4px;
}

/* Prevent image drag-ghost and selection while dragging */
.latest-posts-marquee img {
  pointer-events: none;
  -webkit-user-drag: none;
  user-select: none;
}

.latest-posts-marquee a { cursor: inherit; }

@keyframes marquee-left {
  0% { transform: translateX(0); }
  100% { transform: translateX(-50%); }
}
#codeigniter_profiler {
    display:none;
}

:root:has(.mob-navi-wrapper.active) {
	overflow-x: hidden;
	width:100vw;
}

html:has(.mob-navi-wrapper.active) {
	overflow-x: hidden;
	width:100vw;
}

body:has(.mob-navi-wrapper.active) {
	overflow-y: hidden!important;
	height: 100%;
	margin: 0;
	position: fixed;
}

body {
	font-size: 1rem;
	font-family: "Kanit", sans-serif;
	font-weight: 200;
    color: white;

	width:100vw;
	overflow-x: hidden;
    min-height: 100vh;

	/* 色 */
	--pink: #FF0093;
    --pinker: #ff38ab;
    --red: #B51F26;
    --green: #92FF00;
    --violet: #3D1846;
    --transp-black: #00000080;
    --transp-white: #ffffff1a;

    /* その他 */
    --radius: 1.5rem;
    --alt-width: 101.8%;
    --pink-glow: 0 0 10px var(--pink);
    --transition: .3s ease-in-out;
    --girl-card-img-height: 21rem;

    background: #31173D;
    background-image: linear-gradient(to right bottom, #121212, #191621, #23192f, #2f1a3c, #3e1947, #3d1846, #3d1846, #3c1745, #2b1738, #1e142a, #140f1b, #060606);
}

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

a:hover {
    color: var(--pink);
}

h1 {
    font-size: 2rem;
    font-weight:300;
    font-style:italic;
    letter-spacing: 1px;
}

h2 {
    font-size: 1.5rem;
    font-weight:300;
    font-style:italic;
    letter-spacing: 1px;
}

.soap-title {
    text-align: center;
}

h1 hr,
h2 hr {
    border-top: 2px solid var(--pink);
    box-shadow: var(--pink-glow);
    opacity: 1;
}

h3 {
    font-size: 1.2rem;
    font-weight: 200;
    font-style: italic;
    letter-spacing: 1px;
}


@-webkit-keyframes glow {
    from {
      box-shadow: 0 0 1px var(--pink);
    }
    to {
      box-shadow: 0 0 10px var(--pink);
    }
  }

.animate {
    animation: glow 1s ease-in-out infinite alternate;
}

hr.long {
    width:100%;
    max-width: 30rem;
    margin: 1rem auto 0 auto;
}

@media (max-width: 767.98px) {
    hr.long {
        max-width: 18rem;
    }
}

hr.short {
    width:100%;
    max-width: 15rem;
    margin: .5rem auto 0 auto;
}


@media (max-width: 767.98px) {
    hr.short {
        max-width: 12rem;
    }
}

.subtitle {
    max-width: 50rem;
    text-align: center;
    margin: 0 auto;
}

.subtitle.big {
    color: var(--pink);
    font-style: italic;
    font-weight: 300;
}
  
::selection:not(img) {
    color: white;
    background: var(--pink);
    border-radius: 5px;
  }
  
img::selection {
    background: #ff009352;
  }

.container.page {
    padding-top: 9rem;
}

@media (min-width: 1200px) {
    .container.page.not-too-wide {
        max-width: 1000px;
    }
}

@media (max-width: 767.98px) {
    .container.page {
        padding-top:7rem;
        overflow: hidden;
    }
}

.page .cp-img {
    width: 8rem;
    border-radius: var(--radius);
}

.box {
    background: var(--transp-black);
    padding: 2rem;
    border-radius: var(--radius);
}

.tc {
    text-align: center;
}

.ma {
    margin: 0 auto;
}

ul.pagination {
    display: flex;
    justify-content: center;
    list-style: none;
    column-gap: 1rem;
}

ul.pagination li {
    display: flex;
    justify-content: center;
    align-items: center;
    background: #ff00934f;
    width: 2rem;
    height: 2rem;
    font-weight: 400;
    border-radius: 50%;
}

ul.pagination li.active {
    background: var(--pink);
}

.pagination-row {
    text-align:center;
}

.pagination-row > .col > p {
    color: #ffffff9c;
    font-size: .8rem;
}

img {
    width: 100%;
}

p.bold {
    font-weight: 400;
}

blockquote {
    font-style: italic;
    font-weight: 400;
    font-size: 1.3rem;
    margin-bottom: 0;
}

blockquote::before,
blockquote::after {
    font-size: 1.5rem;
    font-family: cursive;
}

blockquote::before {
    content: '"';
}

blockquote::after {
    content: '"';
    position: absolute;
    transform: rotateY(180deg);
    margin-left: .5rem;
}


span.emphasis {
    color: white;
    background: var(--pink);
    border-radius: 10px;
    padding: 0 .5rem;
}

@media (max-width: 767.98px) {
    span.emphasis {
        color: var(--pink);
        background: none;
        font-weight: 400;
    }
}

.select_message_area p {
    font-size: .9rem;
    margin-top: 1rem;
    margin-bottom: 0;
    opacity: .8;
}

/* Buttons */
.btn {
    cursor: pointer;
}

.btn.large {
    text-align:center;
    color: white;
    font-size: 1rem;
    border-radius: var(--radius);
    padding: .5rem 2rem;
    font-weight: 400;
    transition: var(--transition);
}

.btn.large:hover {
    box-shadow: var(--pink-glow);
    transition: var(--transition);
}

.btn.hollow {
    border: 2px solid var(--pink);
    background: transparent;
}

.btn.primary {
    border: 2px solid var(--pink);
    background: var(--pink);
}

.btn.full-width {
    width: 100%;
}

.btn:has(> .material-icons) {
    display: flex;
    column-gap: .5rem;
}

/* Input fields, checkboxes, radios */

input[type="text"],
input[type="number"],
input[type="email"],
input[type="password"],
textarea {
    font-family: "Kanit", sans-serif;
    font-weight: 200;
    color: white;
    background: transparent;
    padding: .4rem 1rem;
    box-shadow: none!important;
    appearance: none;
    --webkit-appearance: none;
    outline: none;
    border: 1px solid #ffffff26;
    border-radius: 1rem;
    width: 100%;
}

input[type="text"]::placeholder,
input[type="number"]::placeholder,
input[type="email"]::placeholder,
input[type="password"]::placeholder,
textarea::placeholder {
    color: white;
}

/* Styled checkbox */
label.checkbox {
	position: relative;
	padding-left: 35px;
	font-size: 1rem;
	font-weight: 400;
	cursor: pointer;
	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
}
/* Hide the browser's default checkbox */
label.checkbox input {
	position: absolute;
	opacity: 0;
	cursor: pointer;
	height: 0;
	width: 0;
}

/* Create a custom checkbox */
.checkmark {
	position: absolute;
	top: 0;
	left: 0;
	height: 25px;
	width: 25px;
	border: 2px solid white;
    opacity: 0.8;
	border-radius: 3px;
}

/* Create the checkmark/indicator (hidden when not checked) */
.checkmark:after {
	content: "";
	position: absolute;
	display: none;
}

/* Show the checkmark when checked */
.container input:checked ~ .checkmark:after {
	display: block;
}

/* Style the checkmark/indicator */
.container .checkmark:after {
	left: 8px;
	top: 4px;
	width: 7px;
	height: 10px;
	border: solid var(--pink);
    opacity: 0.8;
	border-width: 0 2.5px 2.5px 0;
	-webkit-transform: rotate(45deg);
	-ms-transform: rotate(45deg);
	transform: rotate(45deg);
}

/* Styled radio */
label.radio {
	position: relative;
	padding-left: 35px;
	font-size: 1rem;
	font-weight: 500;
	cursor: pointer;
	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
}
/* Hide the browser's default radio */
label.radio input {
	position: absolute;
	opacity: 0;
	cursor: pointer;
	height: 0;
	width: 0;
}

/* Create a custom radio */
.circlemark {
	position: absolute;
	top: 0;
	left: 0;
	height: 25px;
	width: 25px;
	border: 2px solid white;
    opacity: 0.8;
	border-radius: 50%;
}

/* Create the circlemark/indicator (hidden when not checked) */
.circlemark:after {
	content: "";
	position: absolute;
	display: none;
}

/* Show the circlemark when checked */
.container input:checked ~ .circlemark:after {
	display: block;
}

/* Style the circlemark/indicator */
.container .circlemark:after {
	left: 4.2px;
	top: 3.9px;
	width: 13px;
	height: 13px;
	background: white;
    opacity: 0.8;
	border-radius: 50%;
}

/* Create a custom checkbox */
.checkmark {
	position: absolute;
	top: 0;
	left: 0;
	height: 25px;
	width: 25px;
	border: 2px solid white;
    opacity: 0.8;
}

/* Create the checkbox (hidden when not checked) */
.checkmark:after {
	content: "";
	position: absolute;
	display: none;
}

/* Show the checkbox when checked */
.container input:checked ~ .checkmark:after {
	display: block;
}

/* Style the checkbox */
.container .checkmark:after {
	left: 4.2px;
	top: 3.9px;
	width: 13px;
	height: 13px;
	background: var(--pink);
    opacity: 0.8;
	transform: rotate(90deg);
}

/* Filter */
.filter-title {
    color: var(--pink);
    margin-bottom: 1.5rem;
    text-align: center;
    font-weight: 400;
}

@media (max-width: 767.98px) {
    .view-all-filter {
        margin-top:1rem;
    }
}

.girls-filter-opt > .col {
    display:flex;
    justify-content: space-between;
}

@media (max-width: 767.98px) {
    .girls-filter-opt > .col {
        display: grid;
        grid-template-columns: repeat(4, 1fr);
        grid-row-gap: 1rem;
    }
}

@media (max-width: 500px) {
    .schedule_opt_all label.checkbox {
        font-size:.8rem;
    }
}

/* Homepage & Sliders */
/* .homeSlider {
    margin-top: 8rem;
}

@media (max-width: 767.98px) {
    .homeSlider {
        margin-top:6rem;
    }
} */

.homeSlider {
    margin-top: 1rem;
}

img.home-slide-img,
img.schedule-slide-img {
    border-radius: var(--radius);
}

img.premise-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    border-radius: var(--radius);
}

.premise-wrap {
    position: relative;
}

.premise-title {
    position: absolute;
    bottom: 0; 
    left: 50%;
    transform: translate(-50%, 0);
}

.eviry-baseplayer {
    border-radius: var(--radius);
}

.partner-img {
    border-radius: var(--radius);
}
/* New Girls Slider */

.newGirlsSlider {
    --ngs-img-height: 12rem;
}

.newGirlsSlider {
    margin-top: 8rem;
    margin-bottom: -.5rem;
}

@media (max-width: 767.98px) {
    .newGirlsSlider {
        margin-top:6rem;
    }
}

.ngs-wrapper {
    position: relative;
    height: calc(var(--ngs-img-height) + 1rem);
    margin-top: .5rem;
}

img.ngs-profile-round {
    position: absolute;
    top: -.5rem;
    left: 50%;
    transform: translate(-50%, 0);
    border: 5px solid white;
    width: 13rem;
    height: 13rem;
    object-fit: cover;
    object-position: top;
    border-radius: 50%;
    z-index: 2;
}

@media (max-width: 767.98px) {
    img.ngs-profile-round {
        left: 27%;
    }
}

@keyframes ngs-profile-round-anim {
    0% {
        object-position: 0 50%;
    }
    50% {
        object-position: 0 70%;
    }
    100% {
        object-position: 0 50%;
    }
}


img.ngs-profile-main {
    width: 50%;
    height: var(--ngs-img-height);
    object-fit: cover;
    object-position: 0 0%;
    animation: ngs-profile-round-anim 40s infinite linear;
    /* object-position: top; */
    border-top-left-radius: var(--radius);
    border-bottom-left-radius: var(--radius);
    z-index: 1;
}

@media (max-width: 767.98px) {
    img.ngs-profile-main {
        display: none;
    }
}

.ngs-profile-bg-wrap {
    position: absolute;
    top: 0;
    width: 100%;
    height: var(--ngs-img-height);
    overflow: hidden;
    border-radius: var(--radius);
    z-index: -1;
}

img.ngs-profile-bg {
    position: absolute;
    height: var(--ngs-img-height); 
    object-fit: cover;
    object-position: center;
    border-radius: var(--radius);
    filter: blur(5px);
    opacity: 20%;
    z-index: -1;
}

.ngs-info-wrap {
    position: absolute;
    top: 0;
    left: 50%;
    width: 100%;
    height: 100%;
    z-index: 3;
    margin-left: 8rem;
    padding: 2rem;
}

@media (max-width: 767.98px) {
    .ngs-info-wrap {
        display: flex;
        flex-direction: column;
        justify-content: center;
        margin-left: 0;
        padding: 0rem 2rem 1rem 2rem;
    }
}

.ngs-badge {
    width: fit-content;
    padding: .25rem 1.5rem;
    background: var(--pink);
    border-radius: 1rem;
    font-weight: 400;
    font-style: italic;
}

@media (max-width: 767.98px) {
    .ngs-badge {
        padding: .2rem 1.2rem;
        font-size: .8rem;
    }
}

.ngs-cast-name {
    font-weight: 300;
    font-size: 3rem;
    letter-spacing: 3px;
    font-style: italic;
}

@media (max-width: 767.98px) {
    .ngs-cast-name {
        font-size: 2rem;
        letter-spacing: 1px;
    }
}

.ngs-cast-name span {
    font-weight: 100;
    font-size: 2rem;
}

@media (max-width: 767.98px) {
    .ngs-cast-name span {
        font-size: 1rem;
    }
}

a.ngs-cta-btn {
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 2px;
    cursor: pointer;
}

/* Selfies */

.selfiesLoop > .splide__track {
    /* width: var(--alt-width); */
}

/* .selfie-card-wrap {
    height: 13rem;
} */

img.selfie-card-img {
    width:100%;
    height: 13rem;
    object-fit: cover;
    object-position: top;
    border-radius: var(--radius);
    border: 2px solid #ffffff00;
    transition: var(--transition);
    cursor: pointer;
}

img.selfie-card-img:hover {
    border: 2px solid var(--pink);
    box-shadow: var(--pink-glow);
    transition: var(--transition);
}

.selfie-card-top-wrap {
    display: flex;
    justify-content: space-between;
    font-size: .9rem;
    font-weight: 300;
    padding: 0 1rem;
}

.selfie-card-date {
    font-weight: 100;
    font-size: .8rem;
}

.selfie-content-wrap {
    display: flex;
    justify-content: space-between;
    font-size: .8rem;
    padding: 0 1rem;
    font-style: italic;
}

.selfie-card-text {
    display: -webkit-box;
    overflow: hidden;
    -webkit-line-clamp: 1;
    -webkit-box-orient: vertical;
}

.aiin-css-tpl-sb-heart-s .aiin-icon-on,
.aiin-css-tpl-sb-heart-s .aiin-icon-off {
    width: .8rem!important;
    height: .8rem!important;
}

.aiin-css-tpl-sb-heart-s .aiin-vcnt {
    font-size: .8rem!important;
    font-family: 'Kanit';
    font-weight: 400;
}

.aiin-css-tpl-sb-heart-s .aiin-btn {
    margin-top: -.4rem;
    border-spacing: 0!important;
}

.aiin-vcnt {
    color:white;
}

/* Girl cards */
a.girl-card-wrap {
    transition: var(--transition);
}

a.girl-card-wrap:hover {
    /* transform: scale(1.02); */
    transition: var(--transition);
}

a.girl-card-wrap:hover img.girl-card-img {
    border: 2px solid var(--pink);
    transition: var(--transition);
    box-shadow: var(--pink-glow);
}

img.girl-card-img {
    width: 100%;
    height: var(--girl-card-img-height);
    object-fit: cover;
    object-position: top;
    border-radius: var(--radius);
    border: 2px solid #ffffff00;
    transition: var(--transition);
}

@media (min-width: 1200px) and (max-width: 1399px) {
    img.girl-card-img  {
        --girl-card-img-height: 25rem;
    }
}

@media (min-width: 576px) and (max-width: 767px) {
    img.girl-card-img {
        --girl-card-img-height: 24rem;
    }
}

.girl-card-with-schedule-wrap * {
    --girl-card-img-height: 21rem!important;
}

.girl-card-top-wrap {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0 1rem;
    font-size: .9rem;
    font-weight: 300;
}

.girl-card-img-wrap {
    position: relative;
}

.girl-card-rank {
    letter-spacing: 1.2px;
    font-size: .8rem;
    text-shadow: var(--pink-glow);
    color: var(--pink);
}

.girl-card-id {
    position: absolute;
    bottom: .4rem;
    right: .9rem;
    font-size: .6rem;
    z-index: 10;
    background: #ffffff8f;
    color: var(--violet);
    border-radius: 5px;
    padding: 0 .4rem;
}

.girl-card-threesome-icon {
    position: absolute;
    top: .5rem;
    left: .5rem;
    width: 1.5rem;
    z-index: 10;
}

.girl-card-eng-ico-wrap {
    display: flex;
    align-items: center;
    column-gap: .2rem;
    position: absolute;
    top: .5rem;
    right: 1rem;
    z-index: 10;
    background: #ffffff;
    padding: .1rem .4rem;
    color: var(--pink);
    font-size: .8rem;
    font-weight: 500;
    border-radius: .5rem;
}

.girl-card-eng-ico-wrap .material-icons {
    font-size: .7rem;
}

.girl-card-details-wrap {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0 1rem;
    font-size: .8rem;
    font-weight: 300;
}

.available-now {
    color: var(--green);
}

.girl-card-reviews {
    display: flex;
    column-gap: .2rem;
    align-items: center;
}

.girl-card-reviews .material-icons {
    font-size: .8rem;
    padding-top: .2rem;
}

.pr {
    position: relative!important;
}

.girl-card-with-schedule-wrap {
    display: grid;
    grid-template-columns: 1fr 1fr;
}

.girl-card-schedule {
    background: var(--transp-black);
    border-top-right-radius: var(--radius);
    border-bottom-right-radius: var(--radius);
    height: calc(var(--girl-card-img-height) - 4px);
    margin-top: 1.5rem;
    margin-left: -2rem;
    padding-left: 3rem;
    padding-right: 2rem;
    padding-top: 1rem;
}

@media (max-width: 768px) {
    .girl-card-schedule {
        padding-right: 1rem;
    }
}

p.girl-card-schedule-title {
    text-align: center;
    font-size: .8rem;
    font-weight: 300;
    color: var(--pink);
}

ul.girl-card-schedule-list {
    list-style: none;
    padding: 0;
    line-height: 2.5;
}

li.girl-card-schedule-item {
    display: flex;
    justify-content: space-between;
    font-size: .9rem;
}

@media (max-width: 768px) {
    li.girl-card-schedule-item {
        font-size: .85rem;
    }
}

@media (max-width: 400px) {
    li.girl-card-schedule-item {
        font-size: .75rem;
    }
}

.girl-card-schedule-time .material-icons {
    font-size: .9rem;
    margin-right: .5rem;
}

.anal-ok.nuru {
    position: absolute;
    bottom: .4rem;
    left: 1rem;
    display: flex;
    background: var(--pink);
    align-items: center;
    font-size: .6rem;
    font-weight: 400;
    padding: .0rem .4rem;
    border-radius: .5rem;
    column-gap: .2rem;
    color: white!important;
}

.anal-ok.nuru::before {
    font-family: 'Material Icons';
    content: 'water_drop';
}

.girl-card-x-link img {
    width: 1.5rem;
    position: absolute;
    bottom: 3rem;
    right: .5rem;
}

/* Footer */

.footer-wrap {
    background: var(--transp-black);
    border-radius: var(--radius);
    padding: 3rem 6rem;
    font-size: .9rem;
}

@media (max-width: 767.98px) {
    .footer-wrap {
        padding: 3rem 2rem;
    }
}

ul.footer-links {
    position: relative;
    list-style: none;
    margin: 0;
    padding: 0;
}

ul.footer-links li {
    line-height: 2.5rem;
}

@media (max-width: 767.98px) {
    ul.footer-links li {
        line-height: 3rem;
    }
}

.vertical-bar {
    position: absolute;
    height: 100%;
    border-right: 1px solid var(--pink);
    top: 0;
    right: 2rem;
    opacity: .2;
}

.vertical-bar.alt {
    right: auto;
    left: -3rem;
}

@media (max-width: 1200px) {
    .vertical-bar {
        display: none;
    }
}

@media (max-width: 991px) {
    .footer-contact-wrap {
        margin-top: 3rem;
    }
}


@media (max-width: 767.98px) {
    .footer-contact-wrap h3 {
        font-size: 1rem;
        font-weight: 400;
        text-align: center;
    }
}


.footer-links-title {
    color: white;
    font-weight: 400; 
    line-height: 2.5rem;
}
.footer-links-title:hover { color: var(--pink); }

.footer-links.no-title {
    margin-top: 2.5rem;
}

@media (max-width: 767.98px) {
    .footer-links,
    .footer-links-title {
        text-align: center;
        font-size: 1.2rem;
    }

    .footer-links.no-title {
        margin-top:0;
    }
}

hr.footer-hr {
    border-top: 2px solid var(--pink);
    box-shadow: var(--pink-glow);
    opacity: 1;
}

.footer-logo {
    width: 7rem;
}

.footer-app-ico-wrap {
    display: flex;
    justify-content: space-between;
    column-gap: 2rem;
}

.footer-app-ico-wrap img {
    width: 1.25rem;
}

.footer-phone {
    display: flex;
    align-items: center;
    column-gap: .5rem;
}

.footer-phone img {
    width: 1.25rem;
    height: 1.25rem;
}

.footer-phone a {
    font-size: 1.2rem;
    font-weight: 100;
    font-style: italic;
}

.footer-hours {
    display: flex;
    justify-content: flex-start;
    column-gap: .5rem;
    padding-top:1rem;
}

.footer-hours .material-icons {
    font-size: 1.2rem;
    color: var(--pink);
}

.footer-contact {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

@media (max-width: 767.98px) {
    .footer-contact {
        flex-direction: column;
        row-gap: 1rem;
    }
}

input.newsletter-field {
    font-style:italic;
}

/* Newsletter form responsive adjustments to prevent chat icon overlap */
@media (max-width: 585px) {
    .footer-newsletter-wrap {
        max-width: calc(100% - 80px); /* Leave space for chat icon */
        margin-right: 80px; /* Push form away from right edge */
    }
    
    .newsletter-form {
        position: relative;
        width: 100%;
    }
    
    input.newsletter-field {
        width: 100%;
        padding-right: 3rem; /* Ensure space for submit button */
    }
    
    button.newsletter-submit {
        right: 0;
        margin-left: 0; /* Override the negative margin */
    }
}

button.newsletter-submit {
    position: absolute;
    appearance: none;
    --webkit-appearance: none;
    background: none;
    border: none;
    color: white;
    margin-left: -3rem;
    margin-top: .15rem;
}

button.newsletter-submit:hover {
    color:var(--pink);
}

/* Slider common styles */
.splide__arrow {
    background: none!important;
    filter: drop-shadow(0px 0px 5px black);
}

.splide__arrow svg {
    fill: var(--pink)!important;
}

.tingle-modal .splide__arrow svg {
    fill: white!important;
}

/* Blogs / articles */

.blog-card-wrap {
    display: flex;
    background: var(--transp-white);
    border-radius: var(--radius);
}

img.blog-card-img {
    width: 10rem;
    height: 10rem;
    object-fit: cover;
    object-position: top;
    border-top-left-radius: var(--radius);
    border-bottom-left-radius: var(--radius);
}

img.blog-card-img.staff-blog-img {
    border-radius:0;
    border-top-left-radius: var(--radius);
    border-top-right-radius: var(--radius);
}

.blog-card-content-wrap {
    padding: 1rem;
}

.blog-card-title {
    display: -webkit-box;
    overflow: hidden;
    -webkit-line-clamp: 1;
    -webkit-box-orient: vertical;
    font-size:1rem;
    font-weight: 300;
    text-transform: capitalize;
}

.blog-card-text {
    display: -webkit-box;
    overflow: hidden;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    font-size:.9rem;
    min-height: 50%;
    word-break: break-word;
}

.blog-card-creds-wrap {
    display: flex;
    justify-content: space-between;
    font-size: .8rem;
    opacity: .8;
}

.blog-title-wrap {
    text-transform: capitalize;
}

/* Age verification modal */
.tingle-modal-box__content:has(#verificationModal),
.tingle-modal--visible .tingle-modal-box {
    background: #31173D;
    background-image: linear-gradient(to right bottom, #121212, #191621, #23192f, #2f1a3c, #3e1947, #3d1846, #3d1846, #3c1745, #2b1738, #1e142a, #140f1b, #060606);
    border-radius: var(--radius);
}

.age-verify-wrap {
	text-align: center;
}

@media (max-width: 767.98px) {
	.age-verify-warning {
		font-size: 1rem;
	}
	.age-verify-warning p {
		line-height: 1.7rem;
	}
}

.age-verify-partner-banners {
    /* display: grid;
    grid-template-columns: 1fr 1fr;
    justify-content: center;
    margin: 0 auto;
    grid-gap: 1rem; */
}

@media (max-width: 1024px) {
	.age-verify-partner-banners {
        grid-gap: .5rem;
	}
}

.age-verify-partner-banners img {
	width: 100%;
    border-radius: 10px;
}

img.age-verify-screen-logo {
	width: 10rem;
}

.age-verify-btn-wrap {
    display: flex;
    column-gap: 1rem;
    justify-content: center;
}

.age-verify-wrap p.legal-smallprint {
	font-size: .9rem;
	margin-bottom: 0;
	line-height: 1.2;
}

@media (max-width: 767.98px) {
	.age-verify-wrap p.legal-smallprint {
		font-size: .8rem;
	}
}

.verification-modal .tingle-modal-box {
    margin: 1rem;
    padding: 1rem;
}

/* Global Navigation */
.desktop-navi-wrapper {
	display: flex;
	justify-content: space-between;
	align-items: center;
	position:fixed;
	width:inherit;
	max-width:inherit;
	z-index: 999;
	padding: 0 .5rem;
	border: 1px solid #ffffff33;
	border-radius: var(--radius);
	margin-top: 2rem;
    background: rgb(24,21,30);
    background: linear-gradient(90deg, rgba(24,21,30,0.4) 0%, rgba(61,24,70,0.4) 100%);
	backdrop-filter: blur(10px);
	-webkit-backdrop-filter: blur(10px);
}

@media (min-width: 992px) {
	.desktop-navi-wrapper {
		width: 940px;
	}
}

@media (min-width: 1200px) {
	.desktop-navi-wrapper {
		width: 1120px;
	}
}

@media (min-width: 1400px) {
	.desktop-navi-wrapper {
		width: 1300px;
	}
}

@media (max-width: 992px) {
	.desktop-navi-wrapper {
		display: none;
	}
}

/* .top-desktop-message-slider {
	position: absolute;
	left: 50%;
	transform: translate(-50%, 0);
	margin-top: -1.8rem;
	background: var(--pink);
	padding:.2rem 2rem;
	font-size:.9rem;
	font-weight:400;
	font-style: italic;
	border-top-right-radius: var(--radius);
	border-top-left-radius: var(--radius);
} */

.top-desktop-callout {
    display: flex;
	position: absolute;
    column-gap: 2rem;
	left: 50%;
	transform: translate(-50%, 0);
	margin-top: -1.8rem;
	background: var(--pink);
	padding:.2rem 2rem;
	font-size:.9rem;
	font-weight:400;
	font-style: italic;
	border-top-right-radius: var(--radius);
	border-top-left-radius: var(--radius);
}

.top-desktop-callout-right img {
    width: 1rem;
    height: 1rem;
    margin-top: .2rem;
    margin-left: -1.35rem;
    position: absolute;
}

.top-desktop-callout-right a:hover {
    color: white;
    opacity: .8;
}

.desktop-menu ul.top-menu-list {
	display: flex;
	position: relative;
	justify-content: space-between;
	align-items: center;
	list-style: none;
	padding: 0;
	margin: 0;
	font-weight: 300;
}

.desktop-menu ul.top-menu-list > li {
	padding: 1rem;
}

img.top-logo {
	width: 7rem;
	padding-left:.25rem;
}

.contact-area {
	display: flex;
	column-gap: .75rem;
	padding-right: .5rem;
}

.contact-area img {
	width: 1.5rem;
}

/* Hide X/Twitter icon in header */
.contact-area .x-icon,
.mob-contact-wrap .x-icon {
    display: none;
}

.desktop-menu li.has-sub-menu:has(.sub-menu.open) > a  {
	color: var(--pink);
}

.desktop-menu li.has-sub-menu > a::after {
	position: absolute;
	font-family: "Material Icons";
	content: "expand_more";
	opacity: .3;
	padding-left: .25rem;
}

.desktop-menu ul.sub-menu {
	position: absolute;
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	list-style: none;
	grid-gap: 1rem;
	margin-top: 0.99rem;
	left: 50%;
	transform: translate(-50%, 0);
	width: 110%;
	background: #ffffffde;
	padding: 1rem 2rem;
	border-bottom-left-radius: var(--radius);
	border-bottom-right-radius: var(--radius);
	box-shadow: 0px 10px 0px 0px #ff0093cf;

	/* Default closed state */
	opacity: 0;
	pointer-events: none;
	transition: var(--transition);
}

.desktop-menu ul.sub-menu.open {
	opacity: 1;
	pointer-events: auto;
	box-shadow: 0px 10px 13px 2px #ff0093cf;
	transition: var(--transition);
}

.desktop-menu ul.sub-menu a {
	color: black;
	display: flex;
	column-gap: .25rem;
}

.desktop-menu ul.sub-menu a:hover {
	color: var(--pink);
}

.desktop-menu ul.sub-menu a:before {
	font-family: "Material Icons";
}

.desktop-menu ul.sub-menu a[href="/available-today"]:before {
	content: "calendar_today";
}

.desktop-menu ul.sub-menu a[href="/schedule"]:before {
	content: "calendar_month";
}

.desktop-menu ul.sub-menu a[href="/new-girls"]:before {
	content: "new_label";
}

.desktop-menu ul.sub-menu a[href="/threesome"]:before {
	content: "timer_3_select";
}

.desktop-menu ul.sub-menu a[href="/ranking"]:before {
	content: "workspace_premium";
}

.desktop-menu ul.sub-menu a[href="/reviews"]:before {
	content: "star";
}

.desktop-menu ul.sub-menu a[href="/selfies"]:before {
	content: "photo_camera";
}

.desktop-menu ul.sub-menu a[href="/posts"]:before {
	content: "web_stories";
}

.desktop-menu ul.sub-menu a[href="/videos"]:before {
	content: "video_library";
}

.desktop-menu ul.sub-menu a[href="/blogs"]:before {
	content: "article";
}

.mob-navi-wrapper {
	display: flex;
	position: relative;
	justify-content: space-between;
	align-items: center;
	margin-bottom: -5rem;
	padding: 0 .75rem;
	border: 1px solid #ffffff33;
	border-radius: var(--radius);
	margin-top: 1rem;
	z-index: 100;

	/* Closed by default */
	opacity: 0;
	pointer-events: none;
	transition: var(--transition);
}

@media (max-width: 992px) {
	/* Opened state */
	.mob-navi-wrapper {
		opacity: 1;
		pointer-events: auto;
		transition: var(--transition);
	}
}

.mob-logo-wrap {
    padding-left:1rem;
}

.mob-contact-icon {
    display: flex;
    align-items: flex-end;
}

.mob-contact-icon img {
    width: 1.5rem;
    height: 1.5rem;
}

/* Mobile menu closed by default */
.mob-navi-wrapper + .mob-menu-contents {
	opacity: 0;
	pointer-events: none;
	transition: var(--transition);
}

/* Mobile menu opened state */
.mob-navi-wrapper.active + .mob-menu-contents {
    opacity: 1;
    pointer-events: auto;
    transition: var(--transition);
}

.mob-menu-contents {
	display: flex;
    align-items: center;
    justify-content: center;
    position: absolute;
    z-index: 99;
    width: 101vw;
    height: 101vh;
    margin-left: -1rem;
    overflow: hidden;
	background: #3d18467d;
	backdrop-filter: blur(30px);
	-webkit-backdrop-filter: blur(30px);
}


@media (min-width: 992px) {
	.mob-menu-contents {
		display: none;
	}
}

nav.mob-menu-contents ul {
    list-style: none;
    padding: 0;
    line-height: 2.6rem;
    text-align: center;
    font-size: 1.3rem;
    font-weight: 400;
    text-transform: uppercase;
}

nav.mob-menu-contents .sub-menu {
    border-bottom: 2px solid var(--pink);
    padding-bottom: .5rem;
    margin-bottom: .5rem;
}

nav.mob-menu-contents .has-sub-menu > a {
	font-weight: 400;
}

@media (max-height: 700px) {
	nav.mob-menu-contents ul {
        line-height: 1.9rem;
        font-size: 1.2rem;
	}
}

nav.mob-menu-contents .top-menu-list a.active {
	color: var(--pink);
}

.mob-contact-wrap img {
	width: 1.5rem;
}

.mob-contact-wrap {
	display: flex;
	column-gap: .75rem;
	padding-right: .5rem;
}

/* Hamburger animation */
.ham {
	cursor: pointer;
	-webkit-tap-highlight-color: transparent;
	transition: transform 400ms;
	-moz-user-select: none;
	-webkit-user-select: none;
	-ms-user-select: none;
	user-select: none;
}

.mob-navi-wrapper.active .hamRotate {
	transform: rotate(45deg);
}

.line {
	fill:none;
	transition: stroke-dasharray 400ms, stroke-dashoffset 400ms;
	stroke:white;
	stroke-width:2.7;
	stroke-linecap:round;
}

.ham4 .top {
	stroke-dasharray: 40 121;
}

.ham4 .bottom {
	stroke-dasharray: 40 121;
}

.mob-navi-wrapper.active .ham4 .top {
	stroke-dashoffset: -68px;
}

.mob-navi-wrapper.active .ham4 .bottom {
	stroke-dashoffset: -68px;
}

.sp-wrapper {
	position: fixed;
	bottom: 0;
	width: 100%;
	text-align: center;
	height: 1rem;
	z-index: 3;
}

.sp-menu-bulge {
	position: absolute;
	left: 50%;
	transform: translate(-50%, 0);
	margin-top: -1.7rem;
	filter: drop-shadow(2px 4px 6px black);
	z-index:3;
}

.sp-menu-bulge img {
	width: 8rem;
}

.sp-gold-bar {
	height: 1rem;
	background: var(--gold);
	z-index: 4;
	position: absolute;
	width: 100%;
}

.mob-ham-scale {
	transform: scale(0.8);
    margin-left: -1rem;
    margin-top: -.75rem;
    margin-bottom: -.6rem;
}

.sp-menu-bg {
	position: fixed;
	background: white;
	height: 100%;
	width: 100%;
	z-index: 2;
	border-top-right-radius: 100%;
	border-top-left-radius: 100%;
	opacity:.2;
	top: 925px;
	transition: var(--transition-slow);
}

.mob-navi-wrapper.active .sp-menu-bg {
	top: 0;
	border-top-right-radius: 0;
	border-top-left-radius: 0;
	opacity:.9;
}

.sp-menu-wrap {
	position: fixed;
	left: 50%;
	top: 50%;
	transform: translate(-50%,-50%);
	z-index: 10;
	pointer-events:none;
	opacity:0;

}

.mob-navi-wrapper.active .sp-menu-wrap {
	pointer-events: all;
	opacity:1;
}

.sp-menu-list .menu-item {
	line-height: 4rem;
	font-size: 1.5rem;
	font-weight: 300;
	opacity: 0;
}

.sp-menu-list li.footer-only {
	display: none;
}

@keyframes slidein {
	from {
		opacity: 0;
	}

	to {
		opacity: 1;
	}
}

.mob-navi-wrapper.active .sp-menu-list .menu-item:nth-child(1) {
	animation: 1s ease-in 0s slidein forwards;
}

.mob-navi-wrapper.active .sp-menu-list .menu-item:nth-child(2) {
	animation: 1s ease-in .1s slidein forwards;
}

.mob-navi-wrapper.active .sp-menu-list .menu-item:nth-child(3) {
	animation: 1s ease-in .2s slidein forwards;
}

.mob-navi-wrapper.active .sp-menu-list .menu-item:nth-child(4) {
	animation: 1s ease-in .3s slidein forwards;
}

.mob-navi-wrapper.active .sp-menu-list .menu-item:nth-child(5) {
	animation: 1s ease-in .4s slidein forwards;
}

.mob-navi-wrapper.active .sp-menu-list .menu-item:nth-child(6) {
	animation: 1s ease-in .5s slidein forwards;
}

.mob-navi-wrapper.active .sp-menu-list .menu-item:nth-child(7) {
	animation: 1s ease-in .6s slidein forwards;
}

.mob-navi-wrapper.active .sp-menu-list .menu-item:nth-child(8) {
	animation: 1s ease-in .7s slidein forwards;
}

.mob-navi-wrapper.active .sp-menu-list .menu-item:nth-child(9) {
	animation: 1s ease-in .8s slidein forwards;
}

.mob-navi-wrapper.active .sp-menu-list .menu-item:nth-child(10) {
	animation: 1s ease-in .9s slidein forwards;
}

.selfie-single-info {
    display: flex;
    justify-content: center;
    column-gap: 1rem;
    margin-top: -3rem;
}

.threesome-inline-icon {
    height:18px; 
    margin-bottom:3px;
    width: auto;
}

@keyframes pulse {
    0% {
        text-shadow: 0 0 5px rgba(255, 16, 240, 0.8), 0 0 10px rgba(255, 16, 240, 0.6), 0 0 15px rgba(255, 16, 240, 0.4), 0 0 20px rgba(255, 16, 240, 0.2);
    }
    50% {
        text-shadow: 0 0 10px rgba(255, 16, 240, 1), 0 0 20px rgba(255, 16, 240, 0.8), 0 0 30px rgba(255, 16, 240, 0.6), 0 0 40px rgba(255, 16, 240, 0.4);
    }
    100% {
        text-shadow: 0 0 5px rgba(255, 16, 240, 0.8), 0 0 10px rgba(255, 16, 240, 0.6), 0 0 15px rgba(255, 16, 240, 0.4), 0 0 20px rgba(255, 16, 240, 0.2);
    }
}

.debut {
    animation: pulse 1s infinite;
}

/* QR Codes */
.qr-contact-page {
    padding: 1rem;
    background: white;
    border-radius: var(--radius);
    margin-bottom: 1rem;
    width: 100%;
    height: auto;
}