/*
 * Orousal profile page + character cards.
 * Brand: near-black plum, gold serif headings (Cinzel), rose buttons, Inter text.
 * All colours are the custom properties below; adjust them here to retune the whole page.
 */
.orousal-profile,
.orousal-card-grid,
.orousal-shop,
.orousal-dialog-wrap {
	--o-bg: #0c0709;
	--o-panel: #150b10;
	--o-panel-2: #1d0f16;
	--o-line: #3a2029;
	--o-gold: #d4ae6a;
	--o-gold-soft: #b8935a;
	--o-rose: #e0657b;
	--o-rose-deep: #b8405a;
	--o-text: #ecdfe2;
	--o-muted: #a8939a;
	--o-radius: 10px;
	--o-serif: "Cinzel", "Cormorant Garamond", Georgia, serif;
	--o-sans: "Inter", -apple-system, "Segoe UI", Roboto, sans-serif;
}

.orousal-profile { background: var(--o-bg); color: var(--o-text); font-family: var(--o-sans); font-size: 16.5px; line-height: 1.6;
	max-width: 1180px; margin: 0 auto; padding: 20px 16px 40px; }
.orousal-profile *, .orousal-card-grid * { box-sizing: border-box; }
.orousal-profile h1, .orousal-profile h2, .orousal-profile h3 { color: inherit; margin: 0; }
.orousal-profile p { margin: 0; }
.orousal-icon { width: 1.15em; height: 1.15em; vertical-align: -0.2em; flex: none; }

/* Panels: thin burgundy frame on near-black, as in the concepts */
.orousal-panel { background: linear-gradient(180deg, var(--o-panel-2), var(--o-panel)); border: 1px solid var(--o-line);
	border-radius: var(--o-radius); padding: 24px; margin-top: 18px; }
.orousal-heading { font-family: var(--o-serif); font-weight: 600; color: var(--o-gold); text-transform: uppercase;
	letter-spacing: .08em; font-size: 18.5px; margin-bottom: 18px !important; }
.orousal-heading-center { text-align: center; }
.orousal-heading-large { font-size: 28px; text-transform: none; font-variant: small-caps; letter-spacing: .04em; }

/* Buttons */
.orousal-button { display: inline-flex; align-items: center; justify-content: center; gap: 10px; padding: 12px 22px;
	border: 1px solid transparent; border-radius: 6px; cursor: pointer; font: 600 14px/1.2 var(--o-sans);
	letter-spacing: .08em; text-transform: uppercase; text-decoration: none !important; color: #fff !important;
	background: linear-gradient(180deg, var(--o-rose), var(--o-rose-deep)); box-shadow: 0 6px 18px rgba(224, 101, 123, .18);
	transition: filter .15s, transform .15s; }
.orousal-button:hover { filter: brightness(1.1); transform: translateY(-1px); }
.orousal-button:focus-visible, .orousal-card:focus-visible { outline: 2px solid var(--o-gold); outline-offset: 2px; }
.orousal-button-wide { width: 100%; }
.orousal-button-outline { background: transparent; border-color: var(--o-gold-soft); color: var(--o-gold) !important; box-shadow: none; }
.orousal-button-gold { background: linear-gradient(180deg, #e0bd78, #b08a4c); color: #1a0f0a !important; }
.orousal-link { color: var(--o-gold) !important; font-weight: 500; }
.orousal-actions { display: flex; flex-wrap: wrap; gap: 16px; align-items: center; margin-top: 18px !important; }
.orousal-fineprint { font-size: 13px; color: var(--o-muted); text-align: center; margin-top: 8px !important; }

/* Hero */
.orousal-hero { display: grid; grid-template-columns: minmax(0, 380px) 1fr; gap: 42px; padding: 14px; margin-top: 0; align-items: start; }
.orousal-portrait img, .orousal-portrait video, .orousal-portrait-placeholder { width: 100%; height: auto; aspect-ratio: 9 / 16; object-fit: contain;
	border-radius: 8px; display: block; }
.orousal-portrait-placeholder { display: flex; align-items: center; justify-content: center; font: 600 101px var(--o-serif);
	color: var(--o-gold); background: radial-gradient(circle at 30% 25%, #4a1d2e, #1a0b12 70%); }
.orousal-hero-text { padding: 18px 12px 12px 0; display: flex; flex-direction: column; gap: 18px; }
.orousal-name { font-family: var(--o-serif); font-weight: 600; font-size: clamp(30px, 4vw, 44px); line-height: 1.1;
	letter-spacing: .06em; text-transform: uppercase; color: #f4e6e8; }
.orousal-badges { display: flex; flex-wrap: wrap; align-items: center; gap: 13px; }
.orousal-age { font: 600 24px var(--o-serif); color: var(--o-gold); margin-right: 4px; }
.orousal-badge { display: inline-flex; align-items: center; gap: 5px; font-size: 12px; font-weight: 600; letter-spacing: .1em;
	text-transform: uppercase; padding: 4px 10px; border-radius: 999px; border: 1px solid var(--o-line); color: var(--o-muted); }
.orousal-badge-vip { border-color: var(--o-gold-soft); color: var(--o-gold); }
.orousal-tags { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 10px; }
.orousal-tags li { margin: 0; padding: 4px 12px; border-radius: 4px; border: 1px solid rgba(224, 101, 123, .45);
	background: rgba(224, 101, 123, .1); color: #f1a3b1; font-size: 12px; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; }
.orousal-meta { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px 23px; color: var(--o-muted); font-size: 15px; }
.orousal-meta li { margin: 0; display: flex; align-items: center; gap: 8px; }
.orousal-meta .orousal-icon { color: var(--o-gold); }
.orousal-bio p { margin: 0 0 10px; color: #d9c9cd; }
.orousal-hero-actions { display: flex; flex-direction: column; gap: 13px; max-width: 420px; margin-top: 4px; }
.orousal-hero-actions .orousal-fineprint { margin-top: -2px !important; }

.orousal-signup-strip { display: flex; align-items: center; justify-content: space-between; gap: 21px; flex-wrap: wrap; padding: 16px 24px; }
.orousal-signup-strip p { font: 500 18.5px var(--o-serif); color: #f4e6e8; display: flex; align-items: center; gap: 16px; }
.orousal-signup-strip .orousal-icon { color: var(--o-gold); width: 26px; height: 26px; }

/* Get to know her */
.orousal-know.has-media { display: grid; grid-template-columns: minmax(0, 38%) 1fr; gap: 36px; }
.orousal-know.has-media .orousal-traits { border-right: 1px solid var(--o-line); padding-right: 28px; }
.orousal-trait { display: grid; grid-template-columns: 130px 1fr 42px; gap: 16px; align-items: center; margin-bottom: 12px; font-size: 15px; }
.orousal-trait-bar { height: 6px; border-radius: 999px; background: #2f1820; overflow: hidden; }
.orousal-trait-bar span { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, var(--o-rose-deep), var(--o-rose)); }
.orousal-trait-score { text-align: right; color: var(--o-muted); font-variant-numeric: tabular-nums; }
.orousal-intro-video { width: 100%; max-height: 420px; border-radius: 8px; background: #000; margin-bottom: 12px; display: block; }
.orousal-gallery-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(120px, 1fr)); gap: 10px; }
.orousal-gallery-grid img { width: 100%; height: auto; aspect-ratio: 9 / 16; object-fit: cover; border-radius: 6px; display: block; }

/* Little things */
.orousal-fact-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 16px; margin: 0; }
.orousal-fact { margin: 0; padding: 14px 16px; border: 1px solid var(--o-line); border-radius: 8px; background: rgba(0, 0, 0, .25); }
.orousal-fact dt { font: 600 12px var(--o-sans); letter-spacing: .12em; text-transform: uppercase; color: var(--o-gold); margin-bottom: 4px; }
.orousal-fact dd { margin: 0; color: #e2d3d6; font-size: 15px; }

/* Photo + video packs: a soft bokeh cover stands in until real blurred previews arrive (Phase 7) */
.orousal-pack-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(210px, 250px)); justify-content: center; gap: 23px; }
.orousal-pack { border: 1px solid var(--o-line); border-radius: 8px; overflow: hidden; background: var(--o-panel); display: flex; flex-direction: column; }
.orousal-pack-cover { position: relative; aspect-ratio: 9 / 16; padding: 14px; display: flex; flex-direction: column; justify-content: flex-end; gap: 8px; /* 9:16 like her photos (Melissa, 2026-10-29) */
	background:
		radial-gradient(circle at 18% 30%, rgba(255, 170, 200, .55) 0 6%, transparent 7%),
		radial-gradient(circle at 70% 22%, rgba(255, 150, 190, .45) 0 9%, transparent 10%),
		radial-gradient(circle at 45% 60%, rgba(220, 120, 200, .35) 0 12%, transparent 13%),
		radial-gradient(circle at 85% 70%, rgba(255, 200, 220, .3) 0 5%, transparent 6%),
		radial-gradient(ellipse at 50% 40%, #7a2a5a, #2a0f1e 75%); }
.orousal-tone-1 .orousal-pack-cover { filter: hue-rotate(-25deg); }
.orousal-tone-2 .orousal-pack-cover { filter: hue-rotate(20deg) brightness(.95); }
.orousal-pack-cover::after { content: ""; position: absolute; inset: 0; backdrop-filter: blur(3px);
	background: linear-gradient(180deg, transparent 40%, rgba(0, 0, 0, .65)); }
.orousal-pack-cover > * { position: relative; z-index: 1; }
.orousal-pack-lock { position: absolute; top: 12px; right: 12px; color: var(--o-gold); }
.orousal-pack-lock .orousal-icon { width: 24px; height: 24px; }
.orousal-pack-caption h3 { font: 500 20px var(--o-serif); color: #fff; }
.orousal-pack-caption p { font-size: 13px; color: #e9cfd6; }
.orousal-pack-price { font: 600 17.5px var(--o-sans); color: var(--o-gold); white-space: nowrap; }
.orousal-pack-actions { padding: 14px; display: flex; flex-direction: column; gap: 10px; }
.orousal-pack-early { margin: 0 !important; padding: 10px 14px 0; display: flex; align-items: center; gap: 8px;
	color: var(--o-gold); font: 600 12px/1.3 var(--o-sans); letter-spacing: .06em; text-transform: uppercase; }
.orousal-pack-early .orousal-icon { width: 15px; height: 15px; flex: none; }
.orousal-pack-early.is-voice { padding: 0 0 6px; }
.orousal-pack-desc { margin: 0 !important; padding: 12px 14px 0; font: italic 400 14.5px/1.5 var(--o-sans); color: #e9cfd6; }
.orousal-pack-actions .orousal-fineprint { margin-top: 0 !important; }
@media (max-width: 640px) {
	.orousal-pack-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
	.orousal-pack-cover { padding: 10px; }
	.orousal-pack-caption h3 { font-size: 16.5px; }
	.orousal-pack-actions { padding: 10px; }
	.orousal-pack-desc { padding: 8px 10px 0; font-size: 13.5px; }
	.orousal-pack-actions .orousal-button { padding-left: 6px; padding-right: 6px; font-size: 13px; letter-spacing: .06em; }
}

/* Voice packs */
.orousal-voice-row { display: grid; grid-template-columns: 56px 1fr auto auto; gap: 23px; align-items: center;
	padding: 12px 16px; border: 1px solid var(--o-line); border-radius: 8px; background: rgba(0, 0, 0, .25); margin-bottom: 10px; }
.orousal-voice-avatar { width: 56px; height: 56px; border-radius: 50%; overflow: hidden; border: 1px solid var(--o-gold-soft);
	display: flex; align-items: center; justify-content: center; font: 600 24px var(--o-serif); color: var(--o-gold); background: #2a0f1e; }
.orousal-voice-avatar img { width: 100%; height: 100%; object-fit: cover; }
.orousal-voice-body { min-width: 0; }
.orousal-voice-body h3 { font: 500 16.5px var(--o-sans); margin-bottom: 6px !important; }
.orousal-wave { display: block; height: 22px; opacity: .85; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 240 22' preserveAspectRatio='none'%3E%3Cg fill='%23a8939a'%3E%3Crect x='0' y='9.0' width='2' height='4' rx='1'/%3E%3Crect x='4' y='3.0' width='2' height='16' rx='1'/%3E%3Crect x='8' y='2.5' width='2' height='17' rx='1'/%3E%3Crect x='12' y='7.0' width='2' height='8' rx='1'/%3E%3Crect x='16' y='8.0' width='2' height='6' rx='1'/%3E%3Crect x='20' y='9.0' width='2' height='4' rx='1'/%3E%3Crect x='24' y='7.0' width='2' height='8' rx='1'/%3E%3Crect x='28' y='9.0' width='2' height='4' rx='1'/%3E%3Crect x='32' y='4.0' width='2' height='14' rx='1'/%3E%3Crect x='36' y='1.5' width='2' height='19' rx='1'/%3E%3Crect x='40' y='5.5' width='2' height='11' rx='1'/%3E%3Crect x='44' y='5.5' width='2' height='11' rx='1'/%3E%3Crect x='48' y='2.5' width='2' height='17' rx='1'/%3E%3Crect x='52' y='5.0' width='2' height='12' rx='1'/%3E%3Crect x='56' y='9.0' width='2' height='4' rx='1'/%3E%3Crect x='60' y='8.5' width='2' height='5' rx='1'/%3E%3Crect x='64' y='7.0' width='2' height='8' rx='1'/%3E%3Crect x='68' y='7.5' width='2' height='7' rx='1'/%3E%3Crect x='72' y='6.0' width='2' height='10' rx='1'/%3E%3Crect x='76' y='1.5' width='2' height='19' rx='1'/%3E%3Crect x='80' y='3.0' width='2' height='16' rx='1'/%3E%3Crect x='84' y='8.5' width='2' height='5' rx='1'/%3E%3Crect x='88' y='3.5' width='2' height='15' rx='1'/%3E%3Crect x='92' y='4.0' width='2' height='14' rx='1'/%3E%3Crect x='96' y='8.0' width='2' height='6' rx='1'/%3E%3Crect x='100' y='8.5' width='2' height='5' rx='1'/%3E%3Crect x='104' y='7.5' width='2' height='7' rx='1'/%3E%3Crect x='108' y='6.0' width='2' height='10' rx='1'/%3E%3Crect x='112' y='8.5' width='2' height='5' rx='1'/%3E%3Crect x='116' y='3.0' width='2' height='16' rx='1'/%3E%3Crect x='120' y='1.5' width='2' height='19' rx='1'/%3E%3Crect x='124' y='6.0' width='2' height='10' rx='1'/%3E%3Crect x='128' y='5.5' width='2' height='11' rx='1'/%3E%3Crect x='132' y='3.5' width='2' height='15' rx='1'/%3E%3Crect x='136' y='6.5' width='2' height='9' rx='1'/%3E%3Crect x='140' y='9.0' width='2' height='4' rx='1'/%3E%3Crect x='144' y='8.0' width='2' height='6' rx='1'/%3E%3Crect x='148' y='5.5' width='2' height='11' rx='1'/%3E%3Crect x='152' y='7.0' width='2' height='8' rx='1'/%3E%3Crect x='156' y='5.5' width='2' height='11' rx='1'/%3E%3Crect x='160' y='1.0' width='2' height='20' rx='1'/%3E%3Crect x='164' y='3.5' width='2' height='15' rx='1'/%3E%3Crect x='168' y='8.5' width='2' height='5' rx='1'/%3E%3Crect x='172' y='4.0' width='2' height='14' rx='1'/%3E%3Crect x='176' y='5.5' width='2' height='11' rx='1'/%3E%3Crect x='180' y='8.5' width='2' height='5' rx='1'/%3E%3Crect x='184' y='8.5' width='2' height='5' rx='1'/%3E%3Crect x='188' y='5.5' width='2' height='11' rx='1'/%3E%3Crect x='192' y='5.0' width='2' height='12' rx='1'/%3E%3Crect x='196' y='8.0' width='2' height='6' rx='1'/%3E%3Crect x='200' y='2.5' width='2' height='17' rx='1'/%3E%3Crect x='204' y='1.5' width='2' height='19' rx='1'/%3E%3Crect x='208' y='6.5' width='2' height='9' rx='1'/%3E%3Crect x='212' y='5.5' width='2' height='11' rx='1'/%3E%3Crect x='216' y='5.0' width='2' height='12' rx='1'/%3E%3Crect x='220' y='7.5' width='2' height='7' rx='1'/%3E%3Crect x='224' y='9.0' width='2' height='4' rx='1'/%3E%3Crect x='228' y='6.5' width='2' height='9' rx='1'/%3E%3Crect x='232' y='4.0' width='2' height='14' rx='1'/%3E%3Crect x='236' y='7.0' width='2' height='8' rx='1'/%3E%3C/g%3E%3C/svg%3E") left center / 100% 100% no-repeat; }
.orousal-voice-count { font-size: 13px; color: var(--o-muted); }
.orousal-voice-desc { margin: -2px 0 6px !important; font: italic 400 14px/1.45 var(--o-sans); color: #e9cfd6; }
.orousal-voice-price { font: 600 17.5px var(--o-sans); color: var(--o-gold); white-space: nowrap; }

/* Chat */
.orousal-connect { background: radial-gradient(ellipse at 80% 0%, rgba(184, 64, 90, .22), transparent 60%), linear-gradient(180deg, var(--o-panel-2), var(--o-panel)); }
.orousal-connect .orousal-heading { color: var(--o-gold); }
/* Everything in "Connect directly with" centered (Melissa) */
.orousal-connect { text-align: center; }
.orousal-connect .orousal-lede { margin-left: auto !important; margin-right: auto !important; }
.orousal-connect .orousal-features { grid-template-columns: repeat(auto-fit, minmax(170px, 220px)); justify-content: center; }
@media (min-width: 900px) { .orousal-connect .orousal-features { grid-template-columns: repeat(4, minmax(0, 1fr)); } } /* 4 across on computers */
.orousal-connect .orousal-actions { justify-content: center; }
.orousal-lede { color: #d9c9cd; max-width: 620px; }
.orousal-features { list-style: none; margin: 22px 0 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(170px, 1fr)); gap: 18px; }
.orousal-features li { margin: 0; display: flex; flex-direction: column; align-items: center; text-align: center; gap: 4px; font-size: 14px; color: var(--o-muted); }
.orousal-features .orousal-icon { width: 46px; height: 46px; padding: 11px; border-radius: 50%; border: 1px solid var(--o-gold-soft);
	color: var(--o-gold); background: rgba(212, 174, 106, .06); margin-bottom: 6px; }
.orousal-features strong { color: var(--o-gold); font: 600 14px var(--o-serif); letter-spacing: .04em; }
.orousal-chat-prices { margin-top: 20px !important; color: var(--o-text); font-weight: 500; }
.orousal-chat-timer { font-weight: 600; color: var(--o-gold); }

/* More ways to connect */
.orousal-more { margin-top: 30px; }
.orousal-more-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 23px; align-items: stretch; }
.orousal-offer { position: relative; margin-top: 0; text-align: center; display: flex; flex-direction: column; align-items: center; gap: 16px; }
.orousal-offer h3 { font: 600 21px var(--o-serif); letter-spacing: .05em; font-variant: small-caps; }
.orousal-offer > p { color: #cdbcc1; font-size: 15px; }
.orousal-offer .orousal-button { margin-top: auto; }
.orousal-offer-icon { color: var(--o-gold); }
.orousal-offer-icon .orousal-icon { width: 54px; height: 54px; padding: 13px; border-radius: 50%; border: 1px solid var(--o-gold-soft); background: rgba(212, 174, 106, .06); }
.orousal-offer > p.orousal-offer-price { font: 600 19.5px var(--o-sans); color: var(--o-gold); }
.orousal-offer > p.orousal-offer-price-big { font: 600 36px var(--o-serif); }
.orousal-offer-price small { font: 500 15px var(--o-sans); color: var(--o-muted); }
.orousal-offer-vip { border-color: var(--o-gold-soft); box-shadow: 0 0 0 1px rgba(212, 174, 106, .25), 0 10px 40px rgba(212, 174, 106, .08); }
.orousal-ribbon { position: absolute; top: -11px; left: 50%; transform: translateX(-50%); padding: 3px 12px; border-radius: 4px;
	background: linear-gradient(180deg, #e0bd78, #b08a4c); color: #1a0f0a; font-size: 12px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.orousal-checklist { list-style: none; margin: 0; padding: 0; text-align: left; font-size: 15px; color: #d9c9cd; }
.orousal-checklist li { margin: 0 0 6px; padding-left: 22px; position: relative; }
.orousal-checklist li::before { content: "✓"; position: absolute; left: 0; color: var(--o-gold); font-weight: 700; }

/* Character cards (homepage grids + "You may also like") */
.orousal-card-grid { display: grid; grid-template-columns: repeat(var(--orousal-columns, 4), minmax(0, 1fr)); gap: 21px; font-family: var(--o-sans, sans-serif); }
.orousal-card { display: flex; flex-direction: column; gap: 10px; padding: 8px; border: 1px solid var(--o-line); border-radius: var(--o-radius);
	background: var(--o-panel); text-decoration: none !important; color: var(--o-text) !important; transition: border-color .15s, transform .15s; }
.orousal-card:hover { border-color: var(--o-gold-soft); transform: translateY(-2px); }
.orousal-card-image { position: relative; display: block; border-radius: 6px; overflow: hidden; }
.orousal-card-image img, .orousal-card-image video, .orousal-card-image .orousal-portrait-placeholder { width: 100%; height: auto; aspect-ratio: 9 / 16; object-fit: contain; display: block; background: #000; }
.orousal-card-image .orousal-portrait-placeholder { display: flex; align-items: center; justify-content: center; font: 600 59px var(--o-serif);
	color: var(--o-gold); background: radial-gradient(circle at 30% 25%, #4a1d2e, #1a0b12 70%); }
.orousal-card-text { display: flex; flex-direction: column; gap: 2px; padding: 2px 4px; text-decoration: none !important; color: inherit !important; }
.orousal-card-name { font: 600 15px var(--o-serif); letter-spacing: .06em; text-transform: uppercase; color: #fff; }
.orousal-card-tags { font-size: 13px; color: #d5bfc5; }
.orousal-card-cta { text-decoration: none !important; align-self: center; margin-bottom: 4px; padding: 7px 18px; border-radius: 6px; font-size: 12px; font-weight: 600; letter-spacing: .1em;
	text-transform: uppercase; color: #fff; background: linear-gradient(180deg, var(--o-rose), var(--o-rose-deep)); border: 1px solid transparent; }
.orousal-card-cta:hover, .orousal-card-cta:focus-visible { color: var(--o-gold) !important; background: #1a0b12; border-color: var(--o-gold); }

.orousal-disclosure { margin-top: 26px; font-size: 14px; color: var(--o-muted); text-align: center; }

/* Hero stage + gallery thumbnails that swap into it */
.orousal-stage { background: #000; border-radius: 8px; overflow: hidden; }
.orousal-stage video { background: #000; }
.orousal-thumb { position: relative; display: block; width: 100%; padding: 0; margin: 0; background: none; font: inherit; border-radius: 6px; overflow: hidden; border: 2px solid transparent; cursor: pointer; }
.orousal-profile .orousal-thumb, .orousal-profile .orousal-thumb:hover, .orousal-profile .orousal-thumb:focus { background: none; box-shadow: none; color: inherit; text-transform: none; min-height: 0; }
/* Her images: no dragging them out, no long-press "Save image" menu on phones */
.orousal-profile img, .orousal-card-grid img, .orousal-viewer img { -webkit-user-drag: none; user-select: none; -webkit-touch-callout: none; }
.orousal-thumb.is-active { border-color: var(--o-gold); }
.orousal-thumb img, .orousal-thumb-blank { width: 100%; height: auto; aspect-ratio: 9 / 16; object-fit: cover; display: block; background: #2a0f1e; }
.orousal-thumb-play { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; color: #fff;
	background: rgba(0, 0, 0, .3); }
.orousal-thumb-play .orousal-icon { width: 34px; height: 34px; padding: 8px; border-radius: 50%; background: rgba(224, 101, 123, .9); }

/* Green / red flags: their own centered row, tinted so they stand out */
.orousal-flag-row { display: flex; flex-wrap: wrap; justify-content: center; gap: 16px; margin: 14px 0 0; }
.orousal-flag-row .orousal-flag { flex: 0 1 340px; text-align: center; }
.orousal-flag-green { background: #dff3e4; border-color: #9fd3ad; }
.orousal-flag-green dt { color: #1f6b35; }
.orousal-flag-red { background: #fbe0e3; border-color: #eba3ad; }
.orousal-flag-red dt { color: #a3253b; }
.orousal-flag dd { color: #2a1a1e; }

/* Gifts */
.orousal-ribbon-rose { background: linear-gradient(180deg, var(--o-rose), var(--o-rose-deep)); color: #fff; }
.orousal-donate { width: 100%; display: flex; flex-direction: column; gap: 13px; margin-top: auto; }
.orousal-donate-amounts { display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; }
.orousal-donate-amounts label { margin: 0; cursor: pointer; }
.orousal-donate-amounts input { position: absolute; opacity: 0; pointer-events: none; }
.orousal-donate-amounts span { display: block; padding: 9px 4px; border: 1px solid var(--o-gold-soft); border-radius: 6px; color: var(--o-text);
	font-weight: 600; font-size: 15px; text-align: center; }
.orousal-donate-custom span { font-size: 12px; letter-spacing: .08em; text-transform: uppercase; padding-top: 11px; padding-bottom: 11px; }
.orousal-donate-amounts input:checked + span { background: rgba(212, 174, 106, .16); border-color: var(--o-gold); color: var(--o-gold); }
.orousal-donate-amounts input:focus-visible + span { outline: 2px solid var(--o-gold); outline-offset: 2px; }
.orousal-donate-input { width: 100%; padding: 10px 12px; border-radius: 6px; border: 1px solid var(--o-gold-soft); background: rgba(0, 0, 0, .3);
	color: var(--o-text); font: 500 16.5px var(--o-sans); }
.orousal-offer-donate .orousal-fineprint { margin-top: 0 !important; }

/* Reviews (profile + [orousal_reviews]) and numbers ([orousal_stats]) */
.orousal-shortcode { --o-panel: #150b10; --o-line: #3a2029; --o-gold: #d4ae6a; --o-text: #ecdfe2; --o-muted: #a8939a;
	--o-serif: "Cinzel", Georgia, serif; --o-sans: "Inter", sans-serif; font-family: var(--o-sans); color: var(--o-text); }
.orousal-review-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 21px; }
.orousal-review { margin: 0; padding: 20px; border: 1px solid var(--o-line); border-radius: 8px; background: rgba(0, 0, 0, .25);
	display: flex; flex-direction: column; gap: 16px; }
.orousal-stars { color: var(--o-gold); letter-spacing: .15em; }
.orousal-review blockquote { margin: 0; padding: 0; border: 0; font-style: italic; color: #e2d3d6; font-size: 16.5px; }
.orousal-review figcaption { display: flex; align-items: center; gap: 13px; font-weight: 600; font-size: 15px; margin-top: auto; }
.orousal-review figcaption small { font-weight: 400; color: var(--o-muted); margin-left: auto; }
.orousal-review-avatar { width: 32px; height: 32px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center;
	border: 1px solid var(--o-gold); color: var(--o-gold); font-family: var(--o-serif); }
.orousal-stats { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); margin: 0; border: 1px solid var(--o-line);
	border-radius: 10px; background: var(--o-panel); }
.orousal-stat { margin: 0; padding: 22px 12px; text-align: center; display: flex; flex-direction: column-reverse; gap: 4px; border-right: 1px solid var(--o-line); }
.orousal-stat:last-child { border-right: 0; }
.orousal-stat dd { margin: 0; font: 600 36px var(--o-serif); color: var(--o-gold); }
.orousal-stat dt { font-size: 15px; color: var(--o-text); }
.orousal-stat dt small { display: block; color: var(--o-muted); font-size: 13px; }

@media (max-width: 860px) {
	.orousal-hero { grid-template-columns: 1fr; gap: 10px; }
	.orousal-hero-text { padding: 8px 6px 6px; }
	.orousal-hero-actions { max-width: none; }
	.orousal-know.has-media { grid-template-columns: 1fr; }
	.orousal-know.has-media .orousal-traits { border-right: 0; padding-right: 0; border-bottom: 1px solid var(--o-line); padding-bottom: 18px; }
	.orousal-card-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 560px) {
	.orousal-panel { padding: 18px 14px; }
	.orousal-trait { grid-template-columns: 105px 1fr 38px; }
	.orousal-voice-row { grid-template-columns: 44px 1fr; gap: 13px 18px; }
	.orousal-voice-avatar { width: 44px; height: 44px; font-size: 19.5px; }
	.orousal-voice-row > .orousal-button, .orousal-voice-row > .orousal-voice-price { grid-column: 2; justify-self: start; }
	.orousal-signup-strip { flex-direction: column; align-items: stretch; text-align: center; }
	.orousal-signup-strip p { justify-content: center; }
	.orousal-card-name { font-size: 13px; }
	/* All girls / browse pages: one girl per row on phones (Melissa). */
	.orousal-card-grid-browse { grid-template-columns: minmax(0, 340px); justify-content: center; }
	.orousal-card-grid-browse .orousal-card-name { font-size: 16.5px; }
	.orousal-card-grid-browse .orousal-card-tags { font-size: 14px; }
}
@media (prefers-reduced-motion: reduce) {
	.orousal-button, .orousal-card { transition: none; }
	.orousal-button:hover, .orousal-card:hover { transform: none; }
}

/* Browse pages (/girls/, /browse/<group>/) */
.orousal-browse-head { text-align: center; margin: 10px 0 26px; display: flex; flex-direction: column; align-items: center; gap: 10px; }
.orousal-browse-count { color: var(--o-muted); }
.orousal-filter { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; margin-top: 6px; }
.orousal-filter a { padding: 7px 16px; border-radius: 999px; border: 1px solid var(--o-line); color: var(--o-text) !important; text-decoration: none !important;
	font-size: 13px; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; }
.orousal-filter a:hover { border-color: var(--o-gold-soft); }
.orousal-filter a[aria-current="page"] { border-color: var(--o-gold); color: var(--o-gold) !important; background: rgba(212, 174, 106, .08); }

/*
 * The7 adjustments, only on Orousal profile and browse pages: hide the light
 * title bar (the page has its own heading), make the page area dark, and undo
 * theme list bullets and quote boxes inside our sections.
 */
body.orousal-dark { background-color: #0c0709; }
body.orousal-dark .page-title { display: none !important; }
body.orousal-dark #main, body.orousal-dark #main > .wf-wrap, body.orousal-dark .wf-container-main, body.orousal-dark #content { background: #0c0709 !important; }
body.orousal-dark #main { padding-top: 24px; }
body.orousal-dark.orousal-boxed, body.orousal-dark.orousal-boxed #main, body.orousal-dark.orousal-boxed #main > .wf-wrap,
body.orousal-dark.orousal-boxed .wf-container-main, body.orousal-dark.orousal-boxed #content { background: #000 !important; }
.orousal-profile ul, .orousal-profile ol, .orousal-shortcode ul { list-style: none !important; }
.orousal-profile .orousal-tags li::before, .orousal-profile .orousal-meta li::before, .orousal-profile .orousal-features li::before { content: none !important; display: none !important; }
.orousal-profile blockquote, .orousal-shortcode blockquote { background: none !important; border: 0 !important; padding: 0 !important; margin: 0 !important;
	color: #e2d3d6 !important; font: italic 400 16.5px/1.55 var(--o-sans) !important; quotes: none; }
.orousal-profile blockquote::before, .orousal-profile blockquote::after, .orousal-shortcode blockquote::before { content: none !important; }

/* Tap-to-play video: round play button in the middle, hidden while playing;
   tap the video to pause; small sound button in the corner once it has played. */
.orousal-player { position: relative; background: #000; border-radius: 6px; overflow: hidden; cursor: pointer; }
.orousal-player video { width: 100%; height: auto; aspect-ratio: 9 / 16; object-fit: contain; display: block; background: #000; }
.orousal-play { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); width: 72px; height: 72px; border-radius: 50%;
	border: 2px solid rgba(255, 255, 255, .85); background: rgba(224, 101, 123, .88); color: #fff; display: flex; align-items: center;
	justify-content: center; padding: 0 0 0 5px; cursor: pointer; box-shadow: 0 6px 24px rgba(0, 0, 0, .45); transition: transform .15s, opacity .2s; }
.orousal-play .orousal-icon { width: 30px; height: 30px; fill: currentColor; }
.orousal-play:hover { transform: translate(-50%, -50%) scale(1.06); }
.orousal-card .orousal-play { width: 54px; height: 54px; }
.orousal-card .orousal-play .orousal-icon { width: 22px; height: 22px; }
.orousal-player.is-playing .orousal-play { opacity: 0; pointer-events: none; }
.orousal-sound { position: absolute; top: 10px; right: 10px; width: 36px; height: 36px; border-radius: 50%; border: 0; cursor: pointer;
	background: rgba(0, 0, 0, .55); color: #fff; display: flex; align-items: center; justify-content: center; padding: 0; }
.orousal-sound .orousal-icon { width: 18px; height: 18px; }
.orousal-sound .orousal-sound-off, .orousal-sound.is-muted .orousal-sound-on { display: none; }
.orousal-sound.is-muted .orousal-sound-off { display: inline; }
.orousal-play:focus-visible, .orousal-sound:focus-visible { outline: 2px solid var(--o-gold); outline-offset: 3px; }
.orousal-tip-tagline { font: italic 500 17.5px var(--o-serif) !important; color: var(--o-gold) !important; margin-top: -6px !important; }

@media (max-width: 860px) {
	.orousal-hero { grid-template-columns: 1fr; }
	.orousal-stage { width: 100%; max-width: 380px; justify-self: center; }
}
@media (prefers-reduced-motion: reduce) { .orousal-play { transition: none; } }

/* ---------------------------------------------------------------------------
 * Chat side panel: slides in from the right on desktop, full screen on phones.
 * Lives outside .orousal-profile, so it carries its own colour tokens.
 * ------------------------------------------------------------------------- */
.orousal-chat-panel {
	--o-panel: #150b10; --o-panel-2: #1d0f16; --o-line: #3a2029; --o-gold: #d4ae6a; --o-gold-soft: #b8935a;
	--o-rose: #e0657b; --o-rose-deep: #b8405a; --o-text: #ecdfe2; --o-muted: #a8939a;
	--o-serif: "Cinzel", "Cormorant Garamond", Georgia, serif; --o-sans: "Inter", -apple-system, "Segoe UI", Roboto, sans-serif;
	position: fixed; top: 0; right: 0; bottom: 0; z-index: 100000; width: 380px; max-width: 100vw;
	display: flex; flex-direction: column; background: var(--o-panel); color: var(--o-text); font: 15px/1.5 var(--o-sans);
	border-left: 1px solid var(--o-line); box-shadow: -18px 0 40px rgba(0, 0, 0, .45);
	transform: translateX(105%); visibility: hidden; transition: transform .32s ease, visibility 0s linear .32s;
}
.orousal-chat-panel * { box-sizing: border-box; }
.orousal-chat-is-open .orousal-chat-panel { transform: none; visibility: visible; transition: transform .32s ease; }
body.admin-bar .orousal-chat-panel { top: 32px; }
@media (min-width: 1100px) {
	body.orousal-chat-is-open .orousal-profile { padding-right: 396px; transition: padding .32s ease; }
}
@media (max-width: 600px) {
	.orousal-chat-panel { width: 100vw; border-left: 0; }
	body.admin-bar .orousal-chat-panel { top: 0; }
	body.orousal-chat-is-open:not(.orousal-chat-inline) { overflow: hidden; }
	/* Phones: the chat sits at the top of her page, her profile underneath (scroll down to see her). */
	.orousal-chat-panel.is-inline { position: relative; top: auto; right: auto; bottom: auto; z-index: 5; width: 100%;
		height: calc(100vh - 56px); height: calc(100svh - 56px); transform: none; visibility: visible; transition: none;
		box-shadow: none; border-bottom: 1px solid var(--o-line); }
	.orousal-chat-panel.is-inline .orousal-chat-msgs { overscroll-behavior: auto; }
	.orousal-chat-below { display: block; width: 100%; margin: 0; padding: 12px; border: 0; border-bottom: 1px solid #3a2029;
		background: #150b10; color: #d4ae6a; font: 600 13px/1 "Inter", -apple-system, sans-serif; letter-spacing: .1em; text-transform: uppercase; cursor: pointer; }
}
.orousal-chat-head { display: flex; align-items: center; gap: 13px; padding: 12px 14px; border-bottom: 1px solid var(--o-line);
	background: linear-gradient(180deg, var(--o-panel-2), var(--o-panel)); }
.orousal-chat-avatar { width: 38px; height: 38px; border-radius: 50%; flex: none; border: 1px solid var(--o-gold-soft);
	background: radial-gradient(circle at 35% 30%, #a2378b, #3a1030 70%) center / cover; }
.orousal-chat-who { min-width: 0; flex: 1; }
.orousal-chat-who b { display: block; font: 600 16.5px var(--o-serif); letter-spacing: .06em; color: var(--o-gold); }
.orousal-chat-who small { color: var(--o-muted); font-size: 12px; }
.orousal-chat-timer-pill { font-size: 12px; font-weight: 600; letter-spacing: .04em; padding: 4px 9px; border-radius: 999px;
	border: 1px solid var(--o-gold-soft); color: var(--o-gold); white-space: nowrap; }
.orousal-chat-timer-pill:empty { display: none; }
.orousal-chat-timer-pill.is-ending { border-color: var(--o-rose); color: #f1a3b1; }
.orousal-chat-timer-pill.is-paused { border-color: var(--o-gold-soft); color: var(--o-gold); }
.orousal-chat-pause { flex: none; border: 1px solid var(--o-line); background: transparent; color: var(--o-text); border-radius: 999px; padding: 4px 10px; font-size: 12px; font-weight: 600; cursor: pointer; white-space: nowrap; }
.orousal-chat-pause:hover, .orousal-chat-pause:focus-visible { border-color: var(--o-gold); color: var(--o-gold); }
.orousal-chat-pause[hidden] { display: none; }
.orousal-chat-close { border: 0; background: none; color: var(--o-muted); font-size: 28px; line-height: 1; cursor: pointer; padding: 2px 6px; }
.orousal-chat-close:hover, .orousal-chat-close:focus-visible { color: var(--o-text); }
.orousal-chat-msgs { flex: 1; min-height: 0; overflow-y: auto; padding: 16px 14px; display: flex; flex-direction: column; gap: 10px;
	overscroll-behavior: contain; }
.orousal-chat-empty { margin: auto 0; text-align: center; color: var(--o-muted); font-size: 14px; padding: 0 20px; }
.orousal-chat-notice { align-self: stretch; margin: 6px 4px; padding: 10px 12px; border: 1px solid #b8405a; border-radius: 8px; background: rgba(184, 64, 90, .12); color: #f2d5db; font-size: 14px; line-height: 1.45; text-align: center; }
.orousal-chat-notice.is-paused { border-color: var(--o-gold); background: rgba(212, 174, 106, .1); color: #f1e3c8; }
.orousal-msg { max-width: 82%; padding: 9px 13px; border-radius: 16px; white-space: pre-wrap; overflow-wrap: anywhere; }
.orousal-msg-her { align-self: flex-start; background: var(--o-panel-2); border: 1px solid var(--o-line); border-bottom-left-radius: 4px; }
.orousal-msg-me { align-self: flex-end; background: linear-gradient(180deg, #7a2a40, #5c1d30); color: #fff; border-bottom-right-radius: 4px; }
.orousal-msg.is-sending { opacity: .6; }
.orousal-msg-typing { display: inline-flex; gap: 4px; padding: 13px 14px; }
.orousal-msg-typing i { width: 6px; height: 6px; border-radius: 50%; background: var(--o-muted); animation: orousal-blink 1.2s infinite; }
.orousal-msg-typing i:nth-child(2) { animation-delay: .2s; }
.orousal-msg-typing i:nth-child(3) { animation-delay: .4s; }
@keyframes orousal-blink { 0%, 80%, 100% { opacity: .25; } 40% { opacity: 1; } }
.orousal-chat-status { margin: 0; padding: 8px 14px; font-size: 14px; color: #f1a3b1; border-top: 1px solid var(--o-line); }
.orousal-chat-status[hidden], .orousal-chat-lock[hidden], .orousal-chat-compose[hidden] { display: none; }
.orousal-chat-lock { padding: 18px 16px 22px; border-top: 1px solid var(--o-line); text-align: center; display: flex; flex-direction: column; gap: 13px; align-items: center; }
.orousal-chat-lock p { margin: 0; }
.orousal-chat-lock-title { font: 600 16.5px var(--o-serif); color: var(--o-gold); letter-spacing: .05em; }
.orousal-chat-balance { color: var(--o-muted); font-size: 14px; }
.orousal-chat-lock-buttons { display: flex; gap: 10px; flex-wrap: wrap; justify-content: center; }
.orousal-chat-lock .orousal-button { font: 600 13px/1.2 var(--o-sans); letter-spacing: .06em; text-transform: uppercase; padding: 11px 16px;
	border-radius: 6px; cursor: pointer; color: #fff; border: 1px solid transparent; background: linear-gradient(180deg, var(--o-rose), var(--o-rose-deep)); }
.orousal-chat-lock .orousal-button-outline { background: transparent; border-color: var(--o-gold-soft); color: var(--o-gold); }
.orousal-chat-lock .orousal-button:disabled { opacity: .45; cursor: not-allowed; }
.orousal-chat-lock .orousal-link { color: var(--o-gold); font-size: 14px; }
.orousal-chat-compose { display: flex; gap: 10px; align-items: flex-end; padding: 10px; border-top: 1px solid var(--o-line);
	padding-bottom: max(10px, env(safe-area-inset-bottom)); }
.orousal-chat-input { flex: 1; min-width: 0; resize: none; max-height: 120px; padding: 9px 14px; border-radius: 20px; border: 1px solid var(--o-line);
	background: #0f080b; color: var(--o-text); font: 16.5px/1.4 var(--o-sans); }
.orousal-chat-input:focus { outline: none; border-color: var(--o-gold-soft); }
.orousal-chat-send { width: 40px; height: 40px; border-radius: 50%; flex: none; border: 0; display: flex; align-items: center; justify-content: center;
	color: #fff; cursor: pointer; background: linear-gradient(180deg, var(--o-rose), var(--o-rose-deep)); }
.orousal-chat-send:disabled { opacity: .5; }
@media (prefers-reduced-motion: reduce) {
	.orousal-chat-panel, body.orousal-chat-is-open .orousal-profile { transition: none; }
	.orousal-msg-typing i { animation: none; opacity: .7; }
}

/* Back to All girls, and her tagline under her name */
.orousal-back-row { margin: 0 0 10px; }
.orousal-back { display: inline-flex; align-items: center; gap: 8px; color: var(--o-gold) !important; text-decoration: none !important;
	font: 600 13px/1 var(--o-sans); letter-spacing: .1em; text-transform: uppercase; padding: 8px 2px; }
.orousal-back:hover, .orousal-back:focus-visible { color: var(--o-text) !important; }
.orousal-tagline { margin: -6px 0 14px !important; color: var(--o-muted); font-style: italic; font-size: 17.5px; line-height: 1.45; }

/* Her stats under the From / Lives in lines */
.orousal-stats { margin: -4px 0 14px !important; color: var(--o-muted); font-size: 14px; letter-spacing: .02em; }

/* All Girls filters (hair, height, bra size, weight) */
.orousal-filters { margin: 14px auto 0; max-width: 860px; text-align: left; }
.orousal-filters summary { list-style: none; cursor: pointer; display: inline-flex; align-items: center; gap: 10px; margin: 0 auto;
	padding: 8px 18px; border: 1px solid var(--o-gold-soft); border-radius: 999px; color: var(--o-gold);
	font: 600 13px/1 var(--o-sans); letter-spacing: .1em; text-transform: uppercase; }
.orousal-filters summary::-webkit-details-marker { display: none; }
.orousal-filters { display: flex; flex-direction: column; align-items: center; }
.orousal-filter-active { background: var(--o-rose); color: #fff; border-radius: 999px; padding: 2px 7px; font-size: 12px; letter-spacing: 0; }
.orousal-filter-groups { width: 100%; margin-top: 12px; padding: 16px; border: 1px solid var(--o-line); border-radius: var(--o-radius);
	background: var(--o-panel); display: grid; grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); gap: 18px 26px; }
.orousal-filter-group { border: 0; margin: 0; padding: 0; min-width: 0; }
.orousal-filter-group legend { color: var(--o-gold); font: 600 12px var(--o-sans); letter-spacing: .12em; text-transform: uppercase; margin-bottom: 8px; padding: 0; }
.orousal-chip { display: inline-flex; margin: 0 6px 6px 0; cursor: pointer; }
.orousal-chip input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.orousal-chip span { padding: 6px 12px; border-radius: 999px; border: 1px solid var(--o-line); color: var(--o-text); font-size: 14px; line-height: 1.2; }
.orousal-chip input:checked + span { border-color: var(--o-gold); color: var(--o-gold); background: rgba(212, 174, 106, .1); }
.orousal-chip input:focus-visible + span { outline: 2px solid var(--o-gold); outline-offset: 2px; }
.orousal-filter-actions { grid-column: 1 / -1; margin: 0 !important; text-align: right; }
.orousal-filter-actions .orousal-link, .orousal-filter-empty .orousal-link { background: none; border: 0; color: var(--o-gold); cursor: pointer; font: inherit; text-decoration: underline; padding: 0; }
.orousal-card[hidden] { display: none !important; }
.orousal-filter-empty { text-align: center; margin-top: 20px !important; }

/* Voice notes, her voice on/off, and the walkie-talkie mic (Phase 5) */
.orousal-chat-voice-row { display: flex; align-items: center; gap: 16px; padding: 8px 14px; border-bottom: 1px solid var(--o-line); }
.orousal-chat-voice-row[hidden] { display: none; }
.orousal-chat-voice-row .orousal-voice-row-text { flex: 1; min-width: 0; display: flex; flex-direction: column; font-size: 14px; color: var(--o-text); }
.orousal-chat-voice-row .orousal-voice-row-text small { font-size: 13px; color: var(--o-muted); line-height: 1.3; }
.orousal-switch { position: relative; flex: none; display: inline-flex; align-items: center; width: 62px; height: 30px; padding: 0;
	border-radius: 15px; border: 1px solid var(--o-line); background: var(--o-line); color: var(--o-muted); cursor: pointer;
	font-size: 13px; font-weight: 600; transition: background .2s; }
.orousal-switch[aria-checked="true"] { background: linear-gradient(180deg, var(--o-rose), var(--o-rose-deep)); color: #fff; border-color: transparent; }
.orousal-switch-knob { position: absolute; top: 3px; left: 3px; width: 22px; height: 22px; border-radius: 50%; background: #fff;
	transition: left .2s; }
.orousal-switch[aria-checked="true"] .orousal-switch-knob { left: 35px; }
.orousal-switch-label { flex: 1; text-align: right; padding-right: 9px; }
.orousal-switch[aria-checked="true"] .orousal-switch-label { text-align: left; padding: 0 0 0 10px; }
.orousal-msg.orousal-voice { display: flex; align-items: center; gap: 13px; min-width: 190px; padding: 8px 12px 8px 8px !important; }
.orousal-voice-play { width: 34px; height: 34px; border-radius: 50%; border: 0; flex: none; cursor: pointer; color: #fff;
	background: linear-gradient(180deg, var(--o-rose), var(--o-rose-deep)); position: relative; }
.orousal-voice-play::before { content: ""; position: absolute; left: 13px; top: 10px; border-style: solid; border-width: 7px 0 7px 11px;
	border-color: transparent transparent transparent #fff; }
.orousal-voice.is-playing .orousal-voice-play::before { left: 11px; top: 11px; width: 4px; height: 12px; border: 0; background: #fff;
	box-shadow: 8px 0 0 #fff; }
.orousal-voice-bar { flex: 1; height: 4px; border-radius: 2px; background: var(--o-line); overflow: hidden; }
.orousal-voice-bar i { display: block; height: 100%; width: 0; background: var(--o-gold); transition: width .2s linear; }
.orousal-voice-len { font-size: 13px; color: var(--o-muted); min-width: 30px; text-align: right; font-variant-numeric: tabular-nums; }
.orousal-msg-me.is-spoken::before { content: "🎤 "; }
.orousal-chat-mic { width: 40px; height: 40px; border-radius: 50%; flex: none; border: 1px solid var(--o-gold-soft); background: transparent;
	color: var(--o-gold); display: flex; align-items: center; justify-content: center; cursor: pointer; touch-action: none;
	-webkit-user-select: none; user-select: none; -webkit-touch-callout: none; }
.orousal-chat-mic[hidden] { display: none; }


/* "Carmen is typing…" */
.orousal-msg-typing { display: inline-flex; align-items: center; gap: 10px; padding: 10px 14px !important; }
.orousal-typing-label { font-size: 14px; color: var(--o-muted); font-style: italic; }
.orousal-typing-dots { display: inline-flex; gap: 4px; }
.orousal-typing-dots i { width: 6px; height: 6px; border-radius: 50%; background: var(--o-muted); animation: orousal-blink 1.2s infinite; }
.orousal-typing-dots i:nth-child(2) { animation-delay: .2s; }
.orousal-typing-dots i:nth-child(3) { animation-delay: .4s; }

/* Talk instead of typing: the recording bar replaces the message box while recording */
.orousal-mic-hint { margin: 0; padding: 8px 14px 0; font-size: 13px; color: var(--o-muted); border-top: 1px solid var(--o-line); }
.orousal-mic-hint[hidden] { display: none; }
.orousal-rec-bar { display: none; flex: 1; align-items: center; gap: 13px; min-height: 40px; }
.orousal-chat-compose.is-recording .orousal-rec-bar { display: flex; }
.orousal-chat-compose.is-recording .orousal-chat-mic,
.orousal-chat-compose.is-recording .orousal-chat-input,
.orousal-chat-compose.is-recording .orousal-chat-send { display: none; }
.orousal-rec-label { flex: 1; font-size: 15px; color: var(--o-text); font-variant-numeric: tabular-nums; }
.orousal-rec-dot { width: 12px; height: 12px; border-radius: 50%; background: var(--o-muted); flex: none; }
.orousal-chat-compose.is-live .orousal-rec-dot { background: #e5484d; animation: orousal-rec 1.2s ease-in-out infinite; }
.orousal-rec-cancel, .orousal-rec-done { width: 40px; height: 40px; border-radius: 50%; flex: none; cursor: pointer; font-size: 19.5px; line-height: 1;
	display: flex; align-items: center; justify-content: center; }
.orousal-rec-cancel { background: transparent; border: 1px solid var(--o-line); color: var(--o-muted); }
.orousal-rec-done { border: 0; color: #fff; background: linear-gradient(180deg, var(--o-rose), var(--o-rose-deep)); }
.orousal-chat-compose.is-listening .orousal-chat-input { font-style: italic; }
@keyframes orousal-rec { 0%, 100% { box-shadow: 0 0 0 0 rgba(229, 72, 77, .55); } 50% { box-shadow: 0 0 0 7px rgba(229, 72, 77, 0); } }
@media (prefers-reduced-motion: reduce) { .orousal-chat-compose.is-live .orousal-rec-dot, .orousal-typing-dots i { animation: none; } }

/* Tap a message: time sent and reactions (0.9.0) */
.orousal-msg[data-id] { cursor: pointer; position: relative; -webkit-tap-highlight-color: transparent; }
.orousal-msg.has-react { margin-bottom: 10px; }
.orousal-react { position: absolute; bottom: -13px; font-size: 14px; line-height: 1; padding: 3px 5px; border-radius: 12px;
	background: var(--o-panel); border: 1px solid var(--o-line); box-shadow: 0 1px 3px rgba(0,0,0,.3); white-space: nowrap; }
.orousal-msg-her .orousal-react { right: -6px; }
.orousal-msg-me .orousal-react { right: -6px; }
.orousal-msg.has-react + .orousal-receipt { margin-top: 6px; }
.orousal-tray { display: flex; flex-direction: column; gap: 4px; align-items: flex-start; align-self: flex-start;
	animation: orousal-tray-in .15s ease-out; }
.orousal-tray.is-me { align-self: flex-end; align-items: flex-end; }
.orousal-msg.has-react + .orousal-tray { margin-top: 4px; }
.orousal-tray-emoji { display: flex; gap: 2px; padding: 4px; border-radius: 22px; background: var(--o-panel-2);
	border: 1px solid var(--o-line); box-shadow: 0 4px 14px rgba(0,0,0,.35); }
.orousal-tray-emoji button { width: 38px; height: 38px; border: 0; border-radius: 50%; background: none; font-size: 22px;
	line-height: 1; padding: 0; cursor: pointer; transition: transform .1s; }
.orousal-tray-emoji button:hover { transform: scale(1.15); }
.orousal-tray-emoji button.is-on { background: var(--o-line); }
.orousal-tray-time { font-size: 12px; color: var(--o-muted); padding: 0 6px; }
@keyframes orousal-tray-in { from { opacity: 0; transform: translateY(-4px); } to { opacity: 1; transform: none; } }

/* Chat unlocked line and read receipts (0.9.1) */
.orousal-chat-event { align-self: center; margin: 6px 0; padding: 4px 12px; border-radius: 12px; font-size: 13px; color: var(--o-muted);
	background: var(--o-panel-2); border: 1px solid var(--o-line); text-align: center; }
.orousal-receipt { align-self: flex-end; margin-top: -5px; padding-right: 4px; line-height: 0; color: var(--o-muted); transition: color .3s; }
.orousal-receipt.is-read { color: var(--o-rose); }


/* Get Credits page (0.10.1): three featured packs on top (bigger), four below, centered, with room around each */
.orousal-shop { font-family: var(--o-sans); color: var(--o-text); max-width: 980px; margin: 0 auto; }
/* Get Credits: the content in the same faint dark box as the dashboard and All Girls (Melissa, 2026-10-30) */
.orousal-shop { max-width: 1180px; background: var(--o-bg); padding: 20px 24px 40px; box-sizing: border-box; }
.orousal-shop > * { max-width: 980px; margin-left: auto; margin-right: auto; }
@media (max-width: 560px) { .orousal-shop { padding: 16px 14px 32px; } }
.orousal-shop-balance { text-align: center; margin: 0 0 28px; color: var(--o-muted); }
.orousal-shop-balance strong { color: var(--o-gold); }
.orousal-shop-row { display: flex; flex-wrap: wrap; justify-content: center; gap: 31px; }
.orousal-shop-row + .orousal-shop-row { margin-top: 40px; }
.orousal-shop-row-top .orousal-shop-pack { flex: 0 1 280px; padding: 34px 22px 22px; }
.orousal-shop-row-rest .orousal-shop-pack { flex: 0 1 200px; }
.orousal-shop-pack { box-sizing: border-box; position: relative; display: flex; flex-direction: column; align-items: center; gap: 4px;
	min-width: 0; padding: 24px 16px 16px; background: var(--o-panel); border: 1px solid var(--o-line); border-radius: var(--o-radius); text-align: center; }
.orousal-shop-pack.is-best { border-color: var(--o-gold-soft); box-shadow: 0 0 0 1px var(--o-gold-soft) inset, 0 10px 30px rgba(212, 174, 106, .12); }
.orousal-shop-ribbon { position: absolute; top: -11px; left: 50%; transform: translateX(-50%); padding: 3px 12px; border-radius: 11px;
	background: var(--o-gold); color: #1d0f16; font-size: 12px; font-weight: 600; letter-spacing: .04em; text-transform: uppercase; white-space: nowrap; }
.orousal-shop-credits { margin: 0; font: 600 32px/1.1 var(--o-serif); color: var(--o-gold); }
.orousal-shop-row-top .orousal-shop-credits { font-size: 44px; }
.orousal-shop-credits small { font: 500 14px var(--o-sans); color: var(--o-muted); }
.orousal-shop-price { margin: 8px 0 0; font-size: 21px; font-weight: 600; }
.orousal-shop-row-top .orousal-shop-price { font-size: 26px; }
.orousal-shop-per { margin: 0 0 16px; font-size: 13px; color: var(--o-muted); }
.orousal-shop .orousal-shop-get { box-sizing: border-box; display: block; width: 100%; margin: auto 0 0; text-align: center; }
.orousal-shop-note { margin: 32px 0 0; text-align: center; font-size: 14px; color: var(--o-muted); }
.orousal-shop-thanks { margin: 0 0 28px; padding: 22px; text-align: center; background: var(--o-panel); border: 1px solid var(--o-gold-soft); border-radius: var(--o-radius); }
.orousal-shop-thanks p { margin: 0 0 10px; }
.orousal-shop-thanks-big { font: 600 34px/1.2 var(--o-serif); color: var(--o-gold); }
/* Phones: the three featured packs one per line (full width), the other four two per line. */
@media (max-width: 640px) {
	.orousal-shop { padding: 0 16px; }
	.orousal-shop-row { gap: 23px; }
	.orousal-shop-row + .orousal-shop-row { margin-top: 32px; }
	.orousal-shop-row-top .orousal-shop-pack { flex: 1 1 100%; }
	.orousal-shop-row-rest .orousal-shop-pack { flex: 1 1 calc(50% - 9px); }
}


/* VIP: a gold banner across the top-right corner of her profile, with a slow shine (0.10.2) */
.orousal-hero.is-vip { position: relative; box-shadow: 0 0 0 1px var(--o-gold-soft) inset, 0 0 32px rgba(212, 174, 106, .18); }
.orousal-vip-corner { position: absolute; top: 0; right: 0; width: 170px; height: 170px; overflow: hidden; pointer-events: none; z-index: 3;
	border-top-right-radius: var(--o-radius); }
.orousal-vip-corner span { position: absolute; top: 34px; right: -52px; width: 230px; display: flex; align-items: center; justify-content: center; gap: 8px;
	padding: 9px 0; transform: rotate(45deg); color: #2a1408; font: 700 14px/1 var(--o-sans); letter-spacing: .18em; text-transform: uppercase;
	background: linear-gradient(110deg, #b8893f 0%, #f3d58f 30%, #fff4cf 45%, #f3d58f 60%, #b8893f 100%); background-size: 250% 100%;
	box-shadow: 0 4px 14px rgba(0, 0, 0, .45); animation: orousal-vip-shine 4s linear infinite; }
.orousal-vip-corner svg { width: 16px; height: 16px; }
.orousal-badge-vip { background: linear-gradient(110deg, #b8893f, #f3d58f, #b8893f); color: #2a1408; border-color: transparent; }
@keyframes orousal-vip-shine { from { background-position: 100% 0; } to { background-position: -150% 0; } }
@media (prefers-reduced-motion: reduce) { .orousal-vip-corner span { animation: none; } }
@media (max-width: 640px) {
	.orousal-vip-corner { width: 150px; height: 150px; }
	.orousal-vip-corner span { top: 30px; right: -62px; width: 240px; font-size: 12px; padding: 7px 0; }
}

/* Collections (Phase 7, 0.11.0): real covers, the one-time peek, teasers, unlock dialog, viewer */
.orousal-pack.has-cover .orousal-pack-cover { background: #1d0f16; filter: none; }
.orousal-pack-img, .orousal-pack-peek { position: absolute !important; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: 0 !important;
	-webkit-user-select: none; user-select: none; -webkit-touch-callout: none; }
.orousal-pack.has-cover .orousal-pack-cover::after { backdrop-filter: none; background: linear-gradient(180deg, rgba(0,0,0,.15) 0%, transparent 35%, rgba(0, 0, 0, .75)); z-index: 1; }
.orousal-pack.has-cover .orousal-pack-cover > :not(img) { z-index: 2; }
.orousal-pack-peek { opacity: 0; transition: opacity .5s ease; z-index: 1 !important; }
.orousal-pack-peek.is-on { opacity: 1; }
.orousal-pack[data-peek="yes"] .orousal-pack-cover, .orousal-pack[data-peek="login"] .orousal-pack-cover { cursor: pointer; }
.orousal-pack.is-owned .orousal-pack-cover { cursor: pointer; }
.orousal-peek-hint { position: absolute !important; top: 12px; left: 12px; padding: 4px 9px; border-radius: 12px; font: 600 11px/1.2 var(--o-sans);
	letter-spacing: .08em; text-transform: uppercase; color: #2a1408; background: rgba(243, 213, 143, .92); }
.orousal-peek-hint.is-used { color: var(--o-muted); background: rgba(0, 0, 0, .55); }
.orousal-peek-hint[hidden], .orousal-peek-hint.is-gone { display: none !important; }
.orousal-pack-teasers { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; padding: 10px 14px 0; }
.orousal-pack-teasers img { width: 100%; aspect-ratio: 9 / 16; object-fit: cover; border-radius: 6px; border: 1px solid var(--o-line); }
.orousal-pack.is-busy, .orousal-voice-row.is-busy { opacity: .6; pointer-events: none; }

.orousal-dialog-wrap { position: fixed; inset: 0; z-index: 100002; display: flex; align-items: center; justify-content: center; padding: 16px;
	background: rgba(0, 0, 0, .6); }
.orousal-dialog { width: 100%; max-width: 380px; padding: 22px; border-radius: 12px; background: #150b10; border: 1px solid #3a2029;
	color: #ecdfe2; font: 15px/1.5 "Inter", -apple-system, "Segoe UI", Roboto, sans-serif; box-shadow: 0 20px 50px rgba(0, 0, 0, .5); }
.orousal-dialog h3 { margin: 0 0 8px; font: 600 19.5px/1.3 "Cinzel", Georgia, serif; color: #d4ae6a; }
.orousal-dialog p { margin: 0 0 16px; color: #ecdfe2; }
.orousal-dialog.is-wide { max-width: 480px; }
.orousal-dialog-error { color: #f1a3b1 !important; font-size: 15px; }
.orousal-request-form { display: grid; gap: 16px; margin-bottom: 12px; text-align: left; }
.orousal-request-form label { display: grid; gap: 8px; color: #ecdfe2; font: 600 14px/1.3 "Inter", sans-serif; }
.orousal-request-form select, .orousal-request-form textarea { width: 100%; padding: 9px 12px; border-radius: 8px; border: 1px solid #3a2029;
	background: #0f080b; color: #ecdfe2; font: 400 15px/1.45 "Inter", sans-serif; }
.orousal-request-form .orousal-request-vip { display: flex; align-items: center; gap: 10px; font-weight: 500; color: #d4ae6a; }
.orousal-request-form .orousal-fineprint { text-align: left; margin: 0 !important; }
.orousal-dialog-buttons { display: flex; flex-wrap: wrap; gap: 13px; justify-content: flex-end; }

body.orousal-viewer-open { overflow: hidden; }
.orousal-viewer { position: fixed; inset: 0; z-index: 100001; display: flex; flex-direction: column; background: #080406;
	color: #ecdfe2; font: 15px/1.5 "Inter", -apple-system, "Segoe UI", Roboto, sans-serif; -webkit-user-select: none; user-select: none; }
.orousal-viewer-head { display: flex; align-items: center; gap: 16px; padding: 12px 16px; border-bottom: 1px solid #3a2029; }
.orousal-viewer-head h3 { flex: 1; min-width: 0; margin: 0; font: 600 18.5px/1.3 "Cinzel", Georgia, serif; color: #d4ae6a;
	white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.orousal-viewer-count { color: #a8939a; font-size: 14px; white-space: nowrap; }
.orousal-viewer-close { width: 40px; height: 40px; border: 0; border-radius: 50%; background: rgba(255, 255, 255, .08); color: #fff; font-size: 28px;
	line-height: 1; cursor: pointer; }
.orousal-viewer-stage { flex: 1; min-height: 0; display: flex; align-items: center; justify-content: center; gap: 16px; padding: 12px; }
.orousal-viewer-media { height: 100%; flex: 1; min-width: 0; display: flex; align-items: center; justify-content: center; position: relative; }
.orousal-viewer-mark { position: absolute; inset: 0; pointer-events: none; background-repeat: repeat; z-index: 2; }
.orousal-viewer-media img, .orousal-viewer-media video { max-width: 100%; max-height: 100%; border-radius: 8px; background: #000;
	-webkit-touch-callout: none; }
.orousal-viewer-nav { flex: none; width: 48px; height: 48px; border: 0; border-radius: 50%; background: rgba(255, 255, 255, .1); color: #fff;
	font-size: 32px; line-height: 1; cursor: pointer; }
.orousal-viewer-nav:disabled { opacity: .25; cursor: default; }
.orousal-viewer-nav[hidden] { display: none; }
.orousal-viewer-strip { display: flex; gap: 10px; padding: 10px 16px 16px; overflow-x: auto; justify-content: safe center; }
.orousal-viewer-thumb { position: relative; flex: none; width: 54px; aspect-ratio: 9 / 16; padding: 0; border: 2px solid transparent; border-radius: 6px;
	overflow: hidden; background: #1d0f16; cursor: pointer; }
.orousal-viewer-thumb.is-active { border-color: #d4ae6a; }
.orousal-viewer-thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }
.orousal-viewer-thumb-play { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; color: #fff; font-size: 15px;
	text-shadow: 0 1px 4px rgba(0, 0, 0, .8); }
.orousal-viewer-clips { list-style: none; margin: 0; padding: 0 16px; box-sizing: border-box; width: 100%; max-width: 520px; display: flex; flex-direction: column; gap: 16px; }
.orousal-viewer-clips li { display: flex; align-items: center; gap: 16px; padding: 10px 14px; border: 1px solid #3a2029; border-radius: 10px; background: #150b10; }
.orousal-viewer-clip-n { flex: none; width: 52px; color: #d4ae6a; font-weight: 600; }
.orousal-viewer-clips audio { flex: 1; min-width: 0; }
.orousal-viewer-empty { color: #a8939a; text-align: center; }
@media (max-width: 640px) {
	.orousal-viewer-stage { padding: 8px 0; gap: 0; }
	.orousal-viewer-nav { display: none; } /* swipe instead */
	.orousal-viewer-media img, .orousal-viewer-media video { border-radius: 0; }
	.orousal-pack-teasers { padding: 8px 10px 0; gap: 4px; }
}

/* Floating credit balance (members, profile + browse pages) */
.orousal-balance { position: fixed; z-index: 99990; top: calc(var(--wp-admin--admin-bar--height, 0px) + 14px); right: 14px;
	display: inline-flex; align-items: center; gap: 10px; padding: 7px 8px 7px 14px; border-radius: 999px;
	background: rgba(20, 8, 14, .92); border: 1px solid #d4ae6a; box-shadow: 0 4px 16px rgba(0, 0, 0, .45);
	color: #d4ae6a !important; text-decoration: none !important; font: 600 14px/1 "Inter", -apple-system, "Segoe UI", sans-serif; letter-spacing: .02em; }
.orousal-balance[hidden] { display: none; }
.orousal-balance-add { width: 22px; height: 22px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center;
	background: linear-gradient(180deg, #e0657b, #b8405a); color: #fff; font-size: 17.5px; line-height: 1; }
.orousal-balance:hover { background: #1a0b12; border-color: #f0d08a; }
body.orousal-viewer-open .orousal-balance, body.orousal-chat-is-open .orousal-balance { display: none; }
@media (max-width: 560px) {
	.orousal-balance { top: auto; bottom: calc(14px + env(safe-area-inset-bottom, 0px)); right: auto; left: 14px; }
}

/* Screenshot shield: private photos and videos blur when the page loses focus or a screenshot key is pressed */
.orousal-shielded .orousal-viewer-media img, .orousal-shielded .orousal-viewer-media video,
.orousal-shielded .orousal-viewer-strip img, .orousal-shielded .orousal-pack-peek { filter: blur(40px) !important; }
.orousal-shield-note { position: fixed; z-index: 100002; left: 50%; top: 50%; transform: translate(-50%, -50%); padding: 14px 22px; border-radius: 10px;
	background: rgba(20, 8, 14, .95); border: 1px solid #d4ae6a; color: #fff; font: 600 16.5px/1.4 "Inter", sans-serif; text-align: center; }
.orousal-shield-note[hidden] { display: none; }
@media print {
	.orousal-viewer, .orousal-pack-peek, .orousal-pack.is-owned .orousal-pack-img { display: none !important; }
}

/* "Online" with a gold dot: the girls are always available (Melissa, 2026-10-30) */
.orousal-online { display: inline-flex; align-items: center; gap: 8px; font-size: 13px; color: var(--o-text, #ecdfe2); }
.orousal-online-dot { width: 8px; height: 8px; border-radius: 50%; background: var(--o-gold, #d4ae6a);
	box-shadow: 0 0 0 3px rgba(212, 174, 106, .18); display: inline-block; flex: none; }
.orousal-badges .orousal-online { font-size: 14px; }
.orousal-history-note { display: flex; align-items: center; justify-content: center; gap: 8px; margin-top: 8px !important; color: var(--o-gold);
	font-size: 14px; text-align: center; }
.orousal-history-note .orousal-icon { width: 15px; height: 15px; }

/* All Girls / browse pages: "← My dashboard" on the left, his credits on the right, inside the box */
.orousal-back-row-split { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.orousal-balance.is-inline { position: static; box-shadow: none; }
@media (max-width: 560px) { .orousal-balance.is-inline { position: static; top: auto; bottom: auto; left: auto; right: auto; } }

/* Notification pop-ups (she said yes / she made it) */
.orousal-toasts { position: fixed; z-index: 100003; right: 16px; bottom: 16px; display: flex; flex-direction: column; gap: 13px; max-width: min(380px, calc(100vw - 32px)); }
.orousal-toast { position: relative; display: grid; grid-template-columns: 1fr auto; gap: 13px 16px; align-items: center; padding: 14px 34px 14px 16px;
	border-radius: 12px; background: #150b10; border: 1px solid #b8935a; color: #ecdfe2; box-shadow: 0 10px 34px rgba(0, 0, 0, .55), 0 0 0 1px rgba(212, 174, 106, .15);
	font: 400 15px/1.4 "Inter", -apple-system, sans-serif; animation: orousal-toast-in .45s ease both; }
.orousal-toast.is-request_delivered { border-color: #d4ae6a; background: linear-gradient(135deg, rgba(212, 174, 106, .16), rgba(184, 64, 90, .18)), #150b10;
	box-shadow: 0 10px 34px rgba(0, 0, 0, .55), 0 0 22px rgba(212, 174, 106, .35); }
.orousal-toast-text { display: flex; flex-direction: column; gap: 3px; min-width: 0; }
.orousal-toast-text strong { color: #d4ae6a; font: 600 16.5px/1.3 "Cinzel", Georgia, serif; letter-spacing: .03em; }
.orousal-toast-text span { color: #d9c9cd; font-size: 14px; }
.orousal-toast-go { padding: 9px 14px; border-radius: 8px; background: linear-gradient(180deg, #e0657b, #b8405a); color: #fff !important; text-decoration: none !important;
	font: 600 12px/1 "Inter", sans-serif; letter-spacing: .08em; text-transform: uppercase; white-space: nowrap; }
.orousal-toast-x { position: absolute; top: 6px; right: 8px; border: 0; background: none; color: #a8939a; font-size: 21px; line-height: 1; cursor: pointer; padding: 2px 4px; }
@keyframes orousal-toast-in { from { opacity: 0; transform: translateY(16px) scale(.97); } to { opacity: 1; transform: none; } }
@media (max-width: 560px) { .orousal-toasts { left: 16px; right: 16px; bottom: auto; top: calc(var(--wp-admin--admin-bar--height, 0px) + 12px); max-width: none; } }
@media (prefers-reduced-motion: reduce) { .orousal-toast { animation: none; } }
body.orousal-viewer-open .orousal-toasts, body.orousal-chat-is-open .orousal-toasts { display: none; }

/* "Made just for you": his delivered custom requests, on her profile, for him only */
.orousal-customs { border-color: var(--o-gold-soft); background: radial-gradient(ellipse at 50% 0%, rgba(212, 174, 106, .14), transparent 60%), var(--o-panel); }
.orousal-customs-sub { text-align: center; color: var(--o-muted); font-size: 14px; margin: -6px 0 16px !important; }
.orousal-pack.is-custom { border-color: var(--o-gold); box-shadow: 0 0 18px rgba(212, 174, 106, .22); }

/* Credits added: "+2" pops up beside the balance while the number rolls up (Melissa, 2026-10-30) */
.orousal-credit-pop { position: fixed; z-index: 100003; pointer-events: none; padding: 6px 12px; border-radius: 999px;
	background: linear-gradient(180deg, #e9c983, #d4ae6a); color: #1a0b12; font: 700 16.5px/1 "Inter", -apple-system, "Segoe UI", sans-serif;
	box-shadow: 0 6px 20px rgba(212, 174, 106, .45); animation: orousal-credit-pop 2.6s ease-out forwards; }
.orousal-credit-pop.is-above { animation-name: orousal-credit-pop-up; }
@keyframes orousal-credit-pop { 0% { opacity: 0; transform: translateY(-6px) scale(.7); } 12% { opacity: 1; transform: translateY(0) scale(1.08); }
	20% { transform: scale(1); } 75% { opacity: 1; } 100% { opacity: 0; transform: translateY(8px); } }
@keyframes orousal-credit-pop-up { 0% { opacity: 0; transform: translateY(6px) scale(.7); } 12% { opacity: 1; transform: translateY(0) scale(1.08); }
	20% { transform: scale(1); } 75% { opacity: 1; } 100% { opacity: 0; transform: translateY(-8px); } }
.orousal-credits-glow { box-shadow: 0 0 0 3px rgba(212, 174, 106, .35), 0 0 22px rgba(212, 174, 106, .5) !important; transition: box-shadow .3s; }
@media (prefers-reduced-motion: reduce) { .orousal-credit-pop, .orousal-credit-pop.is-above { animation: none; } }

/* Connect directly: a phone showing what her chat looks like, until he has used it (Melissa, 2026-10-30).
   Text centered beside the phone, starting near the top; the phone goes away while the chat is open. */
.orousal-connect.has-phone { display: grid; grid-template-columns: minmax(0, 1fr) 270px; gap: 42px; align-items: start; }
.orousal-connect.has-phone .orousal-phone { grid-column: 2; grid-row: 1; }
.orousal-connect.has-phone .orousal-connect-body { grid-column: 1; grid-row: 1; min-width: 0; padding-top: 28px; }
.orousal-connect .orousal-heading-large { margin-bottom: 18px !important; }
.orousal-connect .orousal-lede { margin-bottom: 30px !important; }
.orousal-connect .orousal-features { margin-top: 0; row-gap: 34px; margin-bottom: 28px; }
body.orousal-chat-is-open .orousal-connect.has-phone { display: block; }
body.orousal-chat-is-open .orousal-connect .orousal-phone { display: none; }
body.orousal-chat-is-open .orousal-connect .orousal-connect-body { padding-top: 0; }
.orousal-phone { all: unset; box-sizing: border-box; cursor: pointer; display: flex; flex-direction: column; align-items: center; gap: 16px; justify-self: center;
	font-family: var(--o-sans); -webkit-tap-highlight-color: transparent; }
.orousal-phone-screen { position: relative; display: flex; flex-direction: column; width: 250px; height: 510px; padding: 40px 12px 12px;
	box-sizing: border-box; border-radius: 40px; background: linear-gradient(180deg, #1c0d14, #0e0609);
	border: 9px solid #18151a; box-shadow: 0 0 0 1px #3a3238, 0 0 0 2px #0b090b, 0 24px 50px rgba(0, 0, 0, .6), 0 0 60px rgba(184, 64, 90, .18);
	transition: transform .25s ease, box-shadow .25s ease; overflow: hidden; }
.orousal-phone:hover .orousal-phone-screen, .orousal-phone:focus-visible .orousal-phone-screen { transform: translateY(-4px);
	box-shadow: 0 0 0 1px #d4ae6a, 0 0 0 2px #0b090b, 0 30px 60px rgba(0, 0, 0, .6), 0 0 70px rgba(212, 174, 106, .22); }
.orousal-phone-island { position: absolute; top: 10px; left: 50%; transform: translateX(-50%); width: 78px; height: 22px; border-radius: 999px; background: #000; }
.orousal-phone-head { display: flex; align-items: center; gap: 13px; padding: 0 4px 10px; border-bottom: 1px solid rgba(212, 174, 106, .18); }
.orousal-phone-avatar { width: 36px; height: 36px; border-radius: 50%; overflow: hidden; flex: none; border: 1px solid var(--o-gold-soft); background: var(--o-panel-2); }
.orousal-phone-avatar img { width: 100%; height: 100%; object-fit: cover; display: block; }
.orousal-phone-who { display: flex; flex-direction: column; gap: 2px; text-align: left; }
.orousal-phone-who strong { color: var(--o-text); font-size: 15px; }
.orousal-phone-who .orousal-online { font-size: 12px; }
.orousal-phone-chat { flex: 1; display: flex; flex-direction: column; justify-content: flex-end; gap: 10px; padding: 12px 2px; }
.orousal-bubble { max-width: 82%; padding: 8px 11px; border-radius: 14px; font-size: 13.5px; line-height: 1.4; text-align: left; }
.orousal-bubble.is-her { align-self: flex-start; background: #2a1820; color: var(--o-text); border-bottom-left-radius: 4px; }
.orousal-bubble.is-him { align-self: flex-end; background: linear-gradient(180deg, #e0657b, #b8405a); color: #fff; border-bottom-right-radius: 4px; }
.orousal-bubble.is-voice { display: flex; align-items: center; gap: 10px; width: 82%; box-sizing: border-box; }
.orousal-bubble.is-voice .orousal-wave { flex: 1; height: 18px; }
.orousal-phone-play { width: 22px; height: 22px; border-radius: 50%; flex: none; display: inline-flex; align-items: center; justify-content: center;
	background: var(--o-gold); color: #1a0b12; font-size: 10px; padding-left: 2px; box-sizing: border-box; }
.orousal-phone-len { font-size: 11px; color: var(--o-muted); }
.orousal-phone-typing { align-self: flex-start; display: inline-flex; gap: 4px; padding: 9px 12px; border-radius: 14px; background: #2a1820; }
.orousal-phone-typing i { width: 5px; height: 5px; border-radius: 50%; background: var(--o-muted); animation: orousal-typing 1.2s infinite ease-in-out; }
.orousal-phone-typing i:nth-child(2) { animation-delay: .15s; } .orousal-phone-typing i:nth-child(3) { animation-delay: .3s; }
@keyframes orousal-typing { 0%, 60%, 100% { opacity: .35; transform: none; } 30% { opacity: 1; transform: translateY(-3px); } }
@media (prefers-reduced-motion: reduce) { .orousal-phone-typing i { animation: none; } }
.orousal-phone-input { display: flex; align-items: center; justify-content: space-between; padding: 6px 6px 6px 14px; border-radius: 999px;
	background: #1f1218; border: 1px solid rgba(212, 174, 106, .2); color: var(--o-muted); font-size: 13px; }
.orousal-phone-mic { width: 28px; height: 28px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center;
	background: linear-gradient(180deg, #e0657b, #b8405a); color: #fff; }
.orousal-phone-mic .orousal-icon { width: 14px; height: 14px; }
.orousal-phone-cta { display: inline-flex; align-items: center; gap: 8px; color: var(--o-gold); font-size: 14px; font-weight: 600; }
.orousal-phone-cta .orousal-icon { width: 15px; height: 15px; }
@media (max-width: 760px) {
	.orousal-connect.has-phone { grid-template-columns: 1fr; gap: 31px; }
	.orousal-connect.has-phone .orousal-connect-body { padding-top: 0; }
	.orousal-connect.has-phone .orousal-phone { grid-column: 1; grid-row: 2; }
	.orousal-connect.has-phone .orousal-connect-body { grid-column: 1; grid-row: 1; }
	.orousal-phone-screen { width: 230px; height: 480px; }
}

/* Get to know her: About me (relationship status + bars) and My favorites (her little things and
   flags, a few per slide, swiped sideways) as tabs, in the same space (Melissa, 2026-10-30). */
.orousal-tabs { display: flex; gap: 8px; margin: 4px 0 16px; border-bottom: 1px solid var(--o-line); }
.orousal-tabs button { all: unset; cursor: pointer; padding: 8px 14px; margin-bottom: -1px; border: 1px solid transparent; border-radius: 6px 6px 0 0;
	font: 600 12px var(--o-sans); letter-spacing: .12em; text-transform: uppercase; color: var(--o-muted); }
.orousal-tabs button:hover { color: var(--o-text); }
.orousal-tabs button.is-active { color: var(--o-gold); border-color: var(--o-line); border-bottom-color: var(--o-panel); background: rgba(212, 174, 106, .06); }
.orousal-tabs button:focus-visible { outline: 2px solid var(--o-gold); outline-offset: 2px; }
/* Both tabs share one spot, so switching never changes the section's height. */
.orousal-tab-panels { display: grid; }
.orousal-tab-panel { grid-area: 1 / 1; min-width: 0; visibility: hidden; opacity: 0; transition: opacity .2s; }
.orousal-tab-panel.is-active { visibility: visible; opacity: 1; }
.orousal-status { margin-bottom: 16px; }
.orousal-favs { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; -webkit-overflow-scrolling: touch; overscroll-behavior-x: contain; }
.orousal-favs::-webkit-scrollbar { display: none; }
.orousal-fav-slide { flex: 0 0 100%; scroll-snap-align: start; display: flex; flex-direction: column; gap: 13px; margin: 0; box-sizing: border-box; }
.orousal-fav-slide .orousal-fact { padding: 10px 14px; }
.orousal-fav-slide .orousal-flag { text-align: left; }
.orousal-favs-nav { display: flex; align-items: center; justify-content: center; gap: 16px; margin-top: 12px; }
.orousal-favs-arrow { all: unset; cursor: pointer; width: 28px; height: 28px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center;
	border: 1px solid var(--o-gold-soft); color: var(--o-gold); font-size: 19.5px; line-height: 1; }
.orousal-favs-arrow:hover { background: rgba(212, 174, 106, .1); }
.orousal-favs-arrow:disabled { opacity: .3; cursor: default; }
.orousal-favs-dots { display: inline-flex; gap: 8px; }
.orousal-favs-dots button { all: unset; cursor: pointer; width: 7px; height: 7px; border-radius: 50%; background: var(--o-line); }
.orousal-favs-dots button.is-active { background: var(--o-gold); }

/* The Orousal Gift Store (Phase 10): the Store page and "Send her a gift" on her profile */
.orousal-gift-row { display: flex; flex-direction: column; align-items: center; gap: 10px; margin-top: 14px; padding-top: 14px; border-top: 1px solid var(--o-line); }
.orousal-gift-row .orousal-icon { width: 17px; height: 17px; }
.orousal-store-lede { text-align: center; margin: 6px auto 22px !important; }
.orousal-store-balance { display: inline-flex; align-items: center; gap: 10px; padding: 7px 8px 7px 14px; border-radius: 999px; border: 1px solid #d4ae6a;
	color: #d4ae6a !important; text-decoration: none !important; font: 600 14px/1 var(--o-sans); }
.orousal-store-balance b { width: 22px; height: 22px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center;
	background: linear-gradient(180deg, #e0657b, #b8405a); color: #fff; font-size: 17.5px; }
.orousal-store-loading, .orousal-store-empty { text-align: center; color: var(--o-muted); }
.orousal-store-chips { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; margin: 0 0 18px; }
.orousal-store-chip { all: unset; cursor: pointer; padding: 7px 16px; border-radius: 999px; border: 1px solid var(--o-gold-soft); color: var(--o-gold);
	font: 600 13px var(--o-sans); letter-spacing: .08em; text-transform: uppercase; }
.orousal-store-chip:hover { background: rgba(212, 174, 106, .08); }
.orousal-store-chip.is-active { background: var(--o-gold); color: #1a0b12; }
.orousal-store-chip:focus-visible { outline: 2px solid var(--o-gold); outline-offset: 2px; }
.orousal-store-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(210px, 1fr)); gap: 21px; }
.orousal-store-item { display: flex; flex-direction: column; border: 1px solid var(--o-line); border-radius: var(--o-radius); overflow: hidden;
	background: var(--o-panel); transition: border-color .2s, transform .2s; }
.orousal-store-item[hidden] { display: none; }
.orousal-store-item:hover { border-color: var(--o-gold-soft); transform: translateY(-2px); }
.orousal-store-item.is-wish { border-color: rgba(224, 101, 123, .5); }
.orousal-store-pic { position: relative; aspect-ratio: 1 / 1; background: var(--o-panel-2); }
.orousal-store-pic img { width: 100%; height: 100%; object-fit: cover; display: block; }
.orousal-store-pic-blank { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; font-size: 48px; opacity: .6; }
.orousal-store-wish { position: absolute; left: 8px; top: 8px; padding: 4px 10px; border-radius: 999px; background: linear-gradient(180deg, #e0657b, #b8405a);
	color: #fff; font: 600 12px var(--o-sans); }
.orousal-store-text { flex: 1; display: flex; flex-direction: column; gap: 4px; padding: 12px 14px 14px; }
.orousal-store-text small { color: var(--o-gold); font: 600 11px var(--o-sans); letter-spacing: .14em; text-transform: uppercase; }
.orousal-store-text strong { color: var(--o-text); font-size: 16.5px; }
.orousal-store-text p { margin: 0 !important; color: var(--o-muted); font-size: 14px; line-height: 1.45; }
.orousal-store-foot { margin-top: auto; padding-top: 10px; display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.orousal-store-price { color: var(--o-gold); font-weight: 600; font-size: 15px; white-space: nowrap; }
.orousal-store-foot .orousal-button { padding: 8px 16px; }
.orousal-store-dialog { max-width: 820px !important; width: calc(100vw - 32px); max-height: calc(100vh - 40px); overflow-y: auto; }
.orousal-store-dialog .orousal-store-grid { grid-template-columns: repeat(auto-fill, minmax(170px, 1fr)); gap: 16px; }
.orousal-store-dialog .orousal-link { display: inline-block; margin-top: 14px; }
.orousal-store-pick select { width: 100%; padding: 10px; border-radius: 8px; background: var(--o-panel-2); color: var(--o-text); border: 1px solid var(--o-line); }
@media (max-width: 560px) {
	.orousal-store-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 13px; }
	.orousal-store-foot { flex-direction: column; align-items: stretch; }
}

/* 🎁 Free credits from Orousal: the celebration (Melissa, 2026-10-31) */
.orousal-confetti { position: fixed; inset: 0; z-index: 100010; pointer-events: none; }
.orousal-celebrate-wrap { z-index: 100008; }
.orousal-celebrate { max-width: 400px !important; text-align: center; border-color: #d4ae6a !important;
	box-shadow: 0 0 0 1px rgba(212, 174, 106, .3), 0 24px 60px rgba(0, 0, 0, .7), 0 0 60px rgba(212, 174, 106, .25) !important;
	animation: orousal-celebrate-in .45s cubic-bezier(.2, 1.4, .4, 1); }
.orousal-celebrate h3 { font-size: 21px !important; }
.orousal-celebrate-gift { font-size: 57px; line-height: 1; margin: 0 0 6px; animation: orousal-gift-bounce 1.2s ease-out; }
.orousal-celebrate-amount { font: 700 48px/1.1 "Cinzel", Georgia, serif; color: #f0d08a; margin: 4px 0 10px;
	text-shadow: 0 0 24px rgba(212, 174, 106, .55); }
.orousal-celebrate-note { color: #ecdfe2 !important; font-size: 16.5px; font-style: italic; }
.orousal-celebrate .orousal-dialog-buttons { justify-content: center; }
@keyframes orousal-celebrate-in { from { opacity: 0; transform: scale(.7); } to { opacity: 1; transform: none; } }
@keyframes orousal-gift-bounce { 0% { transform: scale(.4) rotate(-12deg); } 45% { transform: scale(1.25) rotate(8deg); } 70% { transform: scale(.95) rotate(-3deg); } 100% { transform: none; } }
@media (prefers-reduced-motion: reduce) { .orousal-celebrate, .orousal-celebrate-gift { animation: none; } }

/* Members-only prompt (Melissa, 2026-10-31) */
.orousal-members-box { max-width: 400px !important; text-align: center; border-color: #d4ae6a !important; }
.orousal-members-icon { font-size: 42px; line-height: 1; margin-bottom: 6px; }
.orousal-members-list { list-style: none; margin: 0 0 12px; padding: 0; text-align: left; display: inline-block; }
.orousal-members-list li { margin: 4px 0; color: #ecdfe2; padding-left: 22px; position: relative; }
.orousal-members-list li::before { content: "✓"; position: absolute; left: 0; color: #d4ae6a; font-weight: 700; }
.orousal-members-small { color: #a8939a !important; font-size: 14px; }
.orousal-members-box .orousal-dialog-buttons { justify-content: center; }
.orousal-verify { text-align: center; padding: 40px 24px 60px; }
.orousal-verify-text { margin: 10px auto 22px !important; text-align: center; }
.orousal-verify-actions { justify-content: center; }

/* "She can use any gift you send her in your customs" (Melissa, 2026-10-31): the reason to send one */
.orousal-gift-perk { margin: 0 auto 16px !important; max-width: 620px; padding: 10px 14px; border-radius: 10px; text-align: center;
	background: rgba(212, 174, 106, .1); border: 1px solid rgba(212, 174, 106, .35); color: #ecdfe2; font-size: 15px; line-height: 1.5; }
.orousal-gift-perk strong { color: #f0d08a; font-weight: 600; }
.orousal-gift-row .orousal-gift-perk { margin: 4px 0 2px !important; font-size: 14px; padding: 8px 12px; }
.orousal-store-dialog .orousal-gift-perk { margin: 0 0 14px !important; max-width: none; }

/* Tip button at the top right of her profile, and the tip box as a pop-up (Melissa, 2026-10-31) */
.orousal-tip-pill { all: unset; box-sizing: border-box; cursor: pointer; display: inline-flex; align-items: center; gap: 9px; padding: 8px 16px; border-radius: 999px;
	background: linear-gradient(180deg, #e0657b, #b8405a); color: #fff; font: 700 13px var(--o-sans); letter-spacing: .1em; text-transform: uppercase;
	box-shadow: 0 6px 18px rgba(184, 64, 90, .35); transition: transform .15s, filter .15s; }
.orousal-tip-pill:hover { transform: translateY(-1px); filter: brightness(1.08); }
.orousal-tip-pill:focus-visible { outline: 2px solid var(--o-gold); outline-offset: 3px; }
.orousal-tip-pill .orousal-icon { width: 15px; height: 15px; }
.orousal-tip-dialog { position: relative; max-width: 420px !important; }
.orousal-tip-dialog .orousal-tip-sheet { display: flex; flex-direction: column; align-items: center; gap: 16px; text-align: center; }
.orousal-tip-dialog .orousal-tip-sheet h3 { margin: 0 !important; }
.orousal-tip-sheet > p { color: #cdbcc1; font-size: 15px; margin: 0 !important; }
.orousal-tip-close { position: absolute; top: 8px; right: 12px; border: 0; background: none; color: #a8939a; font-size: 26px; line-height: 1; cursor: pointer; }
.orousal-offer-gift .orousal-gift-perk { margin: 0 !important; }
.orousal-tip-sheet[hidden] { display: none !important; }

/* ---------------------------------------------------------------------------
   Readability (Melissa, 2026-11-01): bigger text, more air between lines,
   paragraphs and boxes (especially on phones), and less empty space beside
   tall photos. Sizes and gaps above were scaled up together; these finish it.
   --------------------------------------------------------------------------- */
.orousal-profile, .orousal-shop, .orousal-dialog-wrap { line-height: 1.7; }
.orousal-profile p + p, .orousal-shop p + p, .orousal-dialog p + p, .orousal-bio p + p { margin-top: .85em; }
.orousal-bio p { margin-bottom: .85em; line-height: 1.75; }
.orousal-panel { padding: 28px; margin-top: 26px; }
.orousal-heading { margin-bottom: 22px !important; }
/* Her profile: the words beside her photo use the photo's full height instead of bunching at the top. */
/* When the words run longer than the photo (e.g. her chat open makes the page narrower), the photo stays
   at the top instead of sitting in the middle with a gap above it (2026-11-02). */
@media (min-width: 861px) {
	.orousal-hero { align-items: start; }
	.orousal-hero-text { align-self: center; }
	.orousal-hero-text { padding-top: 20px; padding-bottom: 20px; }
}
@media (max-width: 860px) {
	.orousal-panel { padding: 22px 18px; margin-top: 22px; }
	.orousal-hero-text { padding: 16px 8px 10px; }
	.orousal-card-grid { gap: 18px; }
	.orousal-name { font-size: clamp(24px, 7.2vw, 44px); }
}

/* The small AI note under the chat's message box. */
.orousal-chat-ainote { margin: 0 !important; padding: 0 14px 8px; text-align: center; font-size: 11px !important; line-height: 1.4; color: var(--o-muted); opacity: .75; }

/* Under the chat-time buttons: how the time works. */
.orousal-chat-lock-note { margin: 10px 0 0 !important; font-size: 12.5px; color: var(--o-muted); line-height: 1.5; }

/* Batch 2026-11-02 */
/* Verified badge (gold, like Instagram's check) next to her name. */
.orousal-verified { display: inline-flex; vertical-align: -0.12em; margin-left: .3em; color: var(--o-gold, #d4ae6a); }
.orousal-verified svg { width: .82em; height: .82em; min-width: 14px; min-height: 14px; }
.orousal-name .orousal-verified svg { width: .62em; height: .62em; }
/* "Pause anytime": the price and how-it-works note shows on hover or tap. */
.orousal-has-tip { position: relative; cursor: help; outline: none; }
.orousal-tip { position: absolute; left: 50%; bottom: calc(100% + 10px); transform: translateX(-50%); z-index: 20; width: max-content; max-width: 260px;
	padding: 10px 12px; border: 1px solid var(--o-gold-soft); border-radius: 8px; background: #1d0f16; color: var(--o-text) !important; font-size: 13.5px; line-height: 1.5;
	text-align: left; box-shadow: 0 10px 24px rgba(0, 0, 0, .5); opacity: 0; visibility: hidden; transition: opacity .15s; pointer-events: none; }
.orousal-has-tip:hover .orousal-tip, .orousal-has-tip:focus .orousal-tip, .orousal-has-tip:focus-within .orousal-tip { opacity: 1; visibility: visible; }

/* Reviews: the note that approved reviews earn credits (FTC disclosure, 2026-11-02) */
.orousal-review-note { margin: 14px 0 0; text-align: center; font-size: 13px; color: var(--o-muted); }

/* Gift Store for paying members only (2026-11-02) */
.orousal-store-lock { max-width: 620px; margin: 26px auto 0; text-align: center; }
.orousal-store-lock h3 { font: 600 22px/1.3 var(--o-serif); color: var(--o-gold); margin: 0 0 10px !important; }
.orousal-store-lock .orousal-actions { justify-content: center; }

/* Her tagline on the All Girls cards (Melissa, 2026-11-02): up to two lines, so the cards stay even. */
.orousal-card-tagline { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; min-height: 2.8em;
	margin: 2px 0 4px; font: italic 500 15px/1.4 var(--o-sans); color: var(--o-gold); }
@media (max-width: 600px) { .orousal-card-grid-browse .orousal-card-tagline { font-size: 16px; min-height: 0; } }
