/* /css/styles.css */
/* ============================================== */
/* IMPORTS */
/* ============================================== */

/* ============================================== */
/* RESET CSS */
/* ============================================== */

html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed, 
figure, figcaption, footer, header, hgroup, 
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	font: inherit;
	vertical-align: baseline;
}
/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section {
	display: block;
}
body {
	line-height: 1;
}
ol, ul {
	list-style: none;
}
blockquote, q {
	quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
	content: '';
	content: none;
}
table {
	border-collapse: collapse;
	border-spacing: 0;
}

/* -------------------------------------------------- */
/* VARIABLES */
/* -------------------------------------------------- */

:root {
    --bg-color-primary: #000000;
    --bg-color-secondary: #1a1a1a;
    --bg-color-tertiary: #2b2b2b;
    --bg-color-quaternary: #3d3d3d;
    --bg-color-quinary: #4d4d4d;

    --text-color-primary: #ffffff;
    --text-color-secondary: #eeeeee;

    --default-color-primary: #0188E0;
    --default-color-secondary: #FF0063;
}

.single-line {
    white-space: nowrap;
}

.no-click {
    pointer-events: none;
}

.hidden {
    display: none !important;
}

.censored{
    filter:blur(25px);
}

.censored-wrapper {
    position: relative;
    width: 100%;
    height: 100%;
}

.blur-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    z-index: 2;
    background-color: rgba(0, 0, 0, 0.0);
    gap: 0.5em;
}

.blur-overlay-profile {
    width: calc(25vw + (0.2em * 2));
    max-width: 175px;
    background-color: var(--default-color-primary) !important;
    border-radius: 100%;
    aspect-ratio: 1/1;
}

.blur-overlay-mini {
    width: 75%;
    background-color: var(--default-color-primary) !important;
    left: 12.5%;
    aspect-ratio: 1/1;
    top: 12.5%;
}

/* ============================================== */
/* BASE */
/* ============================================== */

body, header, main, footer {
    box-sizing: border-box;
}

html,
body {
    overflow-x: hidden;
}

html {
    background-color: var(--bg-color-primary);
    font-family: 'Montserrat', sans-serif;
    background-color: var(--bg-color-primary);
    color: var(--text-color-primary);
}

body {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    min-height: calc(100dvh - (7dvh + 1px));
    margin-bottom: calc(7dvh + 1px);
}

main {
    padding-top: calc(7dvh + 1px);
}

h1, h2, h3 {
    font-weight: 600;
}

h1 {
    font-size: 3em;
    color: var(--text-color-primary);
}

h2 {
    font-size: 1.5em;
}

h2 span {
    font-size: clamp(16px, 1vw, 24px);
}

h3 {
    font-size: 1.2em;
}

p {
    font-size: 1em;
    color: #8a8a8a;
}

a {
    text-decoration: none;
}

a i,
a span {
    color: var(--text-color-primary);
}

ol li {
    display: inline;
}

ol li a {
    color: var(--text-color-primary);
    text-decoration: underline;
    line-height: 1.5em;
}

/* ============================================== */
/* MEDIA QUERIES */
/* ============================================== */

@media (max-width: 768px) {
    .hide-mobile {
        display: none !important;
    }
}

@media (min-width: 769px) {
    .hide-desktop {
        display: none !important;
    }
}

/* ============================================== */
/* HR */
/* ============================================== */

.flex-hr {
    width: 100%;
    height: 1px;
    border: none;
}

.flex-hr-text-primary {
    background-color: var(--text-color-primary);
}

.flex-hr-text-secondary {
    background-color: var(--text-color-secondary);
}

.flex-hr-primary {
    background-color: var(--default-color-primary);
}

.flex-hr-secondary {
    background-color: var(--default-color-secondary);
}

/* ============================================== */
/* FLEX */
/* ============================================== */

.flex-main {
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    margin: 2em 0;
}

.row {
    display: flex;
    flex-direction: row;
}

.column {
    display: flex;
    flex-direction: column;
}

.flex-grid-responsive-2-4 {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(clamp(100px, 3vw, 280px), 1fr));
  gap: 1.5rem; 
  width: 100%;
  margin: 0 auto;
  padding: 1rem;
  box-sizing: border-box;
}

.flex-grid-2 {
    display: grid;
    grid-template-columns: repeat(
        auto-fit,
        minmax(300px, 1fr)
    );
    gap: 2em;
}

.flex-grid-phone-2 {
    display: grid;
    grid-template-columns: 1fr 1fr;
}

@media (max-width: 768px) {
    .flex-grid-phone-2 {
        padding: 1em 0;
        display: grid;
        grid-template-columns: auto;
        align-items: center;
        gap: 0.5em;
    }
}

.grid-2 {
    display: grid;
    grid-template-columns: 1fr 1fr;
    width: 100%;
    gap: 2em;
}

.grid-3 {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    width: 100%;
    gap: 0.5em;
}

.flex-center {
    justify-content: center;
    align-items: center;
}

.flex-left {
    justify-content: flex-start;
    align-items: left;
}

/* ============================================== */
/* Z INDEX */
/* ============================================== */

.z-index-5 {
    z-index: 5;
}

/* ============================================== */
/* JUSTIFY CONTENT */
/* ============================================== */

.flex-justify-content-sb {
    justify-content: space-between;
}

/* ============================================== */
/* LIMITADORES */
/* ============================================== */

.limit-width {
    width: 90%;
    max-width: 1200px;
}

.limit-width-vw {
    max-width: min(100vw, 1200px);
}

/* ============================================== */
/* DIMENSÕES */
/* ============================================== */

.width-100 {
    width: 100%;
}

.width-90 {
    width: 90%;
}

.width-50 {
    width: 50%;
}

.width-30 {
    width: 30%;
}

/* ============================================== */
/* ESPAÇADORES */
/* ============================================== */

.flex-gap-0--25 {
    gap: 0.25em;
}

.flex-gap-0--5 {
    gap: 0.5em;
}

.flex-gap-1 {
    gap: 1em;
}

.flex-gap-1--5 {
    gap: 1.5em;
}

.flex-gap-2 {
    gap: 2em;
}

.flex-gap-3 {
    gap: 3em;
}

/* ============================================== */
/* INPUTS */
/* ============================================== */

input[type="email"],
input[type="password"],
input[type="number"],
input[type="text"],
input[type="tel"],
input[type="date"],
input[type="time"] {
    background-color: var(--bg-color-primary);
    color: var(--text-color-primary);
    border: solid 1px var(--text-color-primary);
    border-radius: 0.5em;
    height: 2.5em;
    padding: 0.5em 1em;
}

input[type="checkbox"] {
    background-color: #000000;
    background: #000000;
    color: #0188E0;
    border: solid 1px var(--text-color-primary);
    border-radius: 0.25em;
}

/* ============================================== */
/* SELECTS */
/* ============================================== */

select {
  width: 100%;
  padding: 0.8em 1em;
  font-size: 1em;
  border-radius: 0.5em;
  border: 1px solid var(--bg-color-quaternary);
  background-color: var(--bg-color-secondary);
  color: var(--text-color-primary);
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  text-align: center;
}

select option {
  background-color: var(--bg-color-primary);
  color: var(--text-color-primary);
}

/* ============================================== */
/* BOTÕES */
/* ============================================== */

.confirm-button {
    background-color: var(--default-color-primary);
    box-shadow: 0 4px 20px rgba(1, 136, 224, 0.25);
}

.decline-button {
    background-color: var(--default-color-secondary);
    box-shadow: 0 4px 20px rgba(224, 1, 194, 0.25);
}

.confirm-button,
.decline-button {
    border: none;
    padding: 1em;
    font-size: 1em;
    color: var(--text-color-primary);
    font-weight: 700;
    border-radius: 0.5em;
    text-align: center;
}

.button-width-100 {
    width: calc(100% - 2em);
}

.button-width-90 {
    width: calc(90% - 2em);
}

/* -------------------------------------------------- */
/* TEXT SHADOWS */
/* -------------------------------------------------- */

.text-shadow-1 {
    text-shadow: 0 2px 4px rgba(0,0,0,.8), 0 4px 12px rgba(0,0,0,.6);
}

/* -------------------------------------------------- */
/* ADS */
/* -------------------------------------------------- */

.banner-container{
    display: flex;
    align-items: center;
    max-width: clamp(300px, 100vw, 1200px);
}

.banner-container img,
.banner-container iframe,
.banner-container div{
    max-width: 100%;
}

/* --------------------------------------------------
   HEADER
-------------------------------------------------- */

header {
    background-color: var(--bg-color-primary);
    color: var(--text-color-primary);
    border-bottom: 1px solid var(--bg-color-quaternary);
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 1001;
    box-sizing: border-box;

    transition:
        transform .35s ease,
        opacity .35s ease;
}

body.video-viewer header {
    transform: translateY(-100%);
    opacity: 0;
    pointer-events: none;
}

.header-line {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    max-width: 1200px;
    height: 7dvh;
    overflow: visible;
}

.header-line img {
    height: 7dvh;
    width: 16dvh;
    object-fit: cover;
    object-position: center 52.5%;
}

/* --------------------------------------------------
   MENU HAMBÚRGUER + BADGE
-------------------------------------------------- */

#iconMenu {
    position: relative;
    flex-shrink: 0;
    width: 7dvh;
    height: 7dvh;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    font-size: 1.5em;
    -webkit-tap-highlight-color: transparent;
}

#iconMenu > i {
    pointer-events: none;
}

.notification-badge {
    position: absolute;
    top: 0.5dvh;
    right: 0.5dvh;
    min-width: 18px;
    height: 18px;
    box-sizing: border-box;
    padding: 0 5px;

    display: flex;
    align-items: center;
    justify-content: center;

    background: red;
    color: white;
    border-radius: 999px;
    font-size: 11px;
    font-weight: bold;
    line-height: 1;
    z-index: 2;
}

.notification-badge.hidden {
    display: none !important;
}

/* --------------------------------------------------
   MENU LATERAL
   Fica entre o header e o menu inferior.
-------------------------------------------------- */

#nav-placeholder {
    display: flex;
    width: 100%;
    min-height: 60px;
    background-color: #000;
    transition:
        height .35s ease,
        min-height .35s ease,
        opacity .35s ease;
}

body.video-viewer #nav-placeholder {
    min-height: 0;
    height: 0;
    opacity: 0;
    overflow: hidden;
}

.nav-bar {
    position: fixed;
    top: calc(7dvh + 1px);
    bottom: calc(7dvh + 1px);
    left: 0;
    right: 0;
    width: 100%;
    box-sizing: border-box;
    background: rgba(0, 0, 0, .65);
    z-index: 1000;
    visibility: hidden;
    opacity: 0;
    pointer-events: none;
    transition: opacity .25s ease, visibility .25s ease;
}

.nav-bar.active { 
    visibility: visible; 
    opacity: 1; 
    pointer-events: auto; 
}

.nav-column {
    position: absolute;
    top: 0;
    left: 0;
    right: auto;
    width: clamp(0px, 75vw, 400px);
    height: 100%;
    min-height: 100%;
    margin: 0;
    box-sizing: border-box;
    overflow-x: hidden;
    overflow-y: auto;
    overscroll-behavior: contain;
    background: var(--bg-color-tertiary);
    transform: translateX(-100%);
    transition: transform .35s ease;
    will-change: transform;
}

.nav-bar.active .nav-column { 
    transform: translateX(0); 
}

/* --------------------------------------------------
   CABEÇALHO INTERNO DO MENU
-------------------------------------------------- */

.nav-account {
    padding: 1em;
    background-color: var(--bg-color-secondary);
}

.nav-account-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
}

.nav-username {
    overflow-wrap: anywhere;
}

.nav-notification-wrapper {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 40px;
    min-height: 40px;
}

#iconNotification {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    font-size: 1.2em;
    cursor: pointer;
    border-radius: 50%;
    -webkit-tap-highlight-color: transparent;
}

#iconNotification:hover {
    background-color: rgba(255, 255, 255, .08);
}

.nav-account-balance {
    align-items: center;
    text-decoration: none;
    color: var(--text-color-primary);
}

/* --------------------------------------------------
   ITENS DO MENU
-------------------------------------------------- */

.nav-line {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 1em;
    border-bottom: 1px solid var(--text-color-primary);
    margin: 0 1em;
    padding: 1.5em 0;
    cursor: pointer;
}

.nav-line p {
    color: var(--text-color-primary);
    font-size: 1.2em;
    font-weight: 700;
}

/* --------------------------------------------------
   MENU INFERIOR
-------------------------------------------------- */

.nav-container {
    background-color: var(--bg-color-primary);
    color: var(--text-color-primary);
    border-top: 1px solid var(--bg-color-quaternary);
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 1002;
}

.nav-row {
    display: flex;
    flex-direction: row;
    justify-content: space-evenly;
    align-items: center;
    width: 100%;
    max-width: 1200px;
    height: 7dvh;
    overflow: hidden;
}

.nav-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    gap: .5em;
}

.nav-item i {
    font-size: 1.2em;
}

.nav-item p {
    color: var(--text-color-primary);
    font-size: .7em;
}

/* --------------------------------------------------
   POPUP DE NOTIFICAÇÕES
-------------------------------------------------- */

.nav-notification-wrapper {
    position: relative;
}

#notificationPopup {
    position: absolute;
    top: calc(100% + 8px);
    left: calc(100% - min(75vw, 400px) + 16px);
    right: auto;
    width: min(75vw, 400px);
    max-height: 60dvh;
    overflow-y: auto;
    box-sizing: border-box;
    background: var(--bg-color-tertiary);
    border: 1px solid var(--bg-color-quaternary);
    z-index: 3000;
    box-shadow: 0 8px 24px rgba(0, 0, 0, .45);
}

.notification-item { padding: 15px; border-bottom: 1px solid var(--bg-color-quaternary); }
.notification-item:last-child { border-bottom: none; }
.notification-item h3 { color: var(--text-color-primary); font-size: 15px; margin: 0 0 6px; }
.notification-item p { color: var(--text-color-secondary); font-size: 13px; line-height: 1.4; margin: 0; }


/* --------------------------------------------------
   SALDO DO HEADER
-------------------------------------------------- */

#userBalanceWrapper {
    display: flex;
    align-items: center;
    gap: .5em;
    border: 1px solid var(--default-color-secondary);
    border-radius: 2em;
    padding: .5em 1em;
    margin-right: 1em;
    text-decoration: none;
    color: var(--text-color-primary);
    white-space: nowrap;
}

#userBalanceWrapper.hidden,
#headerRegister.hidden {
    display: none !important;
}

/* --------------------------------------------------
   ACESSIBILIDADE / MOVIMENTO
-------------------------------------------------- */

@media (prefers-reduced-motion: reduce) {
    .nav-column,
    .nav-bar,
    header {
        transition-duration: .01ms;
    }
}

/* ============================================== */
/* FOOTER */
/* ============================================== */

footer {
    background-color: var(--bg-color-secondary);
    align-items: center;
    padding-bottom: 2em;
}

footer img {
    height: 6dvh;
    width: 12dvh;
    object-fit: cover;
    object-position: center 40%;
    filter: grayscale(100%);
}

footer .limit-width {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 2em;
    width: 90%;
    max-width: 1200px;
    padding: 3em 0;
}

footer .limit-width > div {
    display: flex;
    flex-direction: column;
    gap: 1em;
    min-width: 0;
    justify-content: center;
    align-items: center;
}

footer a {
    color: var(--text-color-primary);
    text-decoration: none;
}

footer a div {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 0.5em;
}

.footer-terms {
    display: flex;
    justify-content: center;
    align-items: center;
    padding-top: 1em;
    font-size: 0.8em;
    margin-bottom: 0.5dvh;
}

.footer-terms a {
    color: var(--text-color-secondary);
    text-decoration: none;
    padding: 0 0.5vw;
    border-left: 1px solid var(--bg-color-quaternary);
}

.footer-terms a:first-child {
    border-left: none;
}

.footer-cnpj {
    margin: 1dvh 0;
}

#btnTop {
    color: #ffffff;
    background-color: var(--bg-color-quinary);
    border: var(--bg-color-quinary) solid;
    height: 4dvh;
    font-size: 0.8em;
    width: 100%;
    border: none;
    padding: 0;
}

#btnTop.hidden {
    display: none !important;
}

/* ============================================== */
/* BODY */
/* ============================================== */

#loader {
    position: fixed;
    inset: 0;
    z-index: 999999;
    background: #000;
}

.loop-container {
    position: relative;
    padding: clamp(0.5em, 1em, 2em) 0;
}

.loop-word {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    font-weight: 600;
    opacity: 0;
    transform: translateY(100%);
    transition:
        opacity 0.4s ease,
        transform 0.4s ease;
}

.loop-word.primary {
    color: var(--default-color-primary);
}

.loop-word.secondary {
    color: var(--default-color-secondary);
}

.loop-word.active {
    opacity: 1;
    transform: translateY(0);
}

.index-search-text {
    display: flex;
    flex-direction: column;
    gap: 0.5em;
    width: 100%;
}

.index-location-search {
    position: relative;
    width: 90vw;
    display: flex;
    justify-content: center;
    max-width: 540px;
}

.index-location_search {
    background-color: var(--bg-color-primary);
    color: var(--text-color-primary);
    width: 100%;
    height: 1.5em;
    font-size: 1em;
    border-radius: 1em;
    padding: 0.8em 1em;
    border: solid 2px var(--default-color-primary);
    box-shadow: 0px 0px 10px 0px var(--default-color-primary);
}

#location_results {
  position: absolute;
  background: var(--bg-color-primary);
  width: calc(90% + 1em + 2px);
  list-style: none;
  max-height: 220px;
  overflow-y: auto;
  z-index: 10;
  top: 100%;
}

#location_results li {
  padding: 8px;
  cursor: pointer;
  border-bottom: 1px solid var(--text-color-primary) ;
}

#location_results li:hover {
  background: var(--bg-color-primary);
}

.index-video-column {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 90%;
    gap: 1em;
}

.index-video-row {
    display: flex;
    gap: 1em;
    overflow-x: auto;
    overflow-y: hidden;
    overscroll-behavior-x: contain;
    scroll-behavior: smooth;
    width: 100%;
    max-width: 100vw;
    padding-top: 2em;
    padding-bottom: 1em;
    box-sizing: border-box;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
    justify-content: flex-start;
    padding-inline: max(1em, calc(50vw - 14dvh));
}

.index-video-row::-webkit-scrollbar {
    display: none;
}

.carousel-video {
    flex: 0 0 auto;

    height: 50dvh;
    aspect-ratio: 9 / 16;

    border-radius: 1em;
    background: #000;

    scroll-snap-align: center;

    transition:
        transform 0.4s ease,
        opacity 0.4s ease;

    opacity: 0.5;
}

.carousel-video.is-active {
    transform: scale(1.05);
    opacity: 1;
}


.index-security-column {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 90%;
    gap: 1em;
}

.secao-hype-container {
    margin-bottom: 0 !important;
}

.secao-hype{
    display: grid;
    grid-template-columns: 432px 1fr;
    grid-template-areas:
        "imagem texto"
        "imagem acoes";
    gap: 2rem;
    align-items: start;
}

.texto-hype{
    grid-area: texto;
}

.imagem-hype{
    grid-area: imagem;
    overflow: hidden;
    height: 380px;
}

.imagem-hype img{
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: top;
}

.acoes-hype{
    grid-area: acoes;
    display: flex;
    flex-direction: column;
    gap: 2rem;
}

@media (max-width:900px){

    .flex-section.secao-hype-container{
        padding-bottom: 2em !important;
        margin-bottom: 0 !important;
    }

    .secao-hype{
        grid-template-columns:1fr;
        grid-template-areas:
            "texto"
            "imagem"
            "acoes";
    }

    .imagem-hype{
        width: 100%;
        min-width: 0;
        height: auto;
        overflow: visible;
        display: contents;
    }

    .imagem-hype img{
        width: 80%;
        height: auto;
        object-fit: unset;
        justify-self: center;
    }
}

.videos-home{
    display:flex;
    gap:1rem;

    width:100%;
    overflow-x:auto;
    overflow-y:hidden;

    scrollbar-width:none;
    -ms-overflow-style:none;
    -webkit-overflow-scrolling:touch;
}

.videos-home::-webkit-scrollbar{
    display:none;
}

.videos-home a{
    position:relative;
    flex:0 0 200px;
    aspect-ratio:9/16;
    overflow:hidden;
    border-radius:12px;
    text-decoration:none;
}

.videos-home a:first-child{
    margin-left:5%;
}

.videos-home a:last-child{
    margin-right:5%;
}

.videos-home img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
}

.videos-home i,
.videos-home span{
    position:absolute;
    inset:0;

    display:flex;
    align-items:center;
    justify-content:center;

    color:#fff;
    background:rgba(0,0,0,.25);
    transition:.2s;
}

.videos-home i{
    font-size:2.5rem;
}

.videos-home span{
    font-size:1.1rem;
    font-weight:600;
}

.videos-home a:hover i,
.videos-home a:hover span{
    background:rgba(0,0,0,.0);
}

@media (min-width:1200px){

    .videos-home{
        width:fit-content;
        margin:0 auto;

        overflow-x:visible;
        justify-content:center;
    }

    .videos-home a:first-child{
        margin-left:0;
    }

    .videos-home a:last-child{
        margin-right:0;
    }
}

.grid-seguranca{
    display:grid;
    grid-template-columns:repeat(4, 1fr);
    gap:1rem;
}

.card-seguranca{
    display:flex;
    flex-direction:column;
    justify-content:center;
    align-items:center;
    gap:.75rem;

    min-height:170px;
    padding:0.5em 1em;

    background:var(--bg-color-quaternary);
    border-radius:12px;
    border: solid 2px var(--default-color-primary);

    text-align:center;
    box-sizing:border-box;
}

.card-seguranca i{
    font-size:2rem;
    color:var(--default-color-primary);
}

.card-seguranca p{
    color: var(--text-color-primary);
    margin:0;
    font-weight:600;
    line-height:1.4;
}

/* Tablet */
@media (max-width:1000px){
    .grid-seguranca{
        grid-template-columns:repeat(3, 1fr);
    }
}

/* Celular */
@media (max-width:700px){
    .grid-seguranca{
        grid-template-columns:repeat(2, 1fr);
    }

    .card-seguranca{
        min-height:150px;
    }

    .card-seguranca i{
        font-size:1.7rem;
    }

    .card-seguranca p{
        font-size:.95rem;
    }
}

.banner-gratis{
    position: relative;

    background-color: var(--bg-color-secondary);
    background-image: url('src/index_img_5.webp');
    background-size: cover;
    background-position: top left;
    background-repeat: no-repeat;

    height: 100%;

    overflow: hidden;
}

.banner-gratis::before{
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;

    height: 120px;

    background: linear-gradient(
        to bottom,
        var(--bg-color-tertiary),
        rgba(0,0,0,0)
    );

    pointer-events: none;
}

.banner-gratis > *{
    position: relative;
    z-index: 1;
}

.shorts-video {
    max-height: 70dvh;
    max-width: 80vw;
    aspect-ratio: 9/16;
    border-radius: 1em;
}

.index-tax-column {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 90%;
    gap: 1em;
}

.icon-box {
  display: flex;
  flex-direction: column;
  align-items: center;
  color: #ccc;
  text-align: center;
}

.icon-box i {
  font-size: 32px;
  color: #fff;
  margin-bottom: 8px;
}

.icon-box span {
  font-size: 14px;
  opacity: 0.8;
}


.text-wrapper-container {
    padding-bottom: 2em;
    border-bottom: 1px solid var(--text-color-primary);
}

.text-wrapper {
    max-height: 20dvh;
    overflow: hidden;
    transition: max-height 0.4s ease;
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 1em;
}

.text-wrapper::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 60px;
    background: linear-gradient(
        to bottom,
        rgba(0, 0, 0, 0),
        var(--bg-color-primary)
    );
    pointer-events: none;
}

.text-wrapper.expanded {
    max-height: 3000px;
}

.text-wrapper.expanded::after {
    opacity: 0;
}

.btn-ver-mais {
    background: none;
    border: none;
    font-size: 1rem;
    color: var(--text-color-primary);
    cursor: pointer;
    margin-top: 1rem;

    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.btn-ver-mais .arrow {
    transition: transform 0.3s ease;
}

.btn-ver-mais.active .arrow {
    transform: rotate(180deg);
}

/* ============================================== */
/* PÁGINA DE REGISTRO */
/* ============================================== */

.register-title {
    display: flex;
    flex-direction: column;
    padding-bottom: 2em;
    gap: 1em;
    width: calc(80vw + 1em);
    max-width: calc(360px + 2em);
}

.register-title h2 {
    font-size: 2.5em;
    text-align: left;
}

.register-tab {
    display: none;
}

.register-tab.active {
    display: flex;
}

#profile-picker {
    position: relative;
    width: 180px;
    cursor: pointer;
}

.profile-picker{
    position: relative;
    width: 180px;
    height: 180px;
    cursor: pointer;
}

.profile-preview{
    width:100%;
    height:100%;
    border-radius:50%;
    object-fit:cover;
    display:block;
    position: center;
    aspect-ratio: 1/1;
    border: solid 3px var(--default-color-secondary);
    margin-bottom: 2em;
}

/* ============================================== */
/* PÁGINA DE REGISTRO TAB 1 */
/* ============================================== */

#register-tab-1 {
    padding-top: 10vw;
    padding-top: clamp(0px, 10vw, 48px);
    flex-direction: column;
    align-items: center;
    max-width: calc(360px + 2em);
    gap: 1em;
    width: calc(80vw + 1em);
}

#register-tab-1 input {
    width: calc(100% - 2em);
}

.checkbox-container {
    display: flex;
    flex-direction: column;
    align-items: start;
    gap: 0.5em;
    padding: 1em 0;
}

.checkbox-line {
    display: flex;
    flex-direction: row;
    align-items: start;
    gap: 1em;
}

#register-tab-1 #emailTerms,
#register-tab-1 #registerTerms,
#register-tab-1 #whatsappTerms {
    width: 1em;
    height: 1em;
    margin: 0;
}

#register-tab-1 a {
    font-size: 1em;
}

#register-tab-1 button {
    width: calc(80vw + 1em);
    max-width: calc(360px + 2em);
}

#register-tab-1 .already-register {
    width: calc(80vw + 1em);
    max-width: calc(360px + 2em);
    height: 2.5em;
    text-align: center;
    align-content: center;
    text-decoration: none;
    color: var(--text-color-primary);
}

/* ============================================== */
/* PÁGINA DE REGISTRO TAB 2 */
/* ============================================== */

#register-tab-2 {
    flex-direction: column;
    align-items: center;
    padding-top: clamp(0px, 10vw, 48px);
    padding-bottom: clamp(0px, 10vw, 48px);
}

.role-selector {
    display: flex;
    max-width: 450px;
}

.role-selector input[type="radio"] {
    display: none;
}

.role-option {
    flex: 1;
    cursor: pointer;
    transition: opacity 0.3s ease;
    display: flex;
    flex-direction: column;
    align-items: center;
    overflow: hidden;
    opacity: 0.8;
    margin-bottom: 2em;
}

.role-option img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center center;
}

.role-selector .role-option span {
    opacity: 1;
    padding: 0.5em;
    font-size: 1em;
    color: var(--text-color-primary);
}

#identify_client:checked + .role-option,
#identify_model:checked + .role-option {
    opacity: 1;
    filter: grayscale(0%);
    box-shadow: 0px 5px 20px 10px rgba(0,183,255,0.4);
}

.role-option:not(:has(input:checked)) {
    opacity: 0.25;
    filter: grayscale(100%);
}

#register-tab-2 button {
    width: calc(80vw + 1em);
    max-width: 450px;
    margin-top: 1em;
}

/* ============================================== */
/* PÁGINA DE REGISTRO TAB 3 */
/* ============================================== */

#register-tab-3 {
    flex-direction: column;
    align-items: center;
    padding-top: clamp(0px, 10vw, 48px);
    padding-bottom: clamp(0px, 10vw, 48px);
    width: calc(80vw + 1em);
    max-width: 450px;
}

.card-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1em;
    justify-content: center;
    margin-bottom: 2em;
}

@media (max-width: 768px) {
    .card-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

.card-grid input {
    display: none;
}

.card {
    max-width: 165px;
    aspect-ratio: 1/1;
    background: var(--bg-color-primary);
    border: 2px solid var(--bg-color-tertiary);
    border-radius: 0.5em;
    padding: 1em;
    text-align: center;
    cursor: pointer;
    color: #fff;
    align-content: center;
    transition: border 0.25s ease, box-shadow 0.25s ease;
}

.card-section.blue input:checked + .card {
    border-color: #00b7ff;
    box-shadow: 0 0 10px rgba(0,183,255,0.6);
}

.card-section.pink input:checked + .card {
    border-color: #ff007a;
    box-shadow: 0 0 10px rgba(255,0,122,0.6);
}

.card i {
    font-size: 1.8em;
    margin-bottom: 0.3em;
    display: block;
}

#register-tab-3 button {
    width: calc(80vw + 1em);
    max-width: 450px;
    margin-top: 1em;
}

/* ============================================== */
/* PÁGINA DE REGISTRO TAB 4 */
/* ============================================== */

#register-tab-4 {
    padding-top: clamp(0px, 10vw, 48px);
    flex-direction: column;
    gap: 1em;
}

.location-select {
  display: flex;
  flex-direction: column;
  gap: 1em;
  max-width: 400px;
  margin-bottom: clamp(0px, 10vw, 48px);
}

.location-select select {
  background: #0d0d0d;
  color: #fff;
  padding: 1em;
  border-radius: 12px;
  border: 1px solid #333;
  font-size: 1em;
}

.location-select select:disabled {
  opacity: 0.4;
}

/* ============================================== */
/* PÁGINA DE LOGIN */
/* ============================================== */

.login-container {
    padding-top: 10vw;
    padding-top: clamp(0px, 10vw, 48px);
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1em;
    max-width: calc(360px + 2em);
}

.login-container h2 {
    font-size: 2.5em;
    text-align: left;
    width: calc(80vw);
    max-width: calc(360px + 2em);
    padding-bottom: 1em;
    align-self: flex-start;
}

.login-container input {
    width: calc(100% - 2em);
}

.login-container a {
    width: calc(80vw + 1em);
    max-width: calc(360px + 2em);
    height: 2.5em;
    text-align: center;
    align-content: center;
    text-decoration: none;
    color: var(--text-color-primary);
}

.login-container button {
    width: calc(80vw + 1em);
    max-width: calc(360px + 2em);
}

.login-error {
    width: calc(80vw + 1em);
    max-width: calc(360px + 2em);
    background: rgba(255, 0, 99, 0.12);
    border: 1px solid rgba(255, 0, 99, 0.35);
    color: #ff4d88;
    padding: 1em;
    border-radius: 0.8em;
    font-size: 0.9em;
    display: none;
}

/* ============================================== */
/* PÁGINA DE EDIÇÃO DE MODELO */
/* ============================================== */

.input-with-unit {
    display: flex;
    align-items: center;
    gap: 6px;
}

.input-with-unit input {
    width: 100px;
}

.input-with-unit .unit {
    font-size: 14px;
    opacity: 0.7;
}

.input-usuario {
  display: flex;
  align-items: center;
}

.input-usuario span {
  padding: 0 8px;
  background: #eee;
  border: 1px solid #ccc;
  border-right: none;
  border-radius: 4px 0 0 4px;
}

.input-usuario input {
  border-radius: 0 4px 4px 0;
}

/* ============================================== */
/* PÁGINA DE ACOMPANHANTES */
/* ============================================== */

.acompanhantes-search-block {
    width: 100%;
}

.acompanhantes-location-search {
    position: relative;
    width: 100%;
    display: flex;
    justify-content: center;
    max-width: 600px;
}

.acompanhantes-location_search {
    background-color: var(--bg-color-primary);
    color: var(--text-color-primary);
    width: 100%;
    height: calc(7dvh - (2 * 0.8em));
    font-size: 1em;
    padding: 0.8em 1em;
    border: none;
    border-bottom: 1px solid var(--text-color-secondary);
    outline: none;   
}

/* ============================================== */
/* PÁGINA INDEX */
/* ============================================== */

.flex-section {
    position: relative;
    align-items: center;
    width: 100%;
    padding: clamp(1em, 5dvh, 5em) 0;
    background-color: var(--bg-color-primary);
}

.index-search-row {
    width: 90%;
    justify-content: space-between;
    max-height: 70dvh;
}

@media (min-width: 992px) {
    .index-search-row {
        width: 100%;
        justify-content: space-between;
        min-height: 600px;
        height: auto;
    }
}

.index-search-container {
    position: relative;
    width: 50%;
    aspect-ratio: 9/16;
    display: flex;
    justify-content: center;
    align-items: flex-end;
}

.index-search-container::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: -5px;
    width: 100%;
    height: 45%;
    pointer-events: none;
    z-index: 4;
    background: linear-gradient(
        to top,
        rgba(0, 0, 0, 0.95) 0%,
        rgba(0, 0, 0, 0.7) 35%,
        rgba(0, 0, 0, 0.3) 70%,
        rgba(0, 0, 0, 0) 100%
    );
}

.model-hero-wrapper {
    position: absolute;
    aspect-ratio: 9/16;
    height: 100%;
    left: 50%;
    bottom: 0;
    transform: translateX(-45%);
}

.model-hero-wrapper img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: center bottom;
    filter: grayscale(100%);
    
    position: relative;
    z-index: 3;
}

.model-hero-wrapper::before,
.model-hero-wrapper::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;

    -webkit-mask-image: url("../src/model_nobg.webp");
    -webkit-mask-repeat: no-repeat;
    -webkit-mask-size: contain;
    -webkit-mask-position: center bottom;

    mask-image: url("../src/model_nobg.webp");
    mask-repeat: no-repeat;
    mask-size: contain;
    mask-position: center bottom;
}

.model-hero-wrapper::before {
    z-index: 2;
    background-color: var(--default-color-primary);
    transform: translateX(1em); /* Desloca para a direita */
}

.model-hero-wrapper::after {
    z-index: 1;
    background-color: var(--default-color-secondary);
    transform: translateX(2em); /* Desloca mais para a direita */
}

.static-text {
    font-size: clamp(1.5em, 5vw, 52px);
    color: var(--text-color-primary);
    font-weight: 500;
    width: 130%;
}

.index-seo-column {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 90%;
    gap: 1em;
}

.index-seo-column img {
    width: 100%;
    height: 100%;
    max-width: 540px;
    aspect-ratio: 1/1;
}

/* ============================================== */
/* AGE VERIFICATION */
/* ============================================== */

#ageVerificationOverlay {
    position: fixed;

    top: 0;
    left: 0;

    width: 100vw;
    height: 100dvh;

    background: rgba(0, 0, 0, 0.75);
    backdrop-filter: blur(8px);

    display: flex;
    justify-content: center;
    align-items: center;

    z-index: 999999;

    overflow-y: hidden;
    padding: 2em;
    box-sizing: border-box;
}

.age-modal {
    width: 90%;
    max-width: 420px;
    background: var(--bg-color-secondary);
    border: 1px solid rgba(255,255,255,0.08);
    border-radius: 1.5em;
    padding: 2em;
    display: flex;
    flex-direction: column;
    gap: 1.25em;
    text-align: center;
    box-shadow:0 0 30px rgba(0,0,0,0.4);
    margin: auto;
}

.age-badge {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.5em;
    color: var(--default-color-primary);
    font-weight: 600;
}

.age-badge i {
    font-size: 1.1em;
}

.age-modal h2 {
    font-size: 2em;
    line-height: 1.1;
}

.age-modal p {
    line-height: 1.6;
}

.age-buttons {
    display: flex;
    flex-direction: column;
    gap: 1em;
    margin-top: 0.5em;
}

.age-buttons button {
    width: 100%;
    padding: 1em;
    cursor: pointer;
}

/* ============================================== */
/* LOCK SCROLL */
/* ============================================== */

html.age-lock,
body.age-lock {
    overflow: hidden !important;
    height: 100dvh !important;
    max-height: 100dvh !important;
    touch-action: none !important;
    overscroll-behavior: none !important;
}

body.age-lock {
    margin-bottom: 0 !important;
}

/* ============================================== */
/* PÁGINA DE VERIFICAÇÃO */
/* ============================================== */

.verify-section{
    background-color:var(--bg-color-secondary);

    width:min(90vw,700px);

    padding:2em;

    display:flex;
    flex-direction:column;
    align-items:center;

    gap:1.5em;

    border-radius:1em;
}

.verify-section select {
    width: 6em;
}

.model-verify-p {
    width: 40vw;
}

.verify-section-column {
    display: flex;
    flex-direction: column;
    gap: 1em;
    width: 100%;
    align-items: center;
} 

.verify-info{
    width:90%;
    max-width:600px;
    font-size:0.7em;
    line-height:1.6;
    color:#aaa;
    padding:1em;
    border:1px solid #333;
    border-radius:0.8em;
    background:rgba(255,255,255,.03);
}

.verify-video-info{
    list-style: none;
    background: var(--bg-color-secondary);
    display: flex;
    flex-direction: column;
    gap: 0.5em;
}

.verify-video-info li{
    position: relative;
    font-size: .95rem;
    line-height: 1.5;
    color: var(--text-color-secondary);
    padding-left: 20px;
}

.verify-video-info li::before{
    content: "✓";
    position: absolute;
    left: 0;
    top: 0;
    font-weight: bold;
    color: var(--default-color-secondary);
}

.verify-video-info li:last-child{
    border-top: 1px solid rgba(
        0,
        0,
        0,
        .08
    );
    font-weight: 600;
}

.upload-box-image,
.upload-box-video{
    position:relative;
    overflow:hidden;
    border-radius:1em;
    cursor:pointer;
}

.upload-placeholder{
    position:absolute;
    inset:0;
    display:flex;
    flex-direction:column;
    justify-content:center;
    align-items:center;
    gap:1em;
    z-index:2;
    color:#aaa;
    transition:0.3s;
}

.upload-placeholder i{
    font-size:4em;
}

.upload-placeholder span{
    font-size:1em;
}

.upload-box-image{
    position: relative;

    width: 100%;
    max-width: 420px;

    min-height: 220px;
    aspect-ratio: 16/9;
}

#container-back{
    width:100%;

    display:flex;
    flex-direction:column;
    align-items:center;

    gap: 1.5em;
}

.upload-box-video{
    position: relative;

    width: 100%;
    max-width: 220px;

    min-height: 420px;
    aspect-ratio: 9/16;
}

.upload-box-image,
.upload-box-video{
    position: relative;

    overflow: hidden;

    border: 2px dashed #444;
    border-radius: 1em;

    background: var(--bg-color-primary);

    cursor: pointer;

    display: flex;
    justify-content: center;
    align-items: center;
}

.upload-placeholder{
    position:absolute;
    inset:0;

    display:flex;
    flex-direction:column;
    justify-content:center;
    align-items:center;

    gap:1em;

    color:#888;

    transition:.3s;
}

.upload-placeholder i{
    font-size:4em;
}

.upload-placeholder span{
    font-size:1em;
}

.upload-box-image img,
.upload-box-video video{
    width:100%;
    height:100%;

    object-fit:cover;

    display:none;
}

.upload-box-image:hover,
.upload-box-video:hover{
    border-color:var(--default-color-primary);
}

/* ============================================== */
/* PÁGINA DE MODELOS */
/* ============================================== */

.acompanhantes-filters-wrapper{
    position: relative;
    height: 6dvh;
    width: 100%;
    max-width: max-content;
    overflow:hidden;
    border-bottom:1px solid var(--text-color-secondary);
}

.acompanhantes-filters-wrapper::before{
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 1em;
    pointer-events: none;
    z-index: 7;
    background: linear-gradient(
        to bottom,
        rgba(0,0,0,0.6),
        rgba(0,0,0,0)
    );
}

.acompanhantes-category-filters{
    display: flex;
    height: 100%;
    overflow-x: auto;
    overflow-y: hidden;
    scrollbar-width: none;
    -ms-overflow-style: none;
    scroll-behavior: smooth;
    overscroll-behavior-x: contain;
}

.acompanhantes-category-filters::-webkit-scrollbar{
    display: none;
}
.filter-item {
    height: 100%;
    flex-shrink: 0;
    background: var(--bg-color-secondary);
    color: var(--text-color-secondary);
    cursor: pointer;
    font-size: 0.95em;
    transition: 0.25s;
    border: none;
    padding: 0.25em 1.5em 0em 1.5em;
    align-items: center;
    display: flex;
}

.filter-item:hover {
    background: var(--bg-color-tertiary);
    color: var(--text-color-primary);
}

.filter-item.active {
    background: var(--default-color-primary);
    color: var(--text-color-primary);
    font-weight: 600;
    box-shadow: 0 0 15px rgba(1,136,224,.35);
}

.filters-shadow-left,
.filters-shadow-right{
    position: absolute;
    width: 50px;
    top: 0;
    bottom: 0;
    z-index: 5;
    pointer-events: none;
}

.filters-shadow-left{
    left: 0;
    background: linear-gradient(
        to right,
        var(--bg-color-primary),
        transparent
    );
}

.filters-shadow-right{
    right: 0;
    background: linear-gradient(
        to left,
        var(--bg-color-primary),
        transparent
    );
}

.filter-item.active {
    position: relative;
    z-index: 6;
}

.location-badge {
  font-size: 1.2em;
  margin: 1.5em 0;
  max-width: 80%;
}

.location-badge span {
  color: var(--default-color-primary);
  font-weight: 600;
  text-decoration: underline;
}

.acompanhantes-search-block{
    width: 100%;
    display: flex;
    justify-content: center;
}

.acompanhantes-location-search {
    position: relative;
    width: 100%;
    display: flex;
    justify-content: center;
    max-width: 700px;
}

.acompanhantes-location_search {
    background-color: var(--bg-color-primary);
    color: var(--text-color-primary);
    width: 100%;
    height: calc(7dvh - (2 * 0.8em));
    font-size: 1em;
    padding: 0.8em 1em;
    border: none;
    border-bottom: 1px solid var(--text-color-secondary);
    outline: none;   
}

.actions-bar{

    display:flex;
    gap:12px;
    margin:20px auto;
}

.action-btn,
.sort-select{

    height:45px;

    border:none;

    border-radius:12px;

    padding:0 16px;

    background:#1b1b1b;

    color:white;

    font-size:14px;
}

.sort-select{

    flex:1;
}

.modal{

    position:fixed;

    inset:0;

    background:rgba(
        0,0,0,.7
    );

    display:none;

    justify-content:center;

    align-items:flex-end;

    z-index:9999;
}

.modal.active{

    display:flex;
}

.modal-content{
    width:100%;
    height:75%;
    overflow-y:auto;
    max-width:500px;
    background:#111;
    border-radius:25px 25px 0 0;
    padding:25px;
    color:white;
    animation: slideUp .25s ease;
}

.modal-header{

    display:flex;

    justify-content:
    space-between;

    margin-bottom:20px;
}

.modal-header button{

    background:none;

    border:none;

    color:white;

    font-size:22px;
}

.filter-group{

    display:flex;

    flex-direction:column;

    margin-bottom:15px;

    gap:8px;
}

.filter-group select{

    height:45px;

    border-radius:12px;

    border:none;

    padding:10px;

    background:#1c1c1c;

    color:white;
}

.checkbox-group{

    display:flex;

    flex-direction:column;

    gap:10px;

    margin:20px 0;
}

.filter-buttons{
    display:flex;
    flex-direction:column;
    gap:12px;
}

#applyFilters, 
#clearFilters {
    width:100%;
    height:50px;
    border:none;
    border-radius:12px;
    font-weight:700;
}

#applyFilters{
    background:var(--default-color-primary);
    color: var(--text-color-primary);
}

#clearFilters{
    background:var(--default-color-secondary);
    color: var(--text-color-primary);
}

@keyframes slideUp{
    from{
        transform:
        translateY(100%);
    }

    to{
        transform:
        translateY(0);
    }

}

.models-grid {
    display: grid;
    width: 90%;
    gap: 1.5em;
    padding-bottom: 2em;
    justify-items: center;
    grid-template-columns: 1fr;
}

@media (min-width: 600px) and (max-width: 1199px) {
    .models-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (min-width: 1200px) {
    .models-grid {
        grid-template-columns: repeat(3, 1fr);
    }
}

.model-card-container {
    width: 100%;
    background: var(--bg-color-tertiary);
    border-radius: 1em;
    overflow: hidden;
    cursor: pointer;
    text-decoration: none;
    display: block;
    transition: transform 0.2s ease, border-color 0.2s ease;
}

.model-card-container:hover {
    transform: translateY(-4px);
}

.model-card-column {
    display: flex;
    flex-direction: column;
    height: 100%;
}

.model-card-image {
    width: 100%;
    aspect-ratio: 1/1;
    object-fit: cover;
    object-position: center;
}

.model-name-user {
    display: flex;
    flex-direction: column;
    padding: 1em;
    gap: 0.25em;
}

.model-nome {
    font-size: 1.3em;
    font-weight: 600;
    color: var(--text-color-primary);
}

.model-verified {
    display: flex;
    align-items: center;
    gap: .4em;
    font-size: .8em;
    font-weight: 600;
}

.model-verified i,
.model-verified span {
    color: #2ecc71 !important;
}

.model-card-row {
    display: flex;
    flex-direction: row;
    align-items: center;
    border-top: 1px solid rgba(255, 255, 255, 0.05); /* Divisória sutil interna */
}

.model-card-info-column,
.model-card-info-description {
    width: 50%;
    padding: 1em;
}

.model-card-info-column {
    display: flex;
    flex-direction: column;
    gap: 0.75em;
}

.model-card-values {
    display: flex;
    flex-direction: column;
    gap: 0.25em;
}

.model-valor-text {
    font-size: 0.75rem;
    color: var(--text-color-secondary);
}

.model-valor {
    font-size: 0.8em;
    font-weight: 600;
    color: var(--text-color-primary);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.model-card-info-sep {
    background: var(--text-color-secondary);
    height: 25px; /* Altura controlada para o traço vertical */
    min-width: 1px;
    width: 1px;
    opacity: 0.3;
}

.model-card-info-description {
    align-self: flex-start;
}

.model-card-info-description p {
    line-height: 1rem;
    font-size: 0.75rem;
    color: var(--text-color-secondary);
}

.model-card-info-row {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 0.45em;
}

.model-card-info-row span {
    color: var(--text-color-secondary);
    font-size: 0.75rem;
}

.model-carousel{
    position:relative;
    width:100%;
    overflow:hidden;
    aspect-ratio:1/1;
}

.carousel-track{
    display:flex;
    height:100%;
    width:100%;
    transition: transform .4s ease;
    touch-action: pan-y;
    user-select:none;
    -webkit-user-select:none;
}

.carousel-btn.hidden{
    opacity:0;
    pointer-events:none;
}

.carousel-slide{
    min-width:100%;
    width:100%;
    flex:0 0 100%;
    aspect-ratio:1/1;
    object-fit:cover;
}

.carousel-btn{
    position:absolute;
    top:50%;
    transform:
    translateY(-50%);
    width:35px;
    height:35px;
    border:none;
    border-radius:50%;
    background:rgba(0,0,0,.5);
    color:white;
    z-index:2;
    cursor:pointer;
}

.carousel-btn.prev{
    left:10px;
}

.carousel-btn.next{
    right:10px;
}

.carousel-btn:hover{
    background:
    rgba(0,0,0,.8);
}

.carousel-track{

    display:flex;
    height:100%;
    width:100%;

    transition:
    transform .4s ease;
}

.carousel-slide{

    min-width:100%;
    flex:0 0 100%;
    height:100%;
}

.carousel-slide img{

    width:100%;
    height:100%;

    object-fit:cover;

    display:block;
}

.carousel-dots{

    position:absolute;

    left:50%;
    bottom:10px;

    transform:
    translateX(-50%);

    display:flex;

    gap:8px;

    z-index:3;
}

.carousel-dot{

    width:9px;
    height:9px;

    border-radius:50%;

    background:
    rgba(255,255,255,.4);

    transition:.3s;

    cursor:pointer;
}

.carousel-dot.active{

    background:white;

    transform:
    scale(1.3);
}

.carousel-slide {
    position:relative;
}

.blur-overlay {
    position:absolute;
    inset:0;
    display:flex;
    flex-direction:column;
    justify-content:center;
    align-items:center;
    gap:1em;
    color:white;
    z-index:3;
    align-self: center;
    justify-self: center;
}

.unlock-media{
    border:none;
    padding:.8em 1.5em;
    border-radius:1em;
    background: var(--default-color-primary);
    color:white;
    cursor:pointer;
    font-weight:600;
}

#servicesOnCity,
#nearbyCities{
    margin: 2em 0em;
    width: 90%;
}

.nearby-title{
    font-size:22px;
    font-weight:700;
    margin-bottom:15px;
}

.nearby-links{
    display:flex;
    gap:10px;
    flex-wrap:wrap;
}

.nearby-city-link{
    padding:10px 15px;
    border-radius:999px;
    background:var(--bg-color-tertiary);
    text-decoration:none;
    color:var(--text-color-primary);
    transition:.2s;
}

.nearby-city-link:hover{
    transform:translateY(-2px);
}



.breadcrumb{
    display:flex;
    align-items:center;
    gap:10px;
    margin: 1em 0;
    padding: 1.25em 0;
    font-size:14px;
    border-width: 1px 0;
    border-style: solid;
    border-color: var(--text-color-secondary);
    width: 90%;
    overflow-x: auto;
}

.breadcrumb a{
    color:var(--text-color-secondary);
    white-space: nowrap;
    text-decoration:none;
}

.breadcrumb a:hover{
    text-decoration:underline;
}

.breadcrumb-current{
    color:var(--text-color-primary);
    font-weight:600;
}

/* ============================================== */
/* PÁGINA MODELO */
/* ============================================== */

.background-img {
    width:100%;
    max-height: 300px;
    aspect-ratio: 21/9;
    object-fit:cover;
    object-position:center;
    display:block;
}

.profile-row h1 {
    font-size: 2em;
}

.profile-row{
    position:relative;
    width:95%;
    margin-bottom: 1em;
    display:grid;
    gap:1em;
    z-index:2;
    grid-template-columns:
        min(25vw, 175px) auto;
    grid-template-areas:
        "foto info"
        "botoes botoes";
    align-items:center;
}

@media(min-width:700px){

    .profile-row{
        max-width: 1000px;
        grid-template-columns:
            min(25vw, 175px)
            calc(50% - min(25vw, 175px))
            50%;

        grid-template-areas:
            "foto-space info botoes";
    }

}

.profile-img{
    grid-area: foto;
    width: 25vw;
    max-width: 175px;
    aspect-ratio: 1/1;
    border-radius: 50%;
    object-fit: cover;
    background:
    linear-gradient(
        45deg,
        var(--default-color-secondary),
        var(--default-color-primary)
    );
    padding: 0.2em;
    position: absolute;
    top: -25%;
    left: 0;
}

.profile-info{
    grid-area: info;
    padding-top: 0.5em;
}

.profile-buttons {
    grid-area: botoes;
    width: 100%;
    gap: 0.5em;
}

.profile-buttons a {
    width: 100%;
}

.profile-buttons button:hover {
    transform: translateY(-2px);
}

.profile-buttons button:active {
    transform: translateY(0);
}

#whatsapp-btn {
    width: 100%;
    background: #25d366;
    color: white;
    border: none;
    border-radius: 0.5em;
    box-shadow:
        0 4px 20px rgba(37, 211, 102, 0.25);
}

#whatsapp-btn:hover {
    box-shadow:
        0 8px 25px rgba(37, 211, 102, 0.35);
}

#share-btn {
    width: 100%;
    background: rgba(255,255,255,0.08);
    border: 1px solid rgba(255,255,255,0.15);
    color: white;
    backdrop-filter: blur(10px);
    border-radius: 0.5em;
}

#share-btn:hover {
    background: rgba(255,255,255,0.12);
    border-color: rgba(255,255,255,0.25);
}

.profile-buttons i {
    font-size: 1.15rem;
}

.profile-buttons button {
    grid-area: botoes;
    width: 100%;
    height: 48px;
}

@media (max-width: 768px) {

    .profile-buttons {
        max-width: 100%;
    }

    .profile-buttons button {
        height: 48px;
        font-size: 0.95rem;
    }

}

.profile-divider {
    width: 90%;
    height: 1px;
    margin-bottom: 1em;
    background-color: var(--text-color-secondary);
}

/* ============================================== */
/* PÁGINA POSTAGEM */
/* ============================================== */

.post-section {
    padding: 2em 0;
}

.tab {
    display:none;
    gap:1.5em;
}

.tab.active {
    display:flex;
}

.upload-box {
    min-width: 300px;
    min-height: 300px;
    width: auto;
    height: auto;
    border:2px dashed var(--text-color-secondary);
    border-radius:12px;
    display:flex;
    align-items:center;
    justify-content:center;
    position:relative;
    background:var(--bg-color-secondary);
    overflow:hidden;
    flex-direction:column;
}

.upload-box span {
    width:50%;
    text-align:center;
    color:var(--text-color-secondary);
}

#previewContainer{
    width:100%;
    display:flex;
    justify-content:center;
    align-items:center;
}

#previewContainer img,
#previewContainer video{

    max-width:100%;
    max-height:70dvh;

    width:auto;
    height:auto;

    display:block;

    border-radius:12px;

    object-fit:contain;
}

#postPreview{
    width:80%;
    max-width:400px;
    display:flex;
    justify-content:center;
    align-items:center;
    overflow:hidden;
    border-radius:12px;
    background:var(--bg-color-secondary);
}

#postPreview img,
#postPreview video{
    width:100%;
    height:auto;
    max-height:70dvh;
    object-fit:contain;
    border-radius:12px;
}

textarea{
    width: 80%;
    max-width: 600px;
    height: 10em;
    background-color: var(--bg-color-tertiary);
    border: 1px dashed var(--text-color-primary);
    color: var(--text-color-primary);
    padding: 1em;
}

/* ============================================== */
/* PÁGINA EDIÇÃO DE PERFIL */
/* ============================================== */

.model-edit-section {
    width: 100%;
    padding: 2em 0;
    gap: 1em;
}

.model-edit-section input[type="text"] {
    width: 100%;
    max-width: 400px;
}

.model-edit-section input[type="number"] {
    width: 50%;
    max-width: 350px;
}

.model-edit-section input[type="time"] {
    width: auto;
    text-align: center;
    max-width: 350px;
    
}

.model-edit-pay-types li {
    align-items: center;
}

.model-edit-pay-types i {
    font-size: 1.5em;
    color: var(--default-color-primary);
}

/* ============================================== */
/* PÁGINA DE PERFIL */
/* ============================================== */

.full-edit-mode .perfil-header,
.full-edit-mode [data-tab],
.full-edit-mode .tabs-container {
  display: none !important;
}

.perfil-header,
.perfil-info {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 100%;
    padding-top: 1em;
    gap: 2em;
}

#perfil-foto {
    width: 40%;
    max-width: 300px;
    aspect-ratio: 1/1;
    border-radius: 50%;
    object-fit: cover;
    padding: 4px;
    background: linear-gradient(45deg, var(--default-color-secondary), var(--default-color-primary));
}

.perfil-textos {
    display: flex;
    flex-direction: column;
    align-items: center;   
}

.perfil-botoes {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 100%;
    gap: 0.5em;
}

.perfil-botoes button {
    width: 80%;
    max-width: 300px;
    background-color: var(--bg-color-primary);
    color: var(--text-color-primary);
    font-weight: 600;
    border: solid 2px var(--default-color-primary);
    border-radius: 1em;
    height: 3em;
    font-size: 1em;
}

.grid-posts {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 5px;
  width: 100%;
  max-width: 600px;
}

.post-card {
  width: 100%;
  aspect-ratio: 9/16;
  overflow: hidden;
  background: #111;
  cursor: pointer;
}

.post-card img,
.post-card video {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.full-post-mode .perfil-header {
  display: none;
}

.tab-section {
    position: relative;
    width: 100%;
    padding-top: 0.5em;
}

.tab-section-div {
    width: 90%;
    align-self: center;
}

.btn-voltar {
    position: sticky;
    margin-bottom: 0.5em;
    width: 40px;
    height: 40px;
    padding: 0;
    border-radius: 50%;
    border: none;
    background: var(--bg-color-secondary);
    color: var(--text-color-primary);
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    font-size: 20px;
    z-index: 20;
    margin-right: auto;
}

.viewer-overlay {
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,0.4);
  z-index: 50;
}

.viewer-modal {
  position: fixed;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 60;
}

.viewer-content {
  position: relative;
  background: #111;
  padding: 20px;
  max-width: 800px;
  width: 90%;
  border-radius: 10px;
}

.viewer-content video,
.viewer-content img {
  width: 100%;
  border-radius: 8px;
}

.viewer-close {
  position: absolute;
  top: 10px;
  right: 15px;
  font-size: 22px;
  background: none;
  border: none;
  color: white;
  cursor: pointer;
}

.viewer-prev,
.viewer-next {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  background: rgba(0,0,0,0.6);
  border: none;
  color: white;
  font-size: 20px;
  padding: 10px;
  cursor: pointer;
}

.viewer-prev { left: -50px; }
.viewer-next { right: -50px; }

.premium-overlay {
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.75);
  backdrop-filter: blur(6px);
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 9999;
}

.premium-box {
  width: 400px;
  max-width: 90%;
  background: #111;
  border-radius: 12px;
  padding: 25px;
  color: white;
  position: relative;
  animation: fadeIn 0.2s ease;
}

.premium-header {
  display: flex;
  align-items: center;
  gap: 10px;
}

.premium-icon {
  color: #1da1f2;
  font-size: 24px;
}

.premium-content ul {
  margin: 15px 0;
  padding-left: 20px;
}

.premium-btn {
  width: 100%;
  padding: 12px;
  border: none;
  border-radius: 8px;
  background: #1da1f2;
  color: white;
  font-weight: bold;
  cursor: pointer;
  font-size: 16px;
}

.premium-btn:hover {
  opacity: 0.9;
}

.premium-close {
  position: absolute;
  right: 15px;
  top: 15px;
  background: none;
  border: none;
  color: white;
  font-size: 18px;
  cursor: pointer;
}

@keyframes fadeIn {
  from { opacity: 0; transform: scale(0.95); }
  to { opacity: 1; transform: scale(1); }
}

/* ============================================== */
/* PÁGINA DE PAINEL */
/* ============================================== */

#panel-actions{
    width:100%;
    display:flex;
    flex-direction:column;
    align-items:center;
}

.panel-section {
    width: 100%;
    padding: 2em 0;
}

.panel-box {
    width: 80%;
    max-width: 600px;
    border-radius: 18px;
    padding: 18px;
    background: var(--bg-color-secondary);
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: center;
    gap: 16px;
}

#ranking-box,
#verification-box,
#edit-model-box {
    border: 1px solid var(--default-color-secondary);
}

#indicate-dojob-box,
#location-model-box {
    border: 1px solid var(--default-color-primary);
}

#location-model-box .location-select {
    margin-bottom: 1em;
}

.panel-box-content h2 {
    color: var(--text-color-primary);
    align-self: center;
}

.panel-box-content p {
    color: var(--text-color-secondary);
}

.panel-btn {
    border: none;
    border-radius: 12px;
    padding: 12px 16px;
    cursor: pointer;
    font-weight: 600;
    flex-shrink: 0;
    color: var(--text-color-primary);
}

.profile-completion{
    display:flex;
    align-items:center;
    gap:1.5rem;
}

.profile-completion-circle{
    position:relative;
    width:110px;
    height:110px;
    flex-shrink:0;
}

.profile-completion-circle svg{
    width:100%;
    height:100%;
    transform:rotate(-90deg);
}

.circle-bg{
    fill:none;
    stroke:#444;
    stroke-width:10;
}

.circle-progress{
    fill:none;
    stroke:var(--default-color-secondary);
    stroke-width:10;
    stroke-linecap:round;

    stroke-dasharray:327;
    stroke-dashoffset:327;

    transition:.4s;
}

.profile-completion-circle span{
    position:absolute;
    inset:0;

    display:flex;
    align-items:center;
    justify-content:center;

    font-size:1.4rem;
    font-weight:700;
    color:#fff;
}

#profile-pending{
    margin-top:1rem;
}

#profile-pending div{
    display:flex;
    align-items:center;
    gap:.6rem;
}

#profile-pending i{
    color:#ffb300;
}

#verification-box .panel-btn,
#edit-model-box .panel-btn {
    background: var(--default-color-secondary);
}

#indicate-dojob-box .panel-btn,
#location-model-box .panel-btn {
    background: var(--default-color-primary);
}

.panel-btn:hover {
    opacity: 0.9;
}

.hidden {
    display: none !important;
}

.indicate-link-wrapper{

    display:flex;
    align-items:center;
    gap:.5rem;

    width:100%;
}

.indicate-link-input{
    height: calc(48px - 0.9rem) !important;
    margin:0;
    flex:1;
    background:#111;
    border:1px solid #333;
    color:#fff;
    padding:.9rem 1rem;
    border-radius:12px;
    font-size:.95rem;
}

.indicate-copy-btn{
    width:48px;
    height:48px;
    border:none;
    border-radius:12px;
    background:#222;
    color:#fff;
    cursor:pointer;
    flex-shrink:0;
    transition:.2s;
}

.indicate-copy-btn:hover{

    background:#333;
}

.subscription-wrapper{
    width:100%;
    max-width:1200px;

    display:flex;
    flex-direction:column;
    gap:1rem;

    align-items:center;
}

.subscription-header{
    width: calc(90% - 38px);

    background:var(--bg-color-secondary);

    border:1px solid var(--default-color-primary);

    border-radius:18px;

    padding:18px;

    display:flex;
    flex-direction:column;
    align-items: center;
    gap:.5rem;
}

.subscription-header h2{
    color:var(--text-color-primary);
    margin:0;
}

.subscription-header p{
    margin:0;
}

.subscription-highlight{
    color:var(--default-color-primary) !important;
    font-weight:600;
}

.subscription-carousel{
    width:100%;

    display:flex;
    gap:1rem;

    overflow-x:auto;
    scroll-snap-type:x mandatory;

    scrollbar-width:none;
}

.subscription-carousel::-webkit-scrollbar{
    display:none;
}

.subscription-carousel::before,
.subscription-carousel::after{
    content:"";
    flex: 0 0 7.5%;
}

.subscription-card{
    min-width:280px;
    flex-shrink:0;
    scroll-snap-align:center;
    background:#111;
    border:1px solid var(--default-color-secondary);
    border-radius:18px;
    padding:1.5rem;
    display:flex;
    flex-direction:column;
    gap:1rem;
}

.subscription-card.featured{
    border:3px solid var(--default-color-primary);
}

.subscription-plan{
    font-size:1.3rem;
    font-weight:700;
}

.subscription-price{

    font-size:2.5rem;

    font-weight:700;
}

.subscription-period{

    color:#999;
}

.subscription-discount{

    color:#00d26a;

    font-weight:600;
}

.subscription-benefits{

    display:flex;

    flex-direction:column;

    gap:.6rem;

    padding-left:1rem;
}

.subscription-benefits li{

    color:#ddd;
}

.subscription-btn{

    margin-top:auto;

    background:var(--default-color-primary);

    border:none;

    border-radius:12px;

    padding:1rem;

    color:white;

    font-weight:700;

    cursor:pointer;
}

.subscription-badge{

    align-self:flex-start;

    background:var(--default-color-primary);

    color:white;

    padding:.3rem .8rem;

    border-radius:999px;

    font-size:.75rem;

    font-weight:700;
}

.subscription-badge.gold{

    background:#ffb300;
}

/* DESKTOP */
@media (min-width: 900px){

    .subscription-carousel{
        
        justify-content:center;
        align-items:stretch;

        overflow:visible;

        scroll-snap-type:none;

        flex-wrap:wrap;

    }

    .subscription-carousel::before,
    .subscription-carousel::after{
        content:none;
        display:none;
    }

    .subscription-card{

        width:320px;
        min-width:320px;
    }

    .subscription-card.featured{

        transform:scale(1.05);
    }
}

.premium-overlay {
    position: fixed;
    inset: 0;
    width: 100vw;
    height: 100dvh;

    background: rgba(0,0,0,.75);
    backdrop-filter: blur(8px);

    display: flex;
    justify-content: center;
    align-items: center;

    z-index: 999999;
}

.premium-modal {

    width: 100vw;
    max-width: 1300px;

    max-height: 95dvh;

    background: var(--bg-color-primary);

    border-radius: 20px;

    position: relative;
}

.premium-close {

    position: absolute;

    right: 20px;
    top: 20px;

    width: 40px;
    height: 40px;

    border: none;

    border-radius: 50%;

    background: #222;

    color: white;

    cursor: pointer;

    z-index: 10;
}

.galeria-modelo-grid {
    max-width: 900px;
    list-style: none;
    padding: 0;
    margin: 0;
}

.galeria-item {
    position: relative;
    width: 100%;
    aspect-ratio: 1 / 1;
    overflow: hidden;
    cursor: pointer;
}

.galeria-item img,
.galeria-item video {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.galeria-play {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);

    font-size: 2rem;
    pointer-events: none;
}

.pagamentos-grid {
    width: 100%;
}

.pagamentos-grid li {
    display: flex;
    align-items: center;
    gap: .75em;

    padding: 1em;
    border-radius: 10px;

    background: rgba(255,255,255,.05);
}

.pagamentos-grid i {
    font-size: 1.5rem;
}

.servico {
    color: var(--text-color-primary);
}

.faz,
.recebe {
    color: var(--text-color-primary);
    font-weight: 600;
    padding: 0.2em 0.6em;
    border-radius: 12px;
    font-size: 0.8em;
    width: fit-content;
}

.faz {
    background: var(--default-color-primary);
}

.recebe {
    background: var(--default-color-secondary);
}

.video-verificacao-container {
  width: 100%;
  max-width: 400px;
  aspect-ratio: 4 / 5;
  overflow: hidden;
  border-radius: 12px;
  background: var(--bg-color-secondary);
}

.video-verificacao-container video {
  width: 100%;
  object-fit: cover;
}


















.related-wrapper{
    display:inline-flex;
    gap:1.5rem;
    overflow-x:auto;
    overflow-y:hidden;
    scroll-behavior:smooth;
    -webkit-overflow-scrolling:touch;
    padding: 0 5% 1em 5%;
}
/* Força os cards dentro do slider a manterem um tamanho fixo sem esmagar */
.related-wrapper .related-card-item {
    flex: 0 0 280px;          /* Largura ideal para o card no modo carrossel */
    width: 280px;
}

/* DESIGN DO SCROLLBAR BONITINHO */
.related-wrapper::-webkit-scrollbar {
    height: 6px;              /* Altura fina e elegante */
}

.related-wrapper::-webkit-scrollbar-track {
    background: #0a0a0a;      /* Fundo da barra de rolagem */
    border-radius: 10px;
}

.related-wrapper::-webkit-scrollbar-thumb {
    background: #252525;      /* Cor da barra em si */
    border-radius: 10px;
    transition: background 0.2s ease;
}

.related-wrapper::-webkit-scrollbar-thumb:hover {
    background: #3a3a3a;      /* Cor de destaque quando passa o mouse */
}

/* ============================================== */
/* VISUALIZADOR DE MÍDIAS */
/* ============================================== */

#media-viewer{
    position: fixed;
    inset: 0;

    display: flex;
    align-items: center;
    justify-content: center;

    background: rgba(0,0,0,.9);

    opacity: 0;
    visibility: hidden;

    transition: .2s;

    z-index: 999999;
}

#media-viewer.active{
    opacity: 1;
    visibility: visible;
}

.media-viewer-content{
    width: 95vw;
    height: 95dvh;

    display: flex;
    align-items: center;
    justify-content: center;
}

.media-viewer-content img,
.media-viewer-content video{
    max-width: 100%;
    max-height: 100%;
    border-radius: 12px;
}

#media-viewer-close{
    position: absolute;

    top: 20px;
    right: 20px;

    width: 48px;
    height: 48px;

    border: none;
    border-radius: 50%;

    cursor: pointer;

    font-size: 24px;
}

/* ============================================== */
/* DOJOB VIDEO */
/* ============================================== */

body.video-viewer {
    margin: 0 !important;
}

body.video-viewer footer {
    display: none !important;
}

/* ============================================== */
/* DOJOB - VIDEO PAGE (FULLSCREEN MODE) */
/* ============================================== */

.video-page,
.video-page body {
    margin: 0 !important;
    padding: 0 !important;
    height: 100dvh !important;
    background: #000;
}

.video-page header,
.video-page footer,
.video-page .nav-container {
    display: none !important;
}

.video-page main {
    all: unset;
}

/* ============================================== */
/* FEED VERTICAL (Scroll estilo TikTok) */
/* ============================================== */

.video-page #video-feed {
    position: fixed;
    inset: 0;

    height: 100dvh;
    overflow-y: auto;

    scroll-snap-type: y mandatory;
    scroll-behavior: smooth;
    overscroll-behavior-y: contain;
}

.video-page .video-container {
    position: relative;

    width: 100%;
    height: 100dvh;
    min-height: 100dvh;

    display: flex;
    justify-content: center;
    align-items: center;

    scroll-snap-align: start;
    scroll-snap-stop: always;

    background: #000;
}

.video-page .video-container video {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.video-page .video-container::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 45%;
    pointer-events: none;
    z-index: 2;

    background: linear-gradient(
        to top,
        rgba(0, 0, 0, 0.85) 0%,
        rgba(0, 0, 0, 0.6) 40%,
        rgba(0, 0, 0, 0.3) 70%,
        rgba(0, 0, 0, 0) 100%
    );
}

/* ============================================== */
/* UI LAYER */
/* ============================================== */

.video-page .video-ui {
    position: absolute;
    inset: 0;

    display: flex;
    flex-direction: column;
    justify-content: flex-end;

    padding: 1em;
    z-index: 4;

    pointer-events: none;
}

.video-page .video-ui button,
.video-page .video-ui input {
    pointer-events: auto;
}

/* ============================================== */
/* OVERLAY (Perfil + descrição) */
/* ============================================== */

.video-page .overlay {
    max-width: 70%;
    color: var(--text-color-primary);
    text-shadow: 0 2px 6px rgba(0, 0, 0, 0.8);
}

.video-page .overlay p {
    margin-top: 5px;
    font-size: 14px;
}

/* ============================================== */
/* BOTÕES LATERAIS */
/* ============================================== */

.video-page .bottom-row {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    width: 100%;
    margin-bottom: 20px;
}

.video-page .buttons {
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.video-page .buttons button {
    background: none;
    border: none;
    color: var(--text-color-primary);
    font-size: 28px;
    cursor: pointer;
    transition: transform 0.2s ease, color 0.2s ease;
}

.video-page .buttons button:active {
    transform: scale(1.2);
}

.video-page .buttons i.active {
    color: var(--default-color-secondary);
    animation: pop 0.3s ease;
}

@keyframes pop {
    0%   { transform: scale(1); }
    50%  { transform: scale(1.4); }
    100% { transform: scale(1); }
}

/* ============================================== */
/* CONTROLES INFERIORES */
/* ============================================== */

.video-page .video-controls {
    display: flex;
    align-items: center;
    gap: 10px;
    width: 100%;
}

.video-page .video-controls .time {
    color: var(--text-color-primary);
    font-size: 12px;
    min-width: 40px;
}

.video-page .progress-bar {
    flex: 1;
    appearance: none;
    height: 4px;
    border-radius: 2px;
    background: rgba(255, 255, 255, 0.3);
    cursor: pointer;
}

.video-page .progress-bar::-webkit-slider-thumb {
    appearance: none;
    width: 10px;
    height: 10px;
    background: var(--default-color-secondary);
    border-radius: 50%;
    cursor: pointer;
}

.video-page .btn-sound {
    background: none;
    border: none;
    color: var(--text-color-primary);
    font-size: 16px;
    cursor: pointer;
    width: 2em;
}

/* ============================================== */
/* PAUSE OVERLAY CENTRAL */
/* ============================================== */

.video-page .pause-overlay {
    position: absolute;
    inset: 0;

    display: flex;
    justify-content: center;
    align-items: center;

    z-index: 5;
    pointer-events: none;
    transition: opacity 0.2s ease;
}

.video-page .pause-overlay i {
    font-size: 60px;
    color: var(--text-color-primary);
    opacity: 0.8;
}

/* ============================================== */
/* BOTÃO VOLTAR */
/* ============================================== */

.video-page .video-back-btn {
    position: fixed;
    top: 0.5em;
    left: 0.5em;
    z-index: 10;

    background: none;
    border: none;
    color: var(--text-color-primary);
    font-size: 2em;
    cursor: pointer;
}

.video-page .video-back-btn:active {
    transform: scale(0.9);
}

/* ============================================== */
/* OCULTAR SCROLLBAR (mantendo scroll ativo) */
/* ============================================== */

.video-page #video-feed {
    scrollbar-width: none;
    -ms-overflow-style: none;
}

.video-page #video-feed::-webkit-scrollbar {
    display: none;
}

#videos-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 0.25em;
    width: 100%;
}

@media(min-width: 900px) {
    #videos-grid {
        grid-template-columns: repeat(3, 1fr);
        max-width: 1200px;
        margin-left: auto;
        margin-right: auto;
    }
}

/* ============================================== */
/* GRID DE VÍDEOS & CARDS (CORRIGIDO)             */
/* ============================================== */

.video-card {
    display: block;
    width: 100%;
    overflow: hidden;
}

/* 1. Definimos o aspect-ratio no wrapper para segurar o tamanho com elementos absolutos */
.video-thumbnail-wrapper {
    position: relative;
    width: 100%;
    aspect-ratio: 9/16; /* Mantém proporção vertical perfeita tipo TikTok/Reels */
    overflow: hidden;
    background-color: #000; /* Fundo preto caso o vídeo demore um pouco para carregar */
}

/* 2. Sobrepomos o vídeo e a imagem ocupando 100% do wrapper */
.video-preview-player,
.video-preview-img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: opacity 0.3s ease; /* Transição suave de fade no hover */
}

/* 3. ESTADO PADRÃO: Mostra apenas a imagem (thumbnail) e esconde o vídeo */
.video-preview-player {
    opacity: 0;
    pointer-events: none; /* Evita cliques acidentais no vídeo enquanto oculto */
}

.video-preview-img {
    opacity: 1;
    pointer-events: auto;
    display: block;
}

/* 4. ESTADO PLAYING: Quando o JS adiciona a classe .playing no hover/toque */
.video-card.playing .video-preview-player {
    opacity: 1;
    pointer-events: auto;
}

.video-card.playing .video-preview-img {
    opacity: 0;
    pointer-events: none;
}

/* 5. SEGURANÇA: Esconde o ícone de imagem quebrada do navegador enquanto a thumb não carrega no src */
.video-preview-img[src=""],
.video-preview-img:not([src]) {
    opacity: 0 !important;
    visibility: hidden !important;
}

/* Outros estilos complementares que você já tinha */
.videos-grid {
    width: 100%;
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
    gap: 8px;
}

.video-thumb {
    position: relative;
    aspect-ratio: 9/16;
    overflow: hidden;
    cursor: pointer;
}

.video-thumb video {
    width: 100%;
    height: 100%;
    object-fit: cover;
}




/* SWITCH TOGGLE */
.switch {
    position: relative;
    display: inline-block;
    width: 50px;
    height: 26px;
    flex-shrink: 0;
}

.switch input {
    opacity: 0;
    width: 0;
    height: 0;
}

.slider {
    position: absolute;
    cursor: pointer;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: var(--bg-color-quinary);
    transition: .4s;
    border-radius: 34px;
}

.slider:before {
    position: absolute;
    content: "";
    height: 18px;
    width: 18px;
    left: 4px;
    bottom: 4px;
    background-color: var(--text-color-primary);
    transition: .4s;
    border-radius: 50%;
}

input:checked + .slider {
    background-color: var(--default-color-primary);
}

input:checked + .slider:before {
    transform: translateX(24px);
}

.slider.round {
    border-radius: 34px;
}

.slider.round:before {
    border-radius: 50%;
}

/* ============================================== */
/* GRID DE CARDS                                  */
/* ============================================== */

.escort-card {
    background: var(--bg-color-quinary);
    width: 100%;
    min-width: 280px;
    max-width: 400px;
    padding: 20px;
    border-radius: 1em;
    display: flex;
    flex-direction: column;
}

.escort-card > div:first-child {
    height: 100px;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}

.escort-card > hr {
    width: 100%;
    margin: 0;
}

.escort-card > ol {
    height: 200px;
    margin-top: 0;
    margin-bottom: 0;
    align-self: stretch;
}

.escort-cards-scroll {
    overflow-x: auto;
    overflow-y: hidden;
    scrollbar-width: thin;
    scrollbar-color: var(--bg-color-quinary) transparent;
    -webkit-overflow-scrolling: touch;
}

.escort-cards-scroll::-webkit-scrollbar {
    height: 6px;
}

.escort-cards-scroll::-webkit-scrollbar-track {
    background: transparent;
}

.escort-cards-scroll::-webkit-scrollbar-thumb {
    background: var(--bg-color-quinary);
    border-radius: 999px;
}

.escort-cards-scroll::-webkit-scrollbar-thumb:hover {
    background: var(--bg-color-secondary);
}

/* /css/theme.css */
/* Dojob Models — the neutral surfaces and appearance options of Conteúdo. */
:root {
    --dm-text: #252525; --dm-secondary: #555; --dm-muted: #666;
    --dm-line: #e4e4e4; --dm-bg: #fff; --dm-sidebar: #fafafa;
    --dm-surface: #f7f7f7; --dm-hover: #f1f1f1; --dm-active: #ededed;
    --dm-button: #282828; --dm-button-text: #fff; --dm-media: #f5f4f2;
    --dm-error: #a12936; --dm-success: #276344; --dm-sidebar-width: 232px;
    --bg-color-primary: var(--dm-bg); --bg-color-secondary: var(--dm-sidebar);
    --bg-color-tertiary: var(--dm-surface); --bg-color-quaternary: var(--dm-line);
    --bg-color-quinary: var(--dm-active); --text-color-primary: var(--dm-text);
    --text-color-secondary: var(--dm-secondary); --default-color-primary: var(--dm-button);
    --default-color-secondary: var(--dm-muted); color-scheme: light;
}
:root[data-tema="preto"] { --dm-text:#f1f1f3; --dm-secondary:#d4d4dc; --dm-muted:#b6b6c1; --dm-line:#45454f; --dm-bg:#161618; --dm-sidebar:#1d1d21; --dm-surface:#25252b; --dm-hover:#34343b; --dm-active:#34343b; --dm-button:#eeeef2; --dm-button-text:#202025; --dm-media:#222226; --dm-error:#ffb3bd; --dm-success:#a8ddbb; color-scheme:dark; }
.partner-preview-label{position:absolute;inset:auto 12px 12px;z-index:2;padding:10px 12px;border-radius:10px;background:#17171deb;color:#fff;font-size:12px;line-height:1.4;text-align:center;pointer-events:none}
:root[data-tema="cinza"] { --dm-text:#25262b; --dm-secondary:#484a53; --dm-muted:#575a65; --dm-line:#c3c6ce; --dm-bg:#e9eaee; --dm-sidebar:#e0e2e7; --dm-surface:#f1f2f5; --dm-hover:#d7dae2; --dm-active:#d3d6de; --dm-media:#dfe1e7; }
:root[data-tema="azul"] { --dm-text:#25313e; --dm-secondary:#455b70; --dm-muted:#52677c; --dm-line:#cbdde9; --dm-bg:#eff7fd; --dm-sidebar:#e8f2fa; --dm-surface:#e5f0f8; --dm-hover:#dbeaf6; --dm-active:#dbeaf6; --dm-button:#293e51; --dm-media:#e3edf3; }
:root[data-tema="lavanda"] { --dm-text:#302b39; --dm-secondary:#595066; --dm-muted:#6a5e79; --dm-line:#e0d6eb; --dm-bg:#fff; --dm-sidebar:#faf7fd; --dm-surface:#f4eff9; --dm-hover:#eee6f6; --dm-active:#eee6f6; --dm-button:#41364f; --dm-media:#f3eef7; }
* { box-sizing:border-box; }
html { font-family:Arial,Helvetica,sans-serif; color:var(--dm-text); background:var(--dm-bg); scroll-padding-top:88px; }
body { background:var(--dm-bg) !important; color:var(--dm-text); font-family:Arial,Helvetica,sans-serif; font-size:14px; line-height:1.6; margin:0; min-height:100svh; }
body.dm-shell { display:block; margin:0; min-width:0; }
button,input,select,textarea { font:inherit; }
a { color:inherit; text-decoration:none; }
a,button,select { -webkit-tap-highlight-color:transparent; }
button,a,input,select,textarea { touch-action:manipulation; }
button { cursor:pointer; }
button:disabled { cursor:not-allowed; opacity:.65; }
button:active:not(:disabled) { transform:translateY(1px); }
:focus-visible { outline:2px solid var(--dm-text); outline-offset:4px; }
img,video { max-width:100%; }
h1,h2,h3 { color:var(--dm-text); line-height:1.25; font-weight:600; text-shadow:none !important; }
h1 { font-size:clamp(28px,3vw,40px); letter-spacing:-1.25px; }
h2 { font-size:22px; letter-spacing:-.6px; }
h3 { font-size:17px; letter-spacing:-.3px; }
p { color:var(--dm-muted); font-size:14px; line-height:1.75; }
a i,a span { color:inherit; }
hr,.flex-hr-text-primary,.flex-hr-text-secondary { border:0; background:var(--dm-line); height:1px; }
.hidden { display:none !important; }
.skip-link,.dm-skip-link { position:fixed; z-index:1000000; left:250px; top:-100px; padding:12px 18px; background:var(--dm-button); color:var(--dm-button-text); border-radius:8px; }
.skip-link:focus,.dm-skip-link:focus { top:12px; }
.sr-only { position:absolute !important; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.limit-width { width:100%; max-width:1120px; }
body.dm-shell > main { width:auto; max-width:none; min-height:65svh; margin:0 0 0 var(--dm-sidebar-width) !important; padding:104px 40px 64px; align-items:stretch; gap:32px; }
.flex-main { align-items:stretch; gap:28px; }
.flex-section { width:100%; margin-inline:auto; padding:24px 0; }
body.dm-shell > main > .limit-width,body.dm-shell > main > .flex-section { margin-inline:auto; }
.page-heading { position:static; inset:auto; display:block; width:100%; max-width:1120px; height:auto; min-height:0; z-index:auto; margin:0 auto 8px; padding:0; background:transparent; border:0; box-shadow:none; }
main header:not(.main-header) { position:static; inset:auto; height:auto; min-height:0; width:100%; z-index:auto; background:transparent; border:0; box-shadow:none; }
.page-heading h1 { margin:7px 0 12px; }
.page-eyebrow { color:var(--dm-muted); font-size:10px; font-weight:600; letter-spacing:1.8px; text-transform:uppercase; }
.page-intro { max-width:620px; color:var(--dm-muted); font-size:14px; line-height:1.8; }

/* Shared desktop sidebar and mobile navigation. */
body.dm-shell .main-header { position:fixed; inset:0 0 auto var(--dm-sidebar-width); width:auto; height:72px; min-height:0; z-index:80; border-bottom:1px solid var(--dm-line); background:var(--dm-bg); box-shadow:none; }
.header-line { width:100%; max-width:none; height:72px; min-height:0; padding:0 40px; display:flex; align-items:center; justify-content:space-between; gap:20px; }
.header-line > div:last-child { display:flex; align-items:center; justify-content:flex-end; gap:20px; margin-left:auto; }
.header-line > .dm-brand { opacity:0; visibility:hidden; pointer-events:none; }
.dm-brand { display:inline-flex; align-items:center; gap:10px; min-height:44px; color:var(--dm-text); }
.dm-brand-art { display:block; width:160px; max-width:100%; flex-shrink:0; aspect-ratio:5 / 2; }
.dm-brand-art .dm-brand-image { display:block; width:100%; height:auto; max-width:100%; aspect-ratio:5 / 2; object-fit:contain; object-position:center; filter:none; transform:none; }
.dm-brand-art .dm-brand-on-dark { display:none; }
:root[data-tema="preto"] .dm-brand-art .dm-brand-on-dark { display:block; }
:root[data-tema="preto"] .dm-brand-art .dm-brand-on-light { display:none; }
.header-line .dm-brand-art { width:128px; }
.dm-sidebar-brand .dm-brand-art { width:174px; }
.dm-footer-logo .dm-brand-art,.status-brand .dm-brand-art { width:180px; }
.dm-header-login { min-height:44px; display:inline-flex; align-items:center; font-size:13px; color:var(--dm-secondary); }
#headerRegister { margin:0 !important; min-height:40px; padding:9px 17px !important; font-size:12px; border-radius:8px; }
#userBalanceWrapper { color:var(--dm-text); border:1px solid var(--dm-line); border-radius:8px; padding:8px 12px; min-height:40px; }
#iconMenu { display:none; color:var(--dm-text); }
#iconMenu svg { width:21px; height:21px; }
body.dm-shell .nav-bar { display:block; position:fixed; inset:0 auto 0 0; width:var(--dm-sidebar-width); height:100dvh; padding:0; background:var(--dm-sidebar); border-right:1px solid var(--dm-line); z-index:90; transform:none; visibility:visible; opacity:1; pointer-events:auto; box-shadow:none; transition:none; }
body.dm-shell .nav-column { position:static; inset:auto; transform:none; width:100%; max-width:none; height:100%; min-height:0; overflow-y:auto; display:flex; flex-direction:column; align-items:stretch; gap:0; margin:0; padding:28px 18px 22px; border:0; background:var(--dm-sidebar); border-radius:0; }
.dm-sidebar-brand { margin:0 8px 35px; }
.dm-nav-group { margin-bottom:22px; }
.dm-nav-caption { display:block; font-size:9px; font-weight:600; letter-spacing:1.6px; color:var(--dm-muted); margin:0 13px 10px; }
.dm-nav-link { display:flex; align-items:center; gap:12px; color:var(--dm-secondary); font-size:12px; font-weight:400; line-height:1.3; min-height:44px; border:0; border-radius:8px; padding:12px 13px; margin:3px 0; width:100%; text-align:left; background:transparent; }
.dm-nav-link svg,.dm-theme-control svg { width:19px; height:19px; flex-shrink:0; }
.dm-nav-link:hover { color:var(--dm-text); background:var(--dm-hover); }
.dm-nav-link.is-current { background:var(--dm-active); color:var(--dm-text); font-weight:600; }
.dm-session-name { font-size:12px; margin:0 13px 14px; overflow-wrap:anywhere; }
.dm-sidebar-bottom { margin-top:auto; padding-top:20px; }
.dm-theme-control { display:flex; align-items:center; gap:11px; color:var(--dm-muted); font-size:11px; padding:10px 13px; flex-wrap:wrap; }
.dm-theme-control select { width:100%; margin-left:30px; max-width:133px; min-height:34px; padding:6px 9px; border-radius:6px; font-size:11px; background:var(--dm-bg); border:1px solid var(--dm-line); color:var(--dm-text); }
.dm-sidebar-note { border-top:1px solid var(--dm-line); padding:24px 13px 0; margin-top:18px; }
.dm-mini-line { display:block; height:2px; width:24px; background:var(--dm-muted); margin-bottom:16px; }
.dm-sidebar-note p { font-size:12px; line-height:1.8; margin-bottom:14px; }
.dm-sidebar-note small { color:var(--dm-muted); font-size:9px; line-height:1.6; }
.dm-bottom-nav { display:none !important; }
body.dm-shell > footer { width:auto; max-width:none; margin:0 0 0 var(--dm-sidebar-width); padding:32px 40px 20px; border-top:1px solid var(--dm-line); background:var(--dm-sidebar); gap:12px; color:var(--dm-muted); }
body.dm-shell > footer > .limit-width { display:grid; grid-template-columns:1.5fr 1fr 1fr; gap:32px; width:100%; max-width:1120px; margin-inline:auto; }
body.dm-shell > footer > .limit-width > div { display:flex; align-items:flex-start; flex-direction:column; gap:8px; }
body.dm-shell > footer > .limit-width > div:nth-child(2) { flex-direction:row; flex-wrap:wrap; gap:12px; }
body.dm-shell > footer h2 { font-size:14px; margin-bottom:5px; }
body.dm-shell > footer p,body.dm-shell > footer a { font-size:11px; line-height:1.8; }
body.dm-shell > footer a { color:var(--dm-secondary); }
body.dm-shell > footer a:hover { text-decoration:underline; }
body.dm-shell > footer > img,body.dm-shell > footer > .limit-width > div:nth-child(4) { display:none; }
body.dm-shell > footer > p { text-align:center; margin:0; color:var(--dm-muted); font-size:10px; }
#btnTop { width:auto; min-height:36px; padding:8px 12px; align-self:flex-end; color:var(--dm-muted); background:transparent; border:1px solid var(--dm-line); border-radius:7px; font-size:11px; margin-bottom:14px; }

/* Home architecture from Tops do Job, with Conteúdo's restrained palette. */
body.dm-shell > main.dm-home { padding:94px 40px 70px; }
.dm-home-container { max-width:1120px; margin-inline:auto; width:100%; }
.dm-hero { padding:54px 24px 46px; border-bottom:1px solid var(--dm-line); text-align:center; }
.dm-hero-copy { max-width:710px; margin-inline:auto; }
.dm-hero-eyebrow,.dm-home-kicker { color:var(--dm-muted); font-size:10px; letter-spacing:1.8px; font-weight:600; text-transform:uppercase; }
.dm-hero-title { font-size:clamp(38px,4.2vw,62px); letter-spacing:-2.4px; line-height:1.08; font-weight:600; max-width:650px; margin:18px auto; }
.dm-hero-description { max-width:495px; margin:0 auto; font-size:15px; line-height:1.8; }
.dm-hero-search { position:relative; max-width:590px; margin:28px auto 0; text-align:left; }
.dm-hero-search > label { display:block; margin-bottom:9px; color:var(--dm-secondary); font-size:11px; font-weight:500; }
.dm-hero-search-field { display:flex; align-items:center; position:relative; gap:12px; border:1px solid var(--dm-line); background:var(--dm-bg); border-radius:12px; padding:7px 8px 7px 17px; box-shadow:0 4px 16px #00000004; }
.dm-hero-search-field:focus-within { border-color:var(--dm-text); box-shadow:0 0 0 3px var(--dm-hover); }
.dm-hero-search-icon { color:var(--dm-muted); display:flex; flex-shrink:0; }
.dm-hero-search-icon svg { width:21px; height:21px; }
.dm-hero-search #location_search { border:0; border-radius:0; box-shadow:none; background:none; color:var(--dm-text); height:45px; min-height:45px; padding:8px 0; width:100%; font-size:14px; flex:1; min-width:0; }
.dm-hero-search #location_search:focus { outline:0; }
.dm-hero-search-field > a { min-height:44px; font-size:11px; white-space:nowrap; }
.dm-home-button,.dm-home-button-secondary { display:inline-flex; align-items:center; justify-content:center; gap:10px; min-height:44px; border-radius:8px; padding:11px 19px; font-size:12px; font-weight:500; border:1px solid var(--dm-button); background:var(--dm-button); color:var(--dm-button-text); }
.dm-home-button:hover { opacity:.88; }
.dm-home-button-secondary { border-color:var(--dm-line); background:var(--dm-bg); color:var(--dm-text); }
.dm-home-button-secondary:hover { background:var(--dm-hover); }
.dm-hero-search-hint { font-size:11px; margin:10px 2px 0; color:var(--dm-muted); }
.dm-hero-shortcuts { display:flex; justify-content:center; align-items:center; flex-wrap:wrap; gap:8px 20px; margin:22px auto 0; font-size:11px; color:var(--dm-muted); }
.dm-hero-shortcuts a:hover { text-decoration:underline; color:var(--dm-text); }
.dm-home-section { padding:38px 0; border-bottom:1px solid var(--dm-line); }
.dm-home-section-heading { display:flex; justify-content:space-between; align-items:flex-end; gap:18px; margin-bottom:23px; }
.dm-home-section-heading h2 { font-size:24px; margin-top:7px; letter-spacing:-.7px; }
.dm-home-section-heading p:not(.dm-home-kicker) { margin-top:8px; font-size:12px; }
.dm-home-text-link { display:inline-flex; align-items:center; gap:8px; min-height:44px; font-size:11px; color:var(--dm-secondary); white-space:nowrap; }
.dm-home-text-link:hover { text-decoration:underline; }
.dm-home-arrow { font-size:17px; line-height:1; }
.dm-home-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:18px; }
.dm-home-category { min-width:0; border-radius:12px; border:1px solid var(--dm-line); background:var(--dm-bg); overflow:hidden; transition:border-color 160ms ease; }
.dm-home-category:hover { border-color:var(--dm-muted); }
.dm-home-category-media { display:block; position:relative; overflow:hidden; background:var(--dm-media); aspect-ratio:4/4.4; }
.dm-home-category-media > img { display:block; width:100%; height:100%; object-fit:cover; }
.dm-home-category-media-video img { filter:saturate(.6); }
.dm-home-play { position:absolute; inset:0; margin:auto; width:46px; height:46px; border:1px solid #ffffff80; border-radius:50%; display:grid; place-items:center; color:#fff; background:#0005; backdrop-filter:blur(5px); }
.dm-home-play svg { width:20px; height:20px; }
.dm-home-category-body { padding:17px 15px 14px; }
.dm-home-category-body h3 { font-size:15px; margin:0 0 5px; }
.dm-home-category-body p { font-size:11px; line-height:1.65; }
.dm-home-category-action { display:flex; align-items:center; justify-content:space-between; border-top:1px solid var(--dm-line); margin-top:15px; padding-top:12px; font-size:11px; color:var(--dm-secondary); }
.dm-home-inclusive-links { display:flex; justify-content:center; flex-wrap:wrap; gap:8px 24px; margin-top:23px; font-size:11px; color:var(--dm-muted); }
.dm-home-inclusive-links a:hover { text-decoration:underline; }
.dm-home-cities { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; }
.dm-home-city { display:flex; align-items:center; justify-content:space-between; min-height:55px; padding:12px 16px; background:var(--dm-sidebar); border:1px solid var(--dm-line); border-radius:8px; font-size:12px; }
.dm-home-city:hover { background:var(--dm-hover); }
.dm-home-city span:last-child { color:var(--dm-muted); font-size:10px; }
.dm-home-city > span:first-child { font-size:12px; color:var(--dm-text); }
.dm-home-city small { display:block; color:var(--dm-muted); font-size:10px; line-height:1.65; margin-top:2px; }
body.dm-home-page > footer > .limit-width { grid-template-columns:1.5fr 1fr 1fr 1fr; gap:28px; }
body.dm-home-page > footer > .limit-width > div { display:flex !important; flex-direction:column !important; gap:9px; }
.dm-home-join { margin:36px 0; padding:30px 32px; border:1px solid var(--dm-line); background:var(--dm-sidebar); border-radius:12px; display:flex; align-items:center; justify-content:space-between; gap:24px; }
.dm-home-join h2 { font-size:25px; margin:8px 0; }
.dm-home-join p:not(.dm-home-kicker) { font-size:12px; max-width:460px; }
.dm-home-join-actions { display:flex; align-items:center; gap:10px; flex-shrink:0; }
.dm-home-faq { border-top:1px solid var(--dm-line); padding-top:32px; }
.dm-home-faq-list { max-width:840px; margin-top:20px; }
.dm-home-faq details { border-bottom:1px solid var(--dm-line); padding:0; }
.dm-home-faq summary { display:flex; align-items:center; justify-content:space-between; gap:20px; min-height:62px; padding:16px 0; font-size:13px; font-weight:500; color:var(--dm-text); cursor:pointer; list-style:none; }
.dm-home-faq summary::-webkit-details-marker { display:none; }
.dm-home-faq summary::after { content:"+"; font-size:23px; font-weight:300; color:var(--dm-muted); }
.dm-home-faq details[open] summary::after { content:"−"; }
.dm-home-faq details p { padding:0 30px 21px 0; font-size:13px; max-width:720px; }

/* Inputs, account screens and publication tools. */
input:not([type="checkbox"]):not([type="radio"]):not([type="range"]),select,textarea { color:var(--dm-text); background:var(--dm-bg); border:1px solid var(--dm-line); border-radius:8px; min-height:46px; padding:11px 13px; box-shadow:none; max-width:100%; }
input::placeholder,textarea::placeholder { color:var(--dm-muted); opacity:.8; }
input[type="checkbox"],input[type="radio"] { accent-color:var(--dm-button); width:18px; height:18px; flex-shrink:0; }
textarea { line-height:1.7; resize:vertical; }
.confirm-button,.panel-btn,.action-btn,.google-button,.email-button,.premium-btn,.subscription-btn { min-height:44px; padding:11px 18px; border-radius:8px; border:1px solid var(--dm-button); background:var(--dm-button); color:var(--dm-button-text); box-shadow:none; font-size:12px; font-weight:500; transition:opacity 140ms ease; }
.confirm-button i,.confirm-button span,.panel-btn i,.panel-btn span { color:inherit; }
.confirm-button:hover,.panel-btn:hover,.action-btn:hover { box-shadow:none; filter:none; opacity:.88; }
.decline-button,.google-button,.action-btn { color:var(--dm-text); background:var(--dm-bg); border:1px solid var(--dm-line); box-shadow:none; }
.decline-button:hover { box-shadow:none; background:var(--dm-hover); }
.location-select select { background:var(--dm-bg); color:var(--dm-text); border-color:var(--dm-line); }
.google-button i,.google-button span,.action-btn i { color:inherit; }
.field-label { display:block; margin:14px 0 6px; color:var(--dm-secondary); font-weight:500; font-size:12px; text-align:left; }
.field-hint { font-size:11px; color:var(--dm-muted); line-height:1.6; }
.page-auth .page-heading { max-width:460px; }
.page-auth > main .auth-panel,.page-auth > main .login-container,.page-auth > main .register-container { width:100%; max-width:460px; margin:0 auto; padding:28px; background:var(--dm-bg); border:1px solid var(--dm-line); border-radius:14px; box-shadow:none; align-items:stretch; gap:20px; }
.auth-panel > h2,.login-container > h2 { font-size:23px; letter-spacing:-.65px; margin:0 0 6px; }
.auth-panel .column,.auth-panel #emailForm { width:100%; align-items:stretch; gap:12px; }
.auth-panel input:not([type="checkbox"]):not([type="radio"]),.auth-panel select { width:100%; }
.auth-panel .confirm-button,.auth-panel .google-button { width:100%; }
.auth-panel > a,.auth-panel #emailForm > a { color:var(--dm-secondary); font-size:12px; text-align:center; min-height:32px; }
.auth-panel > a:hover,.auth-panel #emailForm > a:hover { text-decoration:underline; }
.auth-panel .terms,.terms-row,.register-terms { color:var(--dm-secondary); line-height:1.7; font-size:12px; }
.register-tab { width:100%; }
.register-tab.active { display:flex; flex-direction:column; align-items:stretch; gap:16px; }
.register-tab h2 { font-size:23px; }
.register-tab .grid-2 { display:grid; grid-template-columns:1fr 1fr; width:100%; gap:10px; }
.register-tab label { line-height:1.6; font-size:12px; }
.radio-card,.checkbox-card,.identify-option,.option-box { background:var(--dm-sidebar); color:var(--dm-text); border:1px solid var(--dm-line); border-radius:8px; padding:13px; box-shadow:none; }
.login-error,#loginError,#recoveryError { color:var(--dm-error); font-size:12px; line-height:1.6; }
.page-account .page-heading,.page-account main > .limit-width { max-width:960px; }
.panel-box,.perfil-header,.verify-section,.composer-panel,.editor-section { background:var(--dm-bg); border:1px solid var(--dm-line); border-radius:12px; box-shadow:none; color:var(--dm-text); padding:25px; }
.panel-box { min-width:0; gap:18px; }
.panel-box-content p { font-size:12px; }
.panel-box-content h2 { font-size:19px; }
#panel-actions { grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
#ranking-box,#verification-box,#edit-model-box,#indicate-dojob-box,#location-model-box { width:100%; background:var(--dm-bg); border-color:var(--dm-line); }
.panel-box i,.panel-section i { color:var(--dm-muted); }
.profile-completion-circle { color:var(--dm-text); }
.circle-bg { stroke:var(--dm-line); }
.circle-progress { stroke:var(--dm-text); }
.perfil-header { max-width:960px; margin-inline:auto; width:100%; }
.perfil-header button { min-height:44px; border-radius:8px; }
.perfil-header .perfil-foto,#perfil-foto { width:76px; height:76px; object-fit:cover; border-radius:50%; border:3px solid var(--dm-bg); box-shadow:0 0 0 1px var(--dm-line); }
.perfil-header h1,#perfil-nome-modelo { font-size:26px; }
.full-post-mode > .page-heading,.full-edit-mode > .page-heading { display:none; }
.editor-section { width:100%; max-width:960px; margin:0 auto 22px; display:flex; flex-direction:column; gap:18px; }
.editor-section > h2 { font-size:20px; }
.editor-section input,.editor-section select,.editor-section textarea { max-width:100%; }
.composer-panel { max-width:640px; width:100%; margin-inline:auto; }
.upload-trigger { background:transparent; border:0; min-height:44px; color:var(--dm-text); font-size:12px; padding:12px; }
.upload-box,#uploadBox,.upload-box-image { border:1px dashed var(--dm-line); background:var(--dm-sidebar); border-radius:12px; color:var(--dm-muted); box-shadow:none; }
.verify-section { width:100%; max-width:700px; margin-inline:auto; align-items:stretch; }
.verify-section-column,.verify-info,.model-verify-p { width:100%; max-width:100%; }
.verify-info { background:var(--dm-sidebar); border-color:var(--dm-line); color:var(--dm-muted); font-size:12px; }
.verify-section select { width:100%; }
.coins-page-content,.coins-intro { max-width:620px; width:100%; margin:auto; }
.coins-intro { display:flex; align-items:flex-start; flex-direction:column; gap:22px; border:1px solid var(--dm-line); padding:30px; border-radius:12px; }
.coins-symbol { display:grid; place-items:center; width:48px; height:48px; border-radius:12px; border:1px solid var(--dm-line); color:var(--dm-text); background:var(--dm-sidebar); }
.nav-notification-wrapper { position:relative; display:flex; align-items:center; }
#iconNotification { display:grid; place-items:center; color:var(--dm-text); background:transparent; border:0; width:40px; height:40px; border-radius:8px; }
#iconNotification svg { width:19px; height:19px; }
#notificationPopup { position:absolute; top:calc(100% + 12px); right:0; width:min(330px,calc(100vw - 40px)); padding:8px; background:var(--dm-bg); border:1px solid var(--dm-line); border-radius:12px; box-shadow:0 10px 40px #0002; }
.notification-item { padding:14px 12px; border-bottom:1px solid var(--dm-line); }
.notification-item:last-child { border:0; }
.notification-item h3 { font-size:13px; margin-bottom:5px; }
.notification-item p { font-size:11px; }
.notification-badge { min-width:16px; height:16px; font-size:9px; background:var(--dm-button); color:var(--dm-button-text); position:absolute; top:0; right:0; border-radius:50%; display:grid; place-items:center; }
.plans-container { width:calc(100% - 32px); max-width:600px; background:var(--dm-bg); color:var(--dm-text); border:1px solid var(--dm-line); border-radius:14px; padding:26px; }
.plans-container .confirm-button:has(input) { background:var(--dm-bg); color:var(--dm-text); border-color:var(--dm-line); padding:12px; }
.plans-container .confirm-button:has(input:checked) { border-color:var(--dm-text); background:var(--dm-surface); }
.plans-container label { cursor:pointer; }
.plans-container #closeCoinsBtn { width:40px; height:40px; border:0; border-radius:8px; background:transparent; color:var(--dm-text); font-size:20px; }
.card-section,.card-section.blue,.card-section.pink { background:transparent; border:0; border-radius:0; padding:0; }
.card-grid .card,.role-option { background:var(--dm-sidebar); border:1px solid var(--dm-line); border-radius:9px; color:var(--dm-text); box-shadow:none; }
.card-grid input:checked + .card,.role-selector input:checked + .role-option { background:var(--dm-active); border-color:var(--dm-text); box-shadow:none; }
.card-grid .card i,.card-grid .card span,.role-option span { color:var(--dm-text); }
#register-tab-1 button { width:100%; max-width:100%; }
.upload-box-image { flex-direction:column; justify-content:center; align-items:center; gap:14px; position:relative; }
.upload-box-image .upload-trigger { position:relative; z-index:3; background:var(--dm-bg); border:1px solid var(--dm-line); border-radius:8px; }
.role-selector input[type="radio"],.card-grid input[type="radio"],.card-grid input[type="checkbox"] { display:block; position:absolute; width:1px; height:1px; opacity:0; margin:0; clip-path:inset(50%); }
.role-selector input:focus-visible + .role-option,.card-grid input:focus-visible + .card { outline:2px solid var(--dm-text); outline-offset:3px; }
.role-selector .role-option { opacity:1 !important; filter:none !important; }
.role-selector input:not(:checked) + .role-option { border-color:var(--dm-line); }
.status-page.dm-shell { display:flex; }
.status-page.dm-shell > main { margin:0 !important; padding:36px; min-height:0; width:100%; max-width:500px; }
.checkbox-line { gap:10px; align-items:flex-start; }
.checkbox-line label { color:var(--dm-secondary); font-size:11px; line-height:1.8; }
.checkbox-line input { margin-top:2px; }
.coins-page-content p { margin-block:12px; }

/* Discovery, cards and filters. */
.acompanhantes-search-block { width:100%; padding:0; margin:0 auto; max-width:1120px; }
.acompanhantes-location-search { position:relative; width:100%; max-width:540px; margin:0; }
.acompanhantes-location_search { width:100%; min-height:48px; font-size:13px; }
#location_results { left:0; right:0; top:calc(100% + 6px); width:100%; margin:0; border:1px solid var(--dm-line); border-radius:10px; background:var(--dm-bg); box-shadow:0 10px 30px #0000000d; max-height:300px; overflow:auto; z-index:30; }
#location_results:empty { display:none; }
#location_results li { padding:0; border:0; font-size:12px; color:var(--dm-text); }
#location_results .location-option { width:100%; min-height:44px; padding:12px 15px; border:0; border-bottom:1px solid var(--dm-line); border-radius:0; background:var(--dm-bg); color:var(--dm-text); text-align:left; font-size:12px; }
#location_results .location-option:hover,#location_results .location-option.active { background:var(--dm-hover); }
.acompanhantes-filters-wrapper { margin:0 auto; padding:0; width:100%; max-width:1120px; border-bottom:1px solid var(--dm-line); }
.acompanhantes-category-filters { display:flex; justify-content:flex-start; width:100%; overflow-x:auto; padding:0 0 10px; gap:7px; scrollbar-width:thin; }
.filter-item { white-space:nowrap; flex-shrink:0; border:1px solid var(--dm-line); border-radius:7px; background:var(--dm-bg); color:var(--dm-secondary); padding:9px 15px; min-height:40px; font-size:12px; box-shadow:none; }
.filter-item.active,.filter-item[aria-current="page"] { background:var(--dm-button); color:var(--dm-button-text); border-color:var(--dm-button); }
.filters-shadow-left,.filters-shadow-right { display:none; }
.location-badge { width:100%; max-width:1120px; margin:0 auto; padding:0; text-align:left; font-size:clamp(23px,2.4vw,32px); line-height:1.35; letter-spacing:-.8px; }
.location-badge span { color:var(--dm-text); }
.actions-bar { width:100%; max-width:1120px; margin:0 auto; padding:0; justify-content:space-between; }
.action-btn { display:inline-flex; align-items:center; justify-content:center; gap:8px; }
.sort-select { font-size:12px; min-width:160px; }
.models-grid { width:100%; max-width:1120px; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); align-items:stretch; gap:22px; margin:0 auto; }
.model-card-link { display:block; width:100%; min-width:0; height:100%; }
.model-card-container { width:100%; height:100%; background:var(--dm-bg); border:1px solid var(--dm-line); border-radius:12px; overflow:hidden; box-shadow:none; padding:0; }
.model-card-container:hover { box-shadow:none; border-color:var(--dm-muted); transform:none; }
.model-card-column { width:100%; height:100%; min-width:0; padding:0; gap:0; }
.model-carousel { width:100%; height:auto; aspect-ratio:4/4.7; border-radius:0; background:var(--dm-media); }
.model-name-user { min-width:0; padding:15px 16px 10px; gap:4px; }
.model-nome { display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:2; overflow:hidden; min-height:2.7em; font-size:17px; font-weight:600; line-height:1.35; letter-spacing:-.4px; overflow-wrap:anywhere; color:var(--dm-text); }
.model-username { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:11px; line-height:1.5; color:var(--dm-muted); }
.model-verified { color:var(--dm-success); font-size:9px; font-weight:500; gap:5px; margin-bottom:5px; }
.model-verified i,.model-verified span { color:inherit; }
.model-card-row { display:flex; flex-direction:column; align-items:stretch; padding:12px 16px 16px; width:100%; flex:1; gap:12px; }
.model-card-info-column { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); width:100%; min-width:0; padding:0; gap:8px 12px; }
.model-card-values { grid-column:1/-1; min-height:5rem; padding:0 0 8px; border-bottom:1px solid var(--dm-line); margin:0; }
.model-card-values p { margin:0; }
.model-valor { font-size:21px; line-height:1.3; color:var(--dm-text); font-weight:600; letter-spacing:-.5px; white-space:normal; overflow:visible; text-overflow:clip; overflow-wrap:break-word; }
.model-valor-text,.model-card-info-row span { font-size:.75rem; line-height:1.5; color:var(--dm-muted); }
.model-card-info-row { min-width:0; gap:7px; align-items:flex-start; }
.model-card-info-row:nth-last-child(-n+2) { grid-column:1/-1; }
.model-card-info-row span { min-width:0; overflow-wrap:break-word; }
.model-card-info-row i { flex:0 0 1rem; line-height:1.5; color:var(--dm-muted); font-size:.75rem; }
.model-card-info-description { width:100%; min-width:0; padding:0; margin-top:auto; }
.model-card-info-description p { display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:3; overflow:hidden; min-height:4.8em; font-size:.8125rem; line-height:1.6; color:var(--dm-muted); }
.model-card-info-sep { display:none; }
.carousel-btn { width:34px; height:34px; min-height:34px; border:1px solid #fff5; background:#0005; color:#fff; }
.carousel-dots { gap:4px; }
.carousel-dot { width:5px; height:5px; }
.carousel-dot.active { transform:none; }
.breadcrumb { width:100%; max-width:1120px; margin:0 auto; padding:16px 0; border-color:var(--dm-line); font-size:11px; color:var(--dm-muted); }
.nearby-title { font-size:18px; }
.nearby-city-link { background:var(--dm-sidebar); border:1px solid var(--dm-line); border-radius:7px; padding:8px 12px; min-height:38px; font-size:11px; }
#servicesOnCity,#nearbyCities { width:100%; max-width:1120px; margin:10px auto; }
.modal { background:#0006; backdrop-filter:blur(3px); }
.modal-content,.premium-modal,.premium-box,.viewer-modal { background:var(--dm-bg); color:var(--dm-text); border:1px solid var(--dm-line); border-radius:14px; box-shadow:0 15px 70px #0002; }
.modal-content { width:calc(100% - 32px); max-width:480px; max-height:calc(100dvh - 48px); overflow:auto; padding:26px; }
.modal-header { margin-bottom:24px; }
.modal-header h2 { font-size:23px; }
.modal-header button { min-width:44px; min-height:44px; color:var(--dm-text); background:transparent; border:0; }
.filter-group { margin-bottom:18px; }
.filter-group label { display:block; font-size:12px; margin-bottom:7px; color:var(--dm-secondary); }
.filter-group select { width:100%; }

/* Profile and reading layouts. */
.page-profile .background-img { border-radius:14px; max-height:280px; object-fit:cover; }
.page-profile main > .flex-section,.page-profile main > .limit-width { max-width:960px; }
.page-profile .profile-row { width:100%; max-width:960px; }
.page-profile .profile-row h1 { font-size:30px; letter-spacing:-1px; }
.page-profile .grid-2,.page-profile .flex-grid-2 { gap:20px; }
.page-profile .galeria-modelo-grid { gap:10px; }
.page-profile .galeria-item { border-radius:10px; background:var(--dm-media); }
.profile-details { padding-block:22px; border-top:1px solid var(--dm-line); }
.pagamentos-grid li { border:1px solid var(--dm-line); border-radius:8px; background:var(--dm-sidebar); }
.faz,.recebe { background:var(--dm-surface); color:var(--dm-text); border:1px solid var(--dm-line); font-size:10px; border-radius:4px; }
.page-reading main { max-width:none; }
.reading-document,.page-reading .info-section { width:100%; max-width:720px; margin:0 auto; padding:0; background:transparent; border:0; border-radius:0; }
.reading-document h1,.page-reading .info-section h1 { font-size:clamp(29px,3.2vw,42px); letter-spacing:-1.4px; margin-bottom:24px; }
.reading-document h2,.page-reading .info-section h2 { font-size:20px; line-height:1.4; margin:32px 0 14px; }
.reading-document h3 { margin:23px 0 12px; }
.reading-document p,.reading-document li,.page-reading .info-section p,.page-reading .info-section li { font-size:14px; line-height:1.95; color:var(--dm-secondary); margin-bottom:16px; }
.reading-document ul,.reading-document ol,.page-reading .info-section ul { list-style:disc; padding-left:22px; margin:18px 0 24px; }
.reading-document ol { list-style:decimal; }
.reading-document ol li { display:list-item; }
.reading-document strong { color:var(--dm-text); font-weight:600; }
.reading-document a,.page-reading .info-section a { color:var(--dm-text); text-decoration:underline; text-underline-offset:3px; overflow-wrap:anywhere; }
.meta-date { color:var(--dm-muted); padding-bottom:22px; border-bottom:1px solid var(--dm-line); margin-bottom:28px; font-size:11px !important; }
.status-page { min-height:100svh; padding:40px 24px; display:flex; align-items:center; justify-content:center; background:var(--dm-bg); }
.status-card { width:100%; max-width:500px; text-align:center; padding:40px; border:1px solid var(--dm-line); border-radius:16px; background:var(--dm-bg); }
.status-brand { color:var(--dm-text); font-size:22px; font-weight:600; letter-spacing:-.8px; }
.status-card h1 { margin:28px 0 16px; font-size:38px; }
.status-card p { margin:12px 0 24px; }
.status-actions,.status-links { display:flex; justify-content:center; align-items:center; gap:12px; flex-wrap:wrap; }
.status-links { margin-top:28px; font-size:11px; color:var(--dm-muted); }
#videos-grid { width:100%; max-width:1120px; margin:0 auto; grid-template-columns:repeat(4,minmax(0,1fr)); gap:18px; }
.video-card,.video-thumbnail-wrapper { border-radius:12px; background:var(--dm-media); }
html.video-page { background:#111; }
html.video-page body.dm-shell > main#video-feed { margin:0 !important; padding:0; }
html.video-page body.dm-shell .nav-bar { display:none; }
html.video-page .video-container,html.video-page .video-ui,html.video-page .video-ui p { color:#fff; }
.premium-modal,.premium-box { max-height:calc(100dvh - 32px); overflow:auto; }
.subscription-card,.subscription-card.featured { border:1px solid var(--dm-line); background:var(--dm-bg); box-shadow:none; }
.subscription-price,.subscription-header h2,.premium-header h2 { color:var(--dm-text); }
.subscription-benefits li { color:var(--dm-muted); }
.premium-close,.premium-btn { border-radius:8px; }

@media(min-width:1440px) { body.dm-shell > main { padding-inline:56px; } .header-line { padding-inline:56px; } .dm-hero { padding-block:65px 53px; } }
@media(max-width:1150px) {
    :root { --dm-sidebar-width:200px; }
    body.dm-shell .nav-column { padding-inline:12px; }
    body.dm-shell > main,body.dm-shell > main.dm-home { padding-inline:28px; }
    .header-line { padding-inline:28px; }
    .dm-home-grid { gap:12px; }
    .dm-home-category-body { padding:13px 12px; }
    .models-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .dm-home-cities { grid-template-columns:repeat(3,minmax(0,1fr)); }
    .dm-home-join { flex-wrap:wrap; }
    body.dm-shell > footer > .limit-width { grid-template-columns:1.5fr 1fr; }
    body.dm-shell > footer > .limit-width > div:nth-child(2) { display:none; }
}
@media(max-width:760px) {
    :root { --dm-sidebar-width:0px; }
    html { scroll-padding-top:76px; }
    body.dm-shell > main,body.dm-shell > main.dm-home { margin:0 !important; width:100%; min-height:60svh; padding:86px 20px 42px; gap:24px; }
    body.dm-shell .main-header { inset:0 0 auto; height:60px; }
    .header-line { height:60px; padding:0 16px; gap:12px; }
    #iconMenu { display:grid; place-items:center; width:36px; height:44px; min-width:36px; cursor:pointer; border:0; background:transparent; padding:0; }
    .header-line > .dm-brand { opacity:1; visibility:visible; pointer-events:auto; margin-right:auto; }
    .header-line .dm-brand-art { width:120px; }
    .header-line > div:last-child { gap:9px; margin-left:0; }
    .dm-header-login { display:none; }
    #headerRegister { font-size:10px; min-height:34px; padding:8px 10px !important; }
    #userBalanceWrapper { font-size:11px; min-height:34px; padding:7px 9px; }
    body.dm-shell .nav-bar { display:none; inset:60px 0 0; width:100%; height:calc(100dvh - 60px); background:#0005; border:0; }
    body.dm-shell .nav-bar.active { display:block; }
    body.dm-shell .nav-column { width:min(300px,calc(100vw - 44px)); height:100%; padding:24px 18px; background:var(--dm-bg); border-right:1px solid var(--dm-line); }
    .dm-sidebar-brand { margin-bottom:25px; }
    .dm-sidebar-note { padding-top:18px; }
    .dm-nav-link { min-height:46px; font-size:13px; }
    .dm-menu-open { overflow:hidden; }
    .dm-bottom-nav { display:block !important; position:fixed; inset:auto 0 0; height:auto; min-height:64px; padding:4px 10px max(4px,env(safe-area-inset-bottom)); background:var(--dm-bg) !important; border-top:1px solid var(--dm-line); z-index:75; }
    .dm-bottom-nav .nav-row { display:grid; grid-template-columns:repeat(4,1fr); max-width:500px; margin:auto; width:100%; height:auto; background:var(--dm-bg) !important; }
    .dm-bottom-nav .dm-nav-link { flex-direction:column; justify-content:center; gap:5px; min-height:52px; padding:5px 3px; border-radius:8px; margin:0; font-size:9px; }
    .dm-bottom-nav .dm-nav-link svg { width:20px; height:20px; }
    .dm-bottom-nav .dm-nav-link.is-current { background:transparent; }
    .dm-bottom-nav .dm-nav-link.is-current svg { stroke-width:2; }
    body.dm-shell > footer { margin:0; padding:26px 20px 92px; gap:12px; }
    body.dm-shell > footer > .limit-width { grid-template-columns:1fr; gap:20px; }
    body.dm-shell > footer > .limit-width > div:nth-child(1) { display:none; }
    body.dm-shell > footer > .limit-width > div:nth-child(3) { flex-direction:row; flex-wrap:wrap; justify-content:center; gap:10px 18px; }
    body.dm-home-page > footer > .limit-width { grid-template-columns:1fr 1fr; gap:26px; }
    body.dm-home-page > footer > .limit-width > div:first-child { grid-column:1/-1; }
    body.dm-home-page > footer > .limit-width > div:last-child { grid-column:1/-1; flex-direction:row !important; flex-wrap:wrap; justify-content:flex-start; gap:7px 17px; }
    #btnTop { align-self:center; margin:0 0 10px; }
    .skip-link,.dm-skip-link { left:16px; }
    .dm-hero { padding:34px 0 32px; }
    .dm-hero-title { font-size:42px; line-height:1.09; letter-spacing:-1.7px; max-width:370px; margin:16px auto; }
    .dm-hero-description { font-size:13px; max-width:350px; }
    .dm-hero-eyebrow,.dm-home-kicker { font-size:9px; letter-spacing:1.6px; }
    .dm-hero-search { margin-top:24px; }
    .dm-hero-search-field { gap:9px; padding:6px 8px 6px 13px; border-radius:10px; }
    .dm-hero-search #location_search { font-size:12px; min-height:43px; }
    .dm-hero-search-field > a { font-size:10px; padding:10px; }
    .dm-hero-search-hint { font-size:10px; line-height:1.6; }
    .dm-hero-shortcuts { gap:9px 16px; font-size:10px; margin-top:19px; }
    .dm-home-section { padding:28px 0; }
    .dm-home-section-heading { margin-bottom:18px; align-items:flex-start; gap:10px; }
    .dm-home-section-heading h2 { font-size:22px; }
    .dm-home-text-link { font-size:10px; white-space:normal; text-align:right; line-height:1.5; max-width:100px; }
    .dm-home-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
    .dm-home-category-media { aspect-ratio:4/4.2; }
    .dm-home-category-body { padding:13px 12px; }
    .dm-home-category-body h3 { font-size:14px; }
    .dm-home-category-body p { font-size:10px; }
    .dm-home-category-action { font-size:10px; margin-top:12px; padding-top:10px; }
    .dm-home-inclusive-links { font-size:10px; gap:9px 18px; }
    .dm-home-cities { grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; }
    .dm-home-city { font-size:11px; padding:11px 12px; min-height:51px; }
    .dm-home-join { margin:28px 0; padding:24px 20px; gap:21px; }
    .dm-home-join h2 { font-size:23px; }
    .dm-home-join-actions { flex-wrap:wrap; gap:10px; }
    .dm-home-join p:not(.dm-home-kicker) { font-size:12px; }
    .dm-home-faq { padding-top:26px; }
    .dm-home-faq summary { font-size:12px; min-height:60px; padding-block:15px; }
    .dm-home-faq details p { font-size:12px; padding-right:15px; }
    .page-auth .page-heading { max-width:460px; margin-bottom:2px; }
    .page-auth > main .auth-panel,.page-auth > main .login-container,.page-auth > main .register-container { padding:23px 20px; border-radius:12px; }
    .auth-panel > h2 { font-size:21px; }
    .page-intro { font-size:13px; }
    .panel-box,.perfil-header,.verify-section,.composer-panel,.editor-section { padding:20px 17px; }
    #panel-actions { grid-template-columns:1fr; gap:14px; }
    .models-grid { gap:16px; grid-template-columns:repeat(auto-fit,minmax(min(100%,9.5rem),1fr)); }
    .model-card-row { padding:12px 12px 14px; }
    .model-card-info-column { grid-template-columns:minmax(0,1fr); gap:.5rem; }
    .model-card-info-description,.model-card-info-sep { display:none; }
    .model-name-user { padding:12px 12px 9px; }
    .model-nome { font-size:15px; }
    .model-username { font-size:10px; }
    .model-verified { font-size:8px; }
    .model-valor { font-size:20px; }
    .location-badge { font-size:25px; }
    .acompanhantes-category-filters { gap:6px; }
    .filter-item { font-size:11px; padding:8px 12px; }
    .actions-bar { gap:12px; }
    .sort-select { min-width:0; max-width:160px; font-size:11px; }
    .reading-document h1 { font-size:32px; letter-spacing:-1px; }
    .reading-document p,.reading-document li { font-size:13px; line-height:1.9; }
    .reading-document h2 { font-size:19px; }
    .status-card { padding:30px 22px; }
    #videos-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
    .page-profile .profile-row { grid-template-columns:76px 1fr; }
    .page-profile .profile-row h1 { font-size:25px; }
}
@media(max-width:360px) { body.dm-shell > main,body.dm-shell > main.dm-home { padding-inline:16px; } .dm-hero-title { font-size:36px; } .dm-hero-search-field > a { max-width:85px; white-space:normal; text-align:center; line-height:1.35; } .dm-home-grid { gap:10px; } .header-line .dm-brand-art { width:112px; } .dm-home-join-actions { width:100%; } .dm-home-join-actions > a { width:100%; } .model-nome { font-size:14px; } }
@media(prefers-reduced-motion:reduce) { *,*::before,*::after { scroll-behavior:auto !important; transition:none !important; animation:none !important; } }
@media(prefers-contrast:more) { :root { --dm-line:var(--dm-muted); } a:focus-visible,button:focus-visible { outline-width:3px; } }

/* Central footer: the reference's four columns, registration strip and lower bar. */
body.dm-shell > #footer-placeholder.dm-site-footer { display:block; padding:0; background:var(--dm-sidebar); color:var(--dm-secondary); text-align:left; }
body.dm-shell > #footer-placeholder.dm-site-footer .dm-footer-inner { width:100%; max-width:1232px; margin-inline:auto; padding:40px 40px 0; }
body.dm-shell > #footer-placeholder.dm-site-footer .dm-footer-grid { display:grid; grid-template-columns:1.2fr .8fr .85fr 1.25fr; gap:32px; padding-bottom:32px; border-bottom:1px solid var(--dm-line); }
body.dm-shell > #footer-placeholder.dm-site-footer .dm-footer-grid > * { min-width:0; }
body.dm-shell > #footer-placeholder.dm-site-footer .dm-footer-logo { display:inline-flex; min-height:44px; margin-bottom:16px; color:var(--dm-text); }
body.dm-shell > #footer-placeholder.dm-site-footer .dm-footer-logo:hover { text-decoration:none; }
body.dm-shell > #footer-placeholder.dm-site-footer p { margin:0; font-size:.8125rem; line-height:1.8; color:var(--dm-muted); }
body.dm-shell > #footer-placeholder.dm-site-footer .dm-footer-brand > p { max-width:29rem; }
body.dm-shell > #footer-placeholder.dm-site-footer .dm-footer-social { display:flex; flex-wrap:wrap; gap:8px; margin-top:18px; }
body.dm-shell > #footer-placeholder.dm-site-footer .dm-footer-social a { display:grid; place-items:center; width:40px; min-height:40px; border:1px solid var(--dm-line); border-radius:9px; color:var(--dm-secondary); }
body.dm-shell > #footer-placeholder.dm-site-footer .dm-footer-social a:hover { color:var(--dm-text); background:var(--dm-hover); }
body.dm-shell > #footer-placeholder.dm-site-footer .dm-footer-social svg { width:20px; height:20px; }
body.dm-shell > #footer-placeholder.dm-site-footer .dm-footer-heading { margin:6px 0 16px; font-size:.75rem; font-weight:650; letter-spacing:.1em; line-height:1.5; text-transform:uppercase; }
body.dm-shell > #footer-placeholder.dm-site-footer .dm-footer-links { display:flex; flex-direction:column; gap:2px; margin:0; padding:0; list-style:none; }
body.dm-shell > #footer-placeholder.dm-site-footer .dm-footer-links a { display:flex; align-items:center; gap:6px; min-height:32px; padding:5px 0; font-size:.8125rem; line-height:1.6; color:var(--dm-secondary); text-underline-offset:4px; overflow-wrap:anywhere; }
body.dm-shell > #footer-placeholder.dm-site-footer .dm-footer-links a:hover { color:var(--dm-text); text-decoration:underline; }
body.dm-shell > #footer-placeholder.dm-site-footer .dm-footer-callout { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:32px; margin:0; padding:32px 0; border-bottom:1px solid var(--dm-line); }
body.dm-shell > #footer-placeholder.dm-site-footer .dm-footer-callout h2 { margin:0 0 10px; font-size:clamp(1.375rem,2vw,1.75rem); font-weight:600; line-height:1.3; letter-spacing:-.035em; }
body.dm-shell > #footer-placeholder.dm-site-footer .dm-footer-callout p { max-width:40rem; }
body.dm-shell > #footer-placeholder.dm-site-footer .dm-footer-cta { display:inline-flex; justify-content:center; align-items:center; gap:20px; min-width:190px; min-height:48px; padding:12px 20px; border:1px solid var(--dm-button); border-radius:10px; background:var(--dm-button); color:var(--dm-button-text); font-size:.8125rem; font-weight:600; text-decoration:none; white-space:nowrap; }
body.dm-shell > #footer-placeholder.dm-site-footer .dm-footer-cta:hover { opacity:.9; }
body.dm-shell > #footer-placeholder.dm-site-footer .dm-footer-company { margin:0; padding:24px 0; font-style:normal; overflow-wrap:anywhere; }
body.dm-shell > #footer-placeholder.dm-site-footer .dm-footer-company p { font-size:.6875rem; line-height:1.9; }
body.dm-shell > #footer-placeholder.dm-site-footer .dm-footer-company a { display:inline; min-height:0; font-size:inherit; color:var(--dm-secondary); text-underline-offset:3px; }
body.dm-shell > #footer-placeholder.dm-site-footer .dm-footer-bottom { border-top:1px solid var(--dm-line); }
body.dm-shell > #footer-placeholder.dm-site-footer .dm-footer-bottom > .dm-footer-inner { display:flex; justify-content:space-between; align-items:center; gap:24px; padding-top:18px; padding-bottom:18px; }
body.dm-shell > #footer-placeholder.dm-site-footer .dm-footer-bottom p { font-size:.6875rem; line-height:1.8; }
body.dm-shell > #footer-placeholder.dm-site-footer #btnTop { display:inline-flex; align-items:center; justify-content:center; gap:10px; flex:0 0 auto; min-height:44px; margin:0; padding:10px 12px; border:0; border-radius:8px; background:transparent; color:var(--dm-secondary); font-size:.75rem; }
body.dm-shell > #footer-placeholder.dm-site-footer #btnTop:hover { color:var(--dm-text); background:var(--dm-hover); }
@media(max-width:1200px) {
    body.dm-shell > #footer-placeholder.dm-site-footer .dm-footer-grid { grid-template-columns:1fr 1fr; gap:32px 40px; }
    body.dm-shell > #footer-placeholder.dm-site-footer .dm-footer-callout { grid-template-columns:1fr; gap:20px; }
    body.dm-shell > #footer-placeholder.dm-site-footer .dm-footer-cta { justify-self:start; }
}
@media(max-width:760px) {
    body.dm-shell > #footer-placeholder.dm-site-footer { padding-bottom:calc(76px + env(safe-area-inset-bottom)); }
    body.dm-shell > #footer-placeholder.dm-site-footer .dm-footer-inner { padding:32px 20px 0; }
    body.dm-shell > #footer-placeholder.dm-site-footer .dm-footer-links a { min-height:44px; }
    body.dm-shell > #footer-placeholder.dm-site-footer .dm-footer-social a { width:44px; min-height:44px; }
    body.dm-shell > #footer-placeholder.dm-site-footer .dm-footer-bottom > .dm-footer-inner { flex-direction:column; align-items:flex-start; gap:12px; padding-block:20px; }
    body.dm-shell > #footer-placeholder.dm-site-footer .dm-footer-company a { display:inline-flex; align-items:center; min-height:44px; }
}
@media(max-width:600px) {
    body.dm-shell > #footer-placeholder.dm-site-footer .dm-footer-grid { grid-template-columns:1fr; gap:26px; }
    body.dm-shell > #footer-placeholder.dm-site-footer .dm-footer-callout { padding-block:28px; }
    body.dm-shell > #footer-placeholder.dm-site-footer .dm-footer-cta { justify-self:stretch; }
}
/* Account loading/error feedback; no motion and no change to the saved appearance. */
body > main[data-session-blocked] { display:none !important; }
body[data-session-changing] > :not(header):not(#accountSessionStatus):not(#ageVerificationOverlay) { display:none !important; }
body > .dm-session-status { position:fixed; z-index:120; inset:88px 24px auto calc(var(--dm-sidebar-width) + 24px); display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:16px; padding:20px; background:var(--dm-bg); color:var(--dm-text); border:1px solid var(--dm-line); border-radius:12px; box-shadow:0 8px 24px #0000000b; }
.dm-session-status p { margin:0; flex:1 1 220px; font-size:14px; line-height:1.6; color:var(--dm-text); }
.dm-session-status button { min-height:44px; padding:10px 16px; border:1px solid var(--dm-line); border-radius:8px; background:var(--dm-button); color:var(--dm-button-text); font:inherit; cursor:pointer; }
#sessionLogoutError { font-size:12px; line-height:1.6; color:var(--dm-error); margin:8px 12px; }
@media(max-width:760px) { body > .dm-session-status { inset:80px 16px auto; padding:16px; } }
#notificationLoadError { position:fixed; inset:80px 16px auto auto; width:min(280px,calc(100vw - 32px)); margin:0; padding:12px; border:1px solid var(--dm-line); border-radius:8px; background:var(--dm-bg); color:var(--dm-text); font-size:12px; line-height:1.6; box-shadow:0 8px 24px #0000000b; }
body.dm-menu-open > .dm-session-status, body.dm-menu-open #notificationLoadError { visibility:hidden; pointer-events:none; }

/* Incremento: cartões com controles independentes e serviços compactos. */
.model-card-link .model-name-user{color:inherit;text-decoration:none;min-width:0}.model-card-link:has(.model-name-user:focus-visible){outline:3px solid var(--text-color-primary);outline-offset:3px}
.gallery-trigger{display:block;border:0;padding:0;background:transparent;width:100%;height:100%;cursor:zoom-in}.gallery-trigger:focus-visible{outline:3px solid #51aaff;outline-offset:-4px}.carousel-dot{border:0;padding:0;position:relative}.carousel-dot::after{content:"";position:absolute;width:44px;height:44px;left:50%;top:50%;transform:translate(-50%,-50%)}
.dm-service-chips{display:flex!important;flex-wrap:wrap;gap:8px!important;list-style:none;padding:0;margin:12px 0}.dm-service-chip{display:flex;align-items:center;gap:8px;padding:8px 12px;border-radius:12px;background:var(--bg-color-secondary);border:1px solid var(--border-color);font-size:.875rem}.dm-service-chip small{opacity:.7;font-size:.75rem}.dm-service-secondary{margin-top:16px;color:var(--text-color-secondary)}.dm-service-secondary summary{cursor:pointer;min-height:44px;display:flex;align-items:center}.dm-services{width:100%;text-align:left}.dm-services h3{margin:0}.dm-services p{margin:12px 0}
@media(prefers-reduced-motion:reduce){.carousel-track{transition:none!important}.gallery-trigger:active{transform:none}}

.catalog-partner-heading{grid-column:1/-1;font-size:1.25rem;margin:16px 0 0}.partners-page{width:100%;max-width:90rem}.partners-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:24px;margin:24px 0}.partner-tile{padding:20px;border:1px solid var(--dm-line);border-radius:16px;background:var(--dm-sidebar);min-width:0}.partner-tile a{color:inherit}.partner-tile h2{font-size:1.25rem}.partner-tile img{width:100%;height:auto;aspect-ratio:3/1;object-fit:contain;border-radius:8px}.partners-materials{margin-top:32px}.partners-materials a{display:inline-flex;align-items:center;min-height:44px;margin-right:20px}.partners-empty{padding:32px 0;color:var(--dm-muted)}
.carousel-dots .carousel-dot{width:44px!important;height:44px!important;background:transparent!important;display:grid;place-items:center;flex:0 0 44px}.carousel-dot::after{width:6px;height:6px;border-radius:50%;background:#aaa}.carousel-dot.active::after{background:#fff}.carousel-dots{gap:0!important;bottom:0!important}
html.apple-site-refinement .page-profile main>:is(.background-img,.profile-row,.profile-details){max-width:78rem}.apple-site-refinement .acompanhantes-category-filters{overflow-x:auto;scrollbar-width:thin;mask-image:linear-gradient(to right,#000 96%,transparent)}
.video-media-error{position:absolute;left:16px;right:16px;top:25%;padding:16px;background:#17171deb;color:#fff;z-index:3;border-radius:12px}.video-container:focus-visible{outline:3px solid #51aaff;outline-offset:-4px}.video-container .overlay a{color:inherit}.video-container button{min-width:44px;min-height:44px}
@media(max-width:760px){.apple-site-refinement .page-listing>main{gap:1rem;padding-top:1rem}.apple-site-refinement .page-listing .location-badge{font-size:1.5rem;margin:0}.apple-site-refinement .acompanhantes-category-filters{padding-bottom:.5rem}.apple-site-refinement .acompanhantes-search-block{gap:.5rem}.apple-site-refinement .actions-bar{gap:.5rem}}

.video-feed-nav{position:fixed;right:20px;top:80px;display:grid;gap:8px;z-index:12}.video-feed-nav button{width:44px;height:44px;border-radius:50%;background:#151519cc;border:1px solid #ffffff60;color:#fff;font-size:24px;cursor:pointer}.video-feed-nav button:focus-visible{outline:3px solid #51aaff;outline-offset:3px}body:not(.video-viewer) .video-feed-nav{display:none}

.model-carousel{position:relative;touch-action:pan-y}.model-carousel .carousel-track{position:relative;z-index:0}.model-carousel .carousel-btn{position:absolute;z-index:5;pointer-events:auto}.model-carousel .carousel-dots{z-index:4}.model-carousel .carousel-dot::after{pointer-events:none}

/* The announcement is the card destination; carousel controls remain separate. */
.model-card-link:not(a){position:relative}
.model-card-link:not(a) .model-name-user::after{content:"";position:absolute;inset:0;z-index:1}
.model-card-link:not(a) .model-carousel{z-index:2}
.model-card-photo-link{display:block;width:100%;height:100%;color:inherit;cursor:pointer}
.model-card-photo-link:focus-visible{outline:3px solid var(--dm-text);outline-offset:-4px}

.viewer-counter{position:absolute;top:12px;left:20px;color:var(--dm-text);font-size:.875rem;z-index:3}.viewer-content>img,.viewer-content>video{object-fit:contain}

.video-interaction-status:not(:empty){position:absolute;left:16px;right:70px;top:80px;padding:12px;border-radius:10px;background:#151519dd;color:#fff;font-size:.875rem}

/* /css/experiments/apple-home.css */
/* Optional home experiment. Existing colors, routes and content remain authoritative. */
html.apple-home-experiment {
    --apple-system-font: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    font-optical-sizing: auto;
}
.apple-home-experiment body.dm-home-page {
    font-family: var(--apple-system-font);
    -webkit-font-smoothing: antialiased;
}
.apple-home-experiment .dm-home {
    font-family: var(--apple-system-font);
    --apple-content-width: 90rem;
    --apple-page-gutter: clamp(2rem, 2.5vw, 3rem);
}
.apple-home-experiment .dm-home-container { max-width: var(--apple-content-width); }
.apple-home-experiment body.dm-home-page > main.dm-home { padding: 5.25rem var(--apple-page-gutter) 3rem; }
.apple-home-experiment .dm-hero { padding: 1rem 0; }
.apple-home-experiment .dm-hero-copy { max-width: 46rem; }
.apple-home-experiment .dm-hero-eyebrow,
.apple-home-experiment .dm-home-kicker {
    font-size: .75rem;
    font-weight: 600;
    letter-spacing: .09em;
    line-height: 1.6;
}
.apple-home-experiment .dm-hero-title {
    font-size: clamp(2.25rem, 3.5vw, 3.5rem);
    font-weight: 650;
    letter-spacing: -.045em;
    line-height: 1.055;
    max-width: 40rem;
    margin: .75rem auto;
    text-wrap: balance;
    overflow-wrap: anywhere;
}
.apple-home-experiment .dm-hero-title > span { color: var(--dm-secondary); }
.apple-home-experiment .dm-hero-description {
    max-width: 42rem;
    font-size: 1rem;
    line-height: 1.6;
    letter-spacing: -.01em;
    text-wrap: pretty;
}
.apple-home-experiment .dm-hero-search { max-width: 42rem; margin-top: 1rem; }
.apple-home-experiment .dm-hero-search > label { margin: 0 0 .5rem .125rem; font-size: .875rem; font-weight: 550; }
.apple-home-experiment .dm-hero-search-field {
    min-height: 3.625rem;
    padding: .25rem 1rem;
    gap: .875rem;
    border-radius: .875rem;
    background: var(--dm-surface);
    box-shadow: 0 1px 1px #00000006, 0 6px 20px #00000005;
    transition: border-color 140ms ease, box-shadow 140ms ease;
}
.apple-home-experiment .dm-hero-search-field:focus-within {
    border-color: var(--dm-muted);
    box-shadow: 0 0 0 3px var(--dm-hover), 0 4px 16px #00000008;
}
.apple-home-experiment .dm-hero-search #location_search { font-size: 1rem; min-height: 3rem; padding: .5rem 0; letter-spacing: -.01em; }
.apple-home-experiment .dm-hero-search-meta { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: .375rem .75rem; margin-top: .375rem; }
.apple-home-experiment .dm-hero-search-hint { font-size: .875rem; line-height: 1.5; margin: 0; overflow-wrap: anywhere; }
.apple-home-experiment .dm-hero-search .dm-hero-brazil-link { flex: 0 0 auto; min-height: 2.75rem; padding: .5rem .125rem; border: 0; background: transparent; color: var(--dm-secondary); font-size: .875rem; text-underline-offset: .25em; }
.apple-home-experiment .dm-hero-brazil-link:hover { text-decoration: underline; color: var(--dm-text); }
.apple-home-experiment .dm-hero-search-field #location_results {
    inset: calc(100% + .5rem) 0 auto;
    width: 100%;
    border-radius: .875rem;
    box-shadow: 0 12px 32px #00000014;
    background: var(--dm-bg);
}
.apple-home-experiment #location_results .location-option { min-height: 3rem; padding: .875rem 1rem; font-size: .875rem; }
.apple-home-experiment #location_results .location-option.active { background: var(--dm-active); color: var(--dm-text); }
.apple-home-experiment .dm-hero-shortcuts { margin-top: .25rem; gap: .125rem 1.125rem; font-size: .875rem; line-height: 1.5; }
.apple-home-experiment .dm-hero-shortcuts a { display: inline-flex; align-items: center; min-height: 2.75rem; padding: .25rem .125rem; text-underline-offset: .25em; }
.apple-home-experiment .dm-home-section { padding: 1.5rem 0; }
.apple-home-experiment .dm-home-section-heading { align-items: center; margin-bottom: 1.25rem; gap: 1.5rem; }
.apple-home-experiment .dm-home-section-heading h2 { font-size: clamp(1.5rem, 2vw, 1.875rem); font-weight: 620; line-height: 1.2; letter-spacing: -.035em; margin-top: .375rem; text-wrap: balance; }
.apple-home-experiment .dm-home-section-heading p:not(.dm-home-kicker) { font-size: .9375rem; line-height: 1.6; margin-top: .5rem; }
.apple-home-experiment .dm-home-text-link { font-size: .875rem; line-height: 1.5; gap: .5rem; min-height: 2.75rem; }
.apple-home-experiment .dm-home-grid { gap: 1.25rem; }
.apple-home-experiment .dm-home-category {
    display: flex;
    flex-direction: column;
    border-radius: 1rem;
    background: var(--dm-sidebar);
    min-width: 0;
    box-shadow: 0 1px 3px color-mix(in srgb, var(--dm-text) 4%, transparent);
    transform-origin: center;
    transition: border-color 140ms ease, box-shadow 160ms ease;
}
.apple-home-experiment .dm-home-category-media { aspect-ratio: 4 / 3; background: var(--dm-media); }
.apple-home-experiment .dm-home-category-media > img { height: 100%; width: 100%; object-fit: cover; object-position: 50% 0%; }
.apple-home-experiment .dm-home-category-body { display: flex; flex-direction: column; flex: 1; padding: 1.125rem 1rem 1rem; }
.apple-home-experiment .dm-home-category-body h3 { font-size: 1.125rem; font-weight: 600; line-height: 1.3; letter-spacing: -.025em; margin-bottom: .375rem; overflow-wrap: anywhere; }
.apple-home-experiment .dm-home-category-body p { font-size: .9375rem; line-height: 1.6; margin-bottom: .75rem; }
.apple-home-experiment .dm-home-category-action { margin-top: auto; padding-top: .75rem; font-size: .875rem; font-weight: 500; min-height: 2.75rem; }
.apple-home-experiment .dm-home-category-action > span:last-child { font-size: 1.125rem; }
.apple-home-experiment .dm-home-inclusive-links { margin-top: .75rem; align-items: center; font-size: .875rem; gap: .25rem 1.25rem; }
.apple-home-experiment .dm-home-inclusive-links a { display: inline-flex; align-items: center; min-height: 2.75rem; }
.apple-home-experiment .dm-home-cities { gap: .75rem; }
.apple-home-experiment .dm-home-city { border-radius: .75rem; padding: .875rem 1rem; min-height: 4.25rem; background: var(--dm-sidebar); transition: background-color 140ms ease, border-color 140ms ease; }
.apple-home-experiment .dm-home-city > span:first-child { font-size: .9375rem; font-weight: 500; line-height: 1.5; }
.apple-home-experiment .dm-home-city small { font-size: .875rem; line-height: 1.6; font-weight: 400; }
.apple-home-experiment .dm-home-join { padding: 2rem; border-radius: 1rem; margin: 2.5rem 0; }
.apple-home-experiment .dm-home-join h2 { font-size: clamp(1.75rem, 2.5vw, 2.125rem); font-weight: 620; letter-spacing: -.035em; line-height: 1.2; margin: .625rem 0 .75rem; }
.apple-home-experiment .dm-home-join p:not(.dm-home-kicker) { font-size: .875rem; line-height: 1.75; }
.apple-home-experiment .dm-home-button,
.apple-home-experiment .dm-home-button-secondary { border-radius: .6875rem; min-height: 2.875rem; font-size: .8125rem; padding: .8125rem 1.125rem; font-weight: 550; }
.apple-home-experiment .dm-home-faq { padding-top: 2.5rem; }
.apple-home-experiment .dm-home-faq-list { max-width: 56rem; margin-top: 1.5rem; }
.apple-home-experiment .dm-home-faq summary { font-size: .9375rem; font-weight: 500; line-height: 1.5; letter-spacing: -.01em; padding: 1.25rem .125rem; min-height: 4.25rem; }
.apple-home-experiment .dm-home-faq summary::after { content: "+"; font-size: 1.5rem; line-height: 1; transition: transform 160ms ease; }
.apple-home-experiment .dm-home-faq details[open] summary::after { content: "+"; transform: rotate(45deg); }
.apple-home-experiment .dm-home-faq details p { font-size: .875rem; line-height: 1.8; padding: 0 2rem 1.5rem .125rem; }
.apple-home-experiment body.dm-home-page .dm-nav-link { font-family: var(--apple-system-font); font-size: .8125rem; min-height: 2.875rem; }
.apple-home-experiment body.dm-home-page .dm-nav-caption { font-size: .625rem; letter-spacing: .12em; }
.apple-home-experiment body.dm-home-page .dm-nav-link > span { min-width: 0; overflow-wrap: anywhere; }
.apple-home-experiment body.dm-home-page .dm-sidebar-note p { font-size: .8125rem; }
.apple-home-experiment body.dm-home-page .dm-sidebar-note small { font-size: .6875rem; }
.apple-home-experiment body.dm-home-page .dm-theme-control { font-size: .75rem; }
.apple-home-experiment body.dm-home-page .dm-theme-control select { min-height: 2.5rem; font-size: .75rem; }
.apple-home-experiment body.dm-home-page .main-header { background: var(--dm-bg); }
.apple-home-experiment body.dm-home-page #headerRegister { font-family: var(--apple-system-font); min-height: 2.75rem; padding: .75rem 1rem !important; font-size: .75rem; }
.apple-home-experiment body.dm-home-page #iconMenu { min-width: 2.75rem; min-height: 2.75rem; border-radius: .625rem; }
.apple-home-experiment :is(.dm-home-button,.dm-home-button-secondary,.dm-home-category,.dm-home-city,.dm-home-faq summary,#headerRegister,#iconMenu) {
    transform: scale(var(--apple-press-scale, 1));
    -webkit-tap-highlight-color: transparent;
}
.apple-home-experiment [data-apple-pressed="true"] { filter: brightness(.94); }
.apple-home-experiment :is(.dm-home a,.dm-home summary,#iconMenu,#headerRegister,.dm-nav-link):focus-visible { outline: 2px solid var(--dm-text); outline-offset: 4px; }
@supports (background: color-mix(in srgb, black, transparent)) {
    .apple-home-experiment body.dm-home-page .main-header {
        background: color-mix(in srgb, var(--dm-bg) 90%, transparent);
        backdrop-filter: blur(16px) saturate(110%);
        -webkit-backdrop-filter: blur(16px) saturate(110%);
    }
}
@media (hover: hover) and (pointer: fine) {
    .apple-home-experiment .dm-home-category:hover { border-color: var(--dm-muted); box-shadow: 0 8px 24px #0000000b; }
    .apple-home-experiment .dm-home-city:hover { border-color: var(--dm-muted); background: var(--dm-hover); }
}
@media (max-width: 1150px) {
    .apple-home-experiment .dm-home { --apple-page-gutter: 1.5rem; }
    .apple-home-experiment .dm-home-grid { grid-template-columns: repeat(auto-fit, minmax(min(100%, max(9rem, calc((100% - 1rem) / 2))), 1fr)); gap: 1rem; }
    .apple-home-experiment .dm-home-category-body { padding: 1rem .875rem .875rem; }
}
@media (min-width: 761px) and (max-height: 800px) {
    .apple-home-experiment .dm-hero { padding-block: 1rem .75rem; }
    .apple-home-experiment .dm-hero-search { margin-top: 1rem; }
    .apple-home-experiment .dm-home-section { padding-block: 1.25rem; }
}
@media (max-width: 760px) {
    .apple-home-experiment body.dm-home-page > main.dm-home { padding: 5rem 1.25rem 2.5rem; }
    .apple-home-experiment .dm-hero { padding: 1rem 0 .75rem; }
    .apple-home-experiment .dm-hero-eyebrow,.apple-home-experiment .dm-home-kicker { font-size: .6875rem; letter-spacing: .08em; }
    .apple-home-experiment .dm-hero-title { font-size: clamp(2.25rem, 10vw, 3.125rem); line-height: 1.075; letter-spacing: -.045em; margin: .75rem auto; }
    .apple-home-experiment .dm-hero-description { font-size: .9375rem; line-height: 1.7; max-width: 24rem; }
    .apple-home-experiment .dm-hero-search { margin-top: 1rem; }
    .apple-home-experiment .dm-hero-search-field { min-height: 3.625rem; padding: .25rem .875rem; gap: .625rem; border-radius: .875rem; }
    .apple-home-experiment .dm-hero-search #location_search { font-size: 1rem; min-height: 2.875rem; }
    .apple-home-experiment .dm-hero-search-meta { margin-top: .5rem; }
    .apple-home-experiment .dm-hero-search-hint { font-size: .875rem; line-height: 1.5; }
    .apple-home-experiment .dm-hero-shortcuts { justify-content: flex-start; margin-top: .25rem; gap: .125rem 1rem; font-size: .875rem; }
    .apple-home-experiment .dm-hero-shortcuts > span { flex-basis: 100%; }
    .apple-home-experiment .dm-home-section { padding: 1.5rem 0; }
    .apple-home-experiment .dm-home-section-heading { flex-wrap: wrap; align-items: flex-start; gap: .5rem; margin-bottom: 1rem; }
    .apple-home-experiment .dm-home-section-heading h2 { font-size: 1.5rem; line-height: 1.25; }
    .apple-home-experiment .dm-home-section-heading p:not(.dm-home-kicker) { font-size: .9375rem; line-height: 1.6; }
    .apple-home-experiment .dm-home-text-link { font-size: .875rem; line-height: 1.5; max-width: none; }
    .apple-home-experiment .dm-home-grid { gap: .875rem; }
    .apple-home-experiment .dm-home-category { border-radius: .875rem; }
    .apple-home-experiment .dm-home-category-body { padding: .9375rem .8125rem .8125rem; }
    .apple-home-experiment .dm-home-category-media { aspect-ratio: 1; }
    .apple-home-experiment .dm-home-category-body h3 { font-size: 1rem; line-height: 1.3; }
    .apple-home-experiment .dm-home-category-body p { font-size: .875rem; line-height: 1.6; margin-bottom: .75rem; }
    .apple-home-experiment .dm-home-category-action { font-size: .875rem; padding-top: .6875rem; flex-wrap: wrap; gap: .25rem; }
    .apple-home-experiment .dm-home-inclusive-links { gap: .125rem 1rem; font-size: .875rem; }
    .apple-home-experiment .dm-home-cities { gap: .625rem; }
    .apple-home-experiment .dm-home-cities { grid-template-columns: repeat(auto-fit, minmax(min(100%, max(9rem, calc((100% - 1rem) / 2))), 1fr)); }
    .apple-home-experiment .dm-home-city > span:first-child { min-width: 0; overflow-wrap: anywhere; }
    .apple-home-experiment .dm-home-city { min-height: 4.25rem; padding: .8125rem .75rem; }
    .apple-home-experiment .dm-home-join { padding: 1.5rem 1.25rem; margin: 1.875rem 0; }
    .apple-home-experiment .dm-home-join h2 { font-size: 1.75rem; }
    .apple-home-experiment .dm-home-join-actions { width: 100%; gap: .5rem .75rem; }
    .apple-home-experiment .dm-home-join-actions > .dm-home-text-link { max-width: none; text-align: left; }
    .apple-home-experiment .dm-home-faq { padding-top: 1.875rem; }
    .apple-home-experiment .dm-home-faq summary { min-height: 4rem; font-size: .875rem; padding: 1.125rem .125rem; }
    .apple-home-experiment .dm-home-faq details p { font-size: .8125rem; line-height: 1.8; }
    .apple-home-experiment body.dm-home-page .dm-bottom-nav .dm-nav-link { font-size: .6875rem; min-height: 3.5rem; gap: .3125rem; }
    .apple-home-experiment body.dm-home-page #headerRegister { font-size: .6875rem; min-height: 2.5rem; padding: .625rem .75rem !important; }
}
@media (max-width: 360px) {
    .apple-home-experiment body.dm-home-page > main.dm-home { padding-inline: 1rem; }
    .apple-home-experiment .dm-home-grid { gap: .625rem; }
    .apple-home-experiment .dm-home-category-body { padding: .8125rem .6875rem .6875rem; }
}
@media (max-width: 339px) {
    .apple-home-experiment .dm-home-grid { grid-template-columns: minmax(0, 1fr); }
}
@media (prefers-reduced-motion: reduce) {
    .apple-home-experiment [style*="--apple-press-scale"],
    .apple-home-experiment :is(.dm-home-button,.dm-home-button-secondary,.dm-home-category,.dm-home-city,.dm-home-faq summary,#headerRegister,#iconMenu) { transform: none !important; }
    .apple-home-experiment .dm-home-faq summary::after { transition: none; }
}
@media (prefers-reduced-transparency: reduce), (prefers-contrast: more) {
    .apple-home-experiment body.dm-home-page .main-header { background: var(--dm-bg); backdrop-filter: none; -webkit-backdrop-filter: none; }
}
@media (prefers-contrast: more) {
    .apple-home-experiment :is(.dm-home-category,.dm-home-city,.dm-hero-search-field) { border-color: var(--dm-text); }
}

/* Home aprovada: composição independente do conteúdo das fotografias. */
.apple-home-experiment body.dm-home-page>main.dm-home{padding-top:1.75rem}.apple-home-experiment .dm-hero{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.35fr);align-items:center;gap:2rem;min-height:570px;padding:0;margin-bottom:28px;text-align:left}.apple-home-experiment .dm-hero-copy{max-width:none;min-width:0;text-align:left}.apple-home-experiment .dm-hero-eyebrow{font-size:.6875rem;letter-spacing:.25em;margin:0 0 28px}.apple-home-experiment .dm-hero-title{font-size:clamp(2.75rem,4.6vw,5rem);font-weight:750;line-height:.99;letter-spacing:-.055em;margin:0 0 18px;max-width:none}.apple-home-experiment .dm-hero-title span{display:inline;color:#ef4594}.apple-home-experiment .dm-hero-description{font-size:clamp(1.125rem,1.5vw,1.55rem);line-height:1.3;max-width:30rem;margin:0 0 30px;color:var(--dm-muted)}.apple-home-experiment .dm-hero-search{width:100%;max-width:32rem;margin:0;position:relative}.apple-home-experiment .dm-hero-search-field{height:60px;display:flex;gap:12px;padding:6px 6px 6px 18px;border-radius:16px;border:1px solid var(--dm-line);box-shadow:0 4px 10px #10121605;background:var(--dm-sidebar)}.apple-home-experiment .dm-hero-search-field input{font-size:16px;min-width:0;padding:0}.apple-home-experiment .dm-hero-search-field button{width:58px;min-width:58px;min-height:44px;border:0;border-radius:12px;background:var(--dm-text);color:var(--dm-bg);display:grid;place-items:center;cursor:pointer}.apple-home-experiment .dm-hero-search-meta{display:none}.apple-home-experiment .dm-hero-shortcuts{display:flex;flex-wrap:wrap;justify-content:start;gap:8px;margin:12px 0 16px}.apple-home-experiment .dm-hero-shortcuts a{display:inline-flex;align-items:center;min-height:38px;border:1px solid var(--dm-line);border-radius:99px;padding:7px 16px;background:var(--dm-hover);font-size:.8125rem}.apple-home-experiment .dm-hero-explore{font-size:1rem;display:inline-flex;min-height:44px;align-items:center;gap:12px;text-decoration:underline;text-underline-offset:4px}.dm-visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.dm-hero-portraits{position:relative;width:100%;aspect-ratio:1.38;min-width:0;isolation:isolate}.dm-hero-portraits::before,.dm-hero-portraits::after{content:"";position:absolute;inset:-15% -2%;z-index:-1;pointer-events:none;background:radial-gradient(ellipse at 19% 38%,#f26bb444,transparent 49%),radial-gradient(ellipse at 80% 79%,#f26bb43b,transparent 44%);filter:blur(26px)}.dm-hero-portraits::after{background:radial-gradient(ellipse at 83% 17%,#70baf136,transparent 48%),radial-gradient(ellipse at 39% 86%,#70baf13b,transparent 48%)}.dm-hero-portrait{position:absolute;overflow:hidden;border-radius:17px;background:var(--dm-media);box-shadow:0 16px 26px #10121617;border:1px solid #ffffff70;aspect-ratio:.66}.dm-hero-portrait img{width:100%;height:100%;object-fit:cover;display:block}.dm-hero-left{left:2%;top:13%;width:36%;transform:rotate(-6deg);z-index:1}.dm-hero-center{left:28%;top:0;width:44%;z-index:3}.dm-hero-right{right:2%;top:13%;width:36%;transform:rotate(6deg);z-index:2}.dm-home-photo-empty{width:100%;height:100%;display:grid;place-items:center;text-align:center;padding:14px;box-sizing:border-box;color:var(--dm-muted);font-size:.8125rem;background:var(--dm-hover)}
.apple-home-experiment .dm-home-section:has(#dm-categories-title){padding-top:0}.apple-home-experiment .dm-home-section:has(#dm-categories-title) .dm-home-section-heading{margin-bottom:18px}.apple-home-experiment #dm-categories-title{font-size:clamp(1.5rem,2.15vw,2rem);font-weight:700;letter-spacing:-.035em}.apple-home-experiment .dm-home-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}.apple-home-experiment .dm-home-category-media{aspect-ratio:4/4.7}.apple-home-experiment .dm-home-category-body{padding:15px 18px;display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:8px}.apple-home-experiment .dm-home-category-body h3{font-size:1rem;margin:0}.apple-home-experiment .dm-home-category-body p{display:none}.apple-home-experiment .dm-home-category-action{font-size:0;padding:0;min-height:0;margin:0}.apple-home-experiment .dm-home-category-action span{font-size:1.125rem}.apple-home-experiment .dm-home-category{border-radius:12px;border:1px solid var(--dm-line);box-shadow:0 3px 7px #10121608}.apple-home-experiment .dm-home-grid .dm-home-photo-empty{min-height:120px}.apple-home-experiment .dm-home-inclusive-links{margin-top:8px}
@media(min-width:1400px){.apple-home-experiment .dm-hero{min-height:560px}.dm-hero-portraits{max-width:800px}.apple-home-experiment .dm-hero-title{white-space:nowrap}}
@media(min-width:761px) and (max-width:1100px){.apple-home-experiment .dm-hero{gap:16px;min-height:440px;grid-template-columns:1fr 1.05fr}.apple-home-experiment .dm-hero-title{font-size:clamp(2.4rem,4.5vw,3.5rem)}.apple-home-experiment .dm-home-grid{gap:12px}.apple-home-experiment .dm-home-category-body{padding:12px}}
@media(max-width:760px){.apple-home-experiment body.dm-home-page>main.dm-home{padding-top:24px}.apple-home-experiment .dm-hero{grid-template-columns:minmax(0,1fr);gap:22px;min-height:0;margin-bottom:30px}.apple-home-experiment .dm-hero-copy{text-align:left}.apple-home-experiment .dm-hero-eyebrow{margin-bottom:14px;font-size:.625rem}.apple-home-experiment .dm-hero-title{font-size:clamp(2.5rem,9.5vw,3.5rem);line-height:1.02;margin-bottom:14px}.apple-home-experiment .dm-hero-description{font-size:1rem;margin-bottom:20px;max-width:26rem}.apple-home-experiment .dm-hero-search-field{height:54px;border-radius:13px}.apple-home-experiment .dm-hero-shortcuts{gap:6px;margin:10px 0}.apple-home-experiment .dm-hero-shortcuts a{font-size:.6875rem;padding:5px 10px;min-height:34px}.apple-home-experiment .dm-hero-explore{font-size:.875rem}.dm-hero-portraits{width:92%;max-width:440px;margin:0 auto;aspect-ratio:1.5}.dm-hero-portrait{border-radius:12px}.dm-hero-portraits::before,.dm-hero-portraits::after{filter:blur(20px);inset:-5% -2%}.apple-home-experiment .dm-home-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.apple-home-experiment .dm-home-category-body{padding:12px}.apple-home-experiment .dm-home-category-body h3{font-size:.875rem}.apple-home-experiment #dm-categories-title{font-size:1.375rem}.apple-home-experiment .dm-home-section:has(#dm-categories-title) .dm-home-section-heading>.dm-home-text-link{display:none}}
@media(prefers-contrast:more){.dm-hero-portraits::before,.dm-hero-portraits::after{display:none}}

/* Keep every portrait and the mobile heading clear of the fixed header. */
@media(min-width:761px){.apple-home-experiment body.dm-home-page>main.dm-home{padding-top:calc(var(--dm-header-height,68px) + 12px)}.apple-home-experiment body.dm-home-page .main-header{background:transparent;border-bottom-color:transparent;backdrop-filter:none;-webkit-backdrop-filter:none}}
@media(max-width:760px){.apple-home-experiment body.dm-home-page>main.dm-home{padding-top:calc(var(--dm-header-height,64px) + 12px)}.apple-home-experiment .dm-hero-shortcuts a{min-height:44px}}

@media(min-width:761px){.apple-home-experiment .dm-hero-description{max-width:26rem}}
@media(prefers-reduced-transparency:reduce),(prefers-contrast:more){.apple-home-experiment body.dm-home-page .main-header{background:var(--dm-bg)}.dm-hero-portraits::before,.dm-hero-portraits::after{display:none}}

/* Desktop reference alignment: one left edge for copy and category cards. */
@media(min-width:1200px){
 .apple-home-experiment body.dm-home-page{--dm-sidebar-width:222px}
 .apple-home-experiment body.dm-home-page>main.dm-home{padding:56px 40px 3rem 52px}
 .apple-home-experiment .dm-hero{grid-template-columns:minmax(0,.82fr) minmax(0,1.43fr);min-height:540px}
 .apple-home-experiment .dm-hero-copy{margin:0;width:100%;padding-top:24px;justify-self:stretch}
 .apple-home-experiment .dm-hero-portraits{aspect-ratio:1.5}
 .apple-home-experiment .dm-hero-center{left:27%;width:43%}
 .apple-home-experiment.apple-site-refinement body.dm-home-page .main-header{background:transparent;border-bottom-color:transparent}
}
.apple-home-experiment .dm-home-section:has(#dm-categories-title){border-top:0}
@media(prefers-reduced-transparency:reduce),(prefers-contrast:more){.apple-home-experiment.apple-site-refinement body.dm-home-page .main-header{background:var(--dm-bg)}}

/* Category photography fills the complete card; the label stays over the image. */
.apple-home-experiment .dm-home-grid .dm-home-category {
    position: relative;
    display: block;
    aspect-ratio: 3 / 4;
    overflow: hidden;
    isolation: isolate;
}
.apple-home-experiment .dm-home-grid .dm-home-category-media {
    position: absolute;
    inset: 0;
    aspect-ratio: auto;
}
.apple-home-experiment .dm-home-grid .dm-home-category-media > img {
    position: absolute;
    inset: 0;
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.apple-home-experiment .dm-home-grid .dm-home-category-body {
    position: absolute;
    inset: auto 0 0;
    z-index: 1;
    flex: none;
    padding: 3rem 1rem 1rem;
    background: linear-gradient(180deg, transparent, #000b 55%, #000d);
    color: #fff;
}
.apple-home-experiment .dm-home-grid .dm-home-category-body h3,
.apple-home-experiment .dm-home-grid .dm-home-category-action span {
    color: #fff;
}
@media (max-width: 760px) {
    .apple-home-experiment .dm-home-grid .dm-home-category-body { padding: 2.5rem .75rem .875rem; }
}
@media (prefers-contrast: more) {
    .apple-home-experiment .dm-home-grid .dm-home-category-body { background: #161618; }
}

/* /css/experiments/apple-site.css */
/* Shared refinement. The existing theme tokens remain the source of color. */
html.apple-site-refinement { font-family:var(--apple-system-font); font-optical-sizing:auto; --dm-sidebar-width:216px; --dm-header-height:4.25rem; --dm-page-gutter:clamp(2rem,2.5vw,3rem); }
.account-privacy-dialog { width:calc(100% - 2rem); max-width:34rem; max-height:calc(100dvh - 2rem); overflow:auto; border:1px solid var(--dm-line); border-radius:1.25rem; padding:1.75rem; color:var(--dm-text); background:var(--dm-sidebar); }
.account-privacy-dialog::backdrop { background:#0009; }
.account-privacy-dialog input { width:100%; font-size:1rem; }
.account-privacy-dialog .row { flex-wrap:wrap; }
#account-privacy { max-width:60rem; width:100%; align-items:stretch; height:auto; }
#content-report-form { display:flex; flex-direction:column; gap:.75rem; margin-top:1.5rem; padding:1.5rem; border:1px solid var(--dm-line); border-radius:1rem; background:var(--dm-sidebar); }
#content-report-form :is(input,select,textarea) { width:100%; }
#content-report-form label { font-size:.875rem; color:var(--dm-secondary); }
.sensitive-consent { width:100%; text-align:left; }
.sensitive-consent .checkbox-line { align-items:flex-start; }
.sensitive-consent label { font-size:.875rem; line-height:1.7; }
.sensitive-consent a { text-decoration:underline; text-underline-offset:.2em; }
.sensitive-consent input[type=checkbox] { flex:0 0 auto; margin-top:.3rem; }
#content-report-form .checkbox-line input { width:1.125rem; }
.apple-site-refinement body { font-family:var(--apple-system-font); font-size:.9375rem; -webkit-font-smoothing:antialiased; }
.apple-site-refinement :is(button,input,select,textarea) { font-family:inherit; }
.apple-site-refinement body:not(.dm-home-page) :is(h1,h2,h3,p,li) { overflow-wrap:anywhere; }
.apple-site-refinement body:not(.dm-home-page) h1 { font-size:clamp(2rem,3.25vw,2.75rem); font-weight:650; letter-spacing:-.04em; line-height:1.12; text-wrap:balance; }
.apple-site-refinement body:not(.dm-home-page) h2 { font-size:1.375rem; font-weight:620; letter-spacing:-.025em; line-height:1.3; }
.apple-site-refinement body:not(.dm-home-page) h3 { font-size:1.0625rem; letter-spacing:-.02em; line-height:1.4; }
.apple-site-refinement body:not(.dm-home-page) p { font-size:.9375rem; line-height:1.75; }
.apple-site-refinement body:not(.dm-home-page) > main { gap:2rem; padding-top:7rem; }
.apple-site-refinement .page-heading { margin-bottom:.5rem; }
.apple-site-refinement .page-heading h1 { margin:.625rem 0 1rem; }
.apple-site-refinement .page-eyebrow { font-size:.6875rem; letter-spacing:.115em; line-height:1.6; }
.apple-site-refinement .page-intro { max-width:38rem; font-size:.9375rem; line-height:1.75; }

/* Navigation uses the same rhythm on every route. */
.apple-site-refinement body.dm-shell .main-header,
.apple-site-refinement .header-line { height:var(--dm-header-height); }
.apple-site-refinement .header-line { padding-inline:var(--dm-page-gutter); }
.apple-site-refinement body.dm-shell .nav-column { padding-inline:12px; }
.apple-site-refinement .dm-header-login { font-size:.875rem; }
.apple-site-refinement .dm-header-account { position:relative; color:var(--dm-text); }
.apple-site-refinement .dm-header-account > summary { display:flex; align-items:center; gap:.625rem; min-height:44px; padding:.625rem .75rem; list-style:none; border:1px solid var(--dm-line); border-radius:.75rem; background:var(--dm-sidebar); cursor:pointer; font-size:.875rem; }
.apple-site-refinement .dm-header-account > summary::-webkit-details-marker { display:none; }
.apple-site-refinement .dm-header-account > summary svg { width:20px; height:20px; flex-shrink:0; }
.apple-site-refinement .dm-header-account > .dm-nav-account { position:absolute; inset:calc(100% + .5rem) 0 auto auto; width:16rem; max-width:calc(100vw - 2rem); padding:.75rem; margin:0; border:1px solid var(--dm-line); border-radius:.875rem; background:var(--dm-sidebar); box-shadow:0 8px 24px color-mix(in srgb,var(--dm-text) 10%,transparent); }
.apple-site-refinement .dm-header-account .dm-session-name { margin:.25rem .8125rem .75rem; }
.apple-site-refinement .dm-header-account .dm-nav-caption { display:none; }
.apple-site-refinement body.dm-home-page > #footer-placeholder .dm-footer-inner { max-width:calc(90rem + 2 * var(--dm-page-gutter)); padding-inline:var(--dm-page-gutter); }
@media(min-width:761px) {
    .apple-site-refinement .dm-sidebar-account-slot > .dm-nav-account[data-logged="false"] { display:none; }
}
@media(min-width:761px) and (max-width:1150px) {
    html.apple-site-refinement { --dm-sidebar-width:200px; --dm-page-gutter:1.5rem; }
}
.apple-site-refinement .dm-nav-link { font-size:.8125rem; min-height:2.875rem; border-radius:.6875rem; }
.apple-site-refinement .dm-nav-link > span { min-width:0; overflow-wrap:anywhere; }
.apple-site-refinement .dm-nav-caption { font-size:.625rem; letter-spacing:.12em; }
.apple-site-refinement .dm-sidebar-note p { font-size:.8125rem; }
.apple-site-refinement .dm-sidebar-note small { font-size:.6875rem; }
.apple-site-refinement .dm-theme-control { font-size:.75rem; }
.apple-site-refinement .dm-theme-control select { font-size:.75rem; min-height:2.75rem; }
.apple-site-refinement #headerRegister { min-height:2.75rem; font-size:.75rem; padding:.75rem 1rem !important; }
.apple-site-refinement #iconMenu { min-width:2.75rem; min-height:2.75rem; border-radius:.625rem; }
.apple-site-refinement #userBalanceWrapper { min-height:2.75rem; font-size:.8125rem; border-radius:.6875rem; }
.apple-site-refinement body.dm-shell > footer { padding-top:2.5rem; }
.apple-site-refinement body.dm-shell > footer :is(a,p) { font-size:.75rem; line-height:1.75; }
.apple-site-refinement body.dm-shell > footer a { min-height:2.75rem; display:inline-flex; align-items:center; }
.apple-site-refinement #btnTop { min-height:2.75rem; border-radius:.6875rem; font-size:.8125rem; }

/* Forms: readable labels, predictable targets, a quiet grouping surface. */
.apple-site-refinement body:not(.dm-home-page) :is(input:not([type=checkbox],[type=radio],[type=range],[type=hidden]),select,textarea) { min-height:3rem; font-size:1rem; border-radius:.75rem; padding:.75rem .875rem; }
.apple-site-refinement :is(input,select,textarea):focus-visible { outline:2px solid var(--dm-text); outline-offset:3px; }
.apple-site-refinement .field-label { font-size:.8125rem; line-height:1.5; margin:1rem 0 .5rem; }
.apple-site-refinement .field-hint { font-size:.75rem; line-height:1.65; }
.apple-site-refinement :is(.confirm-button,.decline-button,.panel-btn,.action-btn,.google-button,.email-button,.premium-btn,.subscription-btn,.btn-next,.btn-back) { display:inline-flex; align-items:center; justify-content:center; gap:.5rem; min-height:3rem; border-radius:.75rem; font-size:.875rem; font-weight:550; line-height:1.4; padding:.8125rem 1.125rem; }
.apple-site-refinement .page-auth > main :is(.auth-panel,.login-container,.register-container) { max-width:30rem; padding:2rem; border-radius:1.25rem; background:var(--dm-sidebar); gap:1.5rem; }
.apple-site-refinement .page-auth .page-heading { max-width:30rem; }
.apple-site-refinement .auth-panel :is(.terms,.terms-row,.register-terms),.apple-site-refinement .register-tab label { font-size:.8125rem; line-height:1.65; }
.apple-site-refinement .auth-panel > a,.apple-site-refinement .auth-panel #emailForm > a { min-height:2.75rem; display:inline-flex; align-items:center; justify-content:center; font-size:.8125rem; }
.apple-site-refinement .auth-panel > .row:has(>hr) { display:grid; grid-template-columns:minmax(0,1fr) auto minmax(0,1fr); gap:1rem; align-items:center; }
.apple-site-refinement .auth-panel > .row:has(>hr) p { white-space:nowrap; margin:0; }
.apple-site-refinement .auth-panel > .row:has(>hr) hr { width:100%; }
.apple-site-refinement .register-title { width:100%; text-align:left; }
.apple-site-refinement .register-tab h2 { font-size:1.5rem; }
.apple-site-refinement :is(.card-grid .card,.role-option) { border-radius:.75rem; min-height:3rem; padding:.875rem; font-size:.875rem; }
.apple-site-refinement .checkbox-line label { font-size:.8125rem; line-height:1.65; }
.apple-site-refinement .checkbox-line { padding-block:.5rem; }

/* Management tools share the same card and action hierarchy. */
.apple-site-refinement :is(.panel-box,.perfil-header,.verify-section,.composer-panel,.editor-section,.coins-intro) { background:var(--dm-sidebar); border-radius:1.125rem; padding:1.75rem; }
.apple-site-refinement #panel-actions { display:grid; align-items:stretch; gap:1.25rem; padding-block:0; }
.apple-site-refinement :is(#ranking-box,#verification-box,#edit-model-box,#indicate-dojob-box,#location-model-box) { background:var(--dm-sidebar); border-color:var(--dm-line); }
.apple-site-refinement .panel-box { display:flex; flex-direction:column; align-items:stretch; gap:1.5rem; height:100%; }
.apple-site-refinement .panel-box > .panel-btn { margin-top:auto; width:100%; }
.apple-site-refinement .panel-box-content p { font-size:.875rem; line-height:1.75; }
.apple-site-refinement .panel-box-content h2 { font-size:1.25rem; text-align:left; align-self:flex-start; }
.apple-site-refinement .panel-box hr { background:var(--dm-line); }
.apple-site-refinement :is(#verification-box,#edit-model-box) .panel-btn { background:var(--dm-button); color:var(--dm-button-text); }
.apple-site-refinement .profile-completion { gap:1rem; }
.apple-site-refinement .profile-completion-circle { flex-shrink:0; }
.apple-site-refinement .perfil-header { display:flex; align-items:flex-start; flex-direction:column; gap:1.5rem; }
.apple-site-refinement .perfil-info { width:100%; gap:1rem; }
.apple-site-refinement .perfil-botoes { display:flex; flex-wrap:wrap; gap:.625rem; width:100%; }
.apple-site-refinement .perfil-botoes button { min-height:2.875rem; padding:.75rem 1rem; font-size:.8125rem; background:var(--dm-bg); border:1px solid var(--dm-line); color:var(--dm-secondary); border-radius:.6875rem; box-shadow:none; }
.apple-site-refinement .perfil-botoes button:is(.active,:hover) { background:var(--dm-active); color:var(--dm-text); }
.apple-site-refinement #btn-editar { background:var(--dm-button); color:var(--dm-button-text); border-color:var(--dm-button); }
.apple-site-refinement :is(.tab-section-div,.edicao-usuario-container,.assinatura-container) { background:var(--dm-sidebar); color:var(--dm-text); border-color:var(--dm-line); border-radius:1rem; }
.apple-site-refinement .editor-section { margin-bottom:1.5rem; gap:1.5rem; }
.apple-site-refinement .editor-section :is(ul,li) { width:100%; max-width:100%; min-width:0; }
.apple-site-refinement .editor-section li > :is(input,select,textarea) { width:100%; }
.apple-site-refinement :is(.upload-box,#uploadBox,.upload-box-image) { border-radius:1rem; border-color:var(--dm-muted); background:var(--dm-bg); }
.apple-site-refinement .upload-trigger { min-height:3rem; font-size:.875rem; border-radius:.75rem; }
.apple-site-refinement .composer-panel #tab1 { gap:1.5rem; }
.apple-site-refinement .composer-panel > .page-heading { margin-bottom:1.75rem; }
.apple-site-refinement .verify-info { font-size:.875rem; line-height:1.75; padding:1.25rem; border-radius:.875rem; background:var(--dm-bg); }
.apple-site-refinement .verify-section { gap:1.5rem; }

/* Discovery: clear controls above the visual catalogue. */
.apple-site-refinement .acompanhantes-location-search { max-width:38rem; }
.apple-site-refinement .acompanhantes-search-block { justify-content:flex-start; }
.apple-site-refinement .acompanhantes-filters-wrapper { height:auto; overflow:visible; }
.apple-site-refinement .acompanhantes-filters-wrapper::before { display:none; }
.apple-site-refinement .acompanhantes-category-filters { gap:.625rem; padding-bottom:1rem; }
.apple-site-refinement .filter-item { display:inline-flex; align-items:center; min-height:2.875rem; height:auto; border-radius:2rem; padding:.75rem 1rem; font-size:.8125rem; box-shadow:none; }
.apple-site-refinement .page-listing .location-badge { font-size:clamp(1.75rem,2.8vw,2.25rem); letter-spacing:-.035em; }
.apple-site-refinement .actions-bar { gap:1rem; align-items:center; }
.apple-site-refinement .sort-select { flex:0 1 15rem; max-width:15rem; background:var(--dm-bg); border:1px solid var(--dm-line); color:var(--dm-text); }
.apple-site-refinement .models-grid { gap:1.5rem; align-items:stretch; }
.apple-site-refinement .model-card-container { background:var(--dm-sidebar); border-radius:1rem; transition:border-color 140ms ease; }
.apple-site-refinement .model-name-user { padding:1.125rem 1.125rem .875rem; }
.apple-site-refinement .model-nome { font-size:1.125rem; letter-spacing:-.025em; line-height:1.35; overflow-wrap:anywhere; }
.apple-site-refinement .model-username { font-size:.75rem; }
.apple-site-refinement .model-verified { font-size:.6875rem; letter-spacing:.025em; }
.apple-site-refinement .model-card-row { padding:1rem 1.125rem 1.125rem; }
.apple-site-refinement body:not(.dm-home-page) .model-card-info-description p { font-size:.8125rem; line-height:1.6; margin:0; }
.apple-site-refinement body:not(.dm-home-page) .model-card-values .model-valor { font-size:1.375rem; line-height:1.3; margin:0; }
.apple-site-refinement body:not(.dm-home-page) .model-card-values .model-valor-text { font-size:.75rem; line-height:1.5; margin:0; }
.apple-site-refinement :is(.model-valor-text,.model-card-info-row span) { font-size:.75rem; }
.apple-site-refinement :is(.carousel-btn,.modal-header button,.premium-close) { min-width:2.75rem; min-height:2.75rem; }
.apple-site-refinement .breadcrumb { white-space:normal; flex-wrap:wrap; font-size:.75rem; line-height:1.65; }
.apple-site-refinement .breadcrumb a { white-space:normal; }
.apple-site-refinement .nearby-city-link { display:inline-flex; align-items:center; min-height:2.75rem; font-size:.8125rem; border-radius:.75rem; }
.apple-site-refinement :is(.modal-content,.premium-modal,.premium-box,.plans-container) { border-radius:1.25rem; padding:1.75rem; }
.apple-site-refinement .filter-group label { font-size:.875rem; margin-bottom:.625rem; }
.apple-site-refinement .apple-filter-open { overflow:hidden; }
.apple-site-refinement .filter-buttons { display:flex; flex-wrap:wrap; gap:.75rem; }
.apple-site-refinement .filter-buttons button { min-height:3rem; padding:.8125rem 1.125rem; border-radius:.75rem; font-size:.875rem; flex:1; }
.apple-site-refinement #applyFilters { background:var(--dm-button); color:var(--dm-button-text); border:1px solid var(--dm-button); }
.apple-site-refinement #clearFilters { background:var(--dm-bg); color:var(--dm-text); border:1px solid var(--dm-line); }
.apple-site-refinement #videos-grid { gap:1.25rem; }
.apple-site-refinement :is(.video-card,.video-thumbnail-wrapper) { border-radius:1rem; overflow:hidden; }

/* Compact catalogue details: no reserved empty title/price/description rows. */
.apple-site-refinement .model-card-link .model-name-user { padding:.75rem .875rem .375rem; gap:.125rem; }
.apple-site-refinement .model-card-link .model-nome { min-height:0; line-height:1.3; }
.apple-site-refinement .model-card-link .model-verified { margin-bottom:.125rem; }
.apple-site-refinement .model-card-link .model-card-row { flex:0 0 auto; gap:.5rem; padding:.375rem .875rem .875rem; }
.apple-site-refinement .model-card-link .model-card-info-column { gap:.25rem .625rem; }
.apple-site-refinement .model-card-link .model-card-values { display:flex; flex-direction:row; flex-wrap:wrap; align-items:baseline; min-height:0; gap:.125rem .5rem; padding-bottom:.5rem; }
.apple-site-refinement .model-card-link .model-card-values > p:first-child { flex-basis:100%; }
.apple-site-refinement .model-card-link .model-card-values > p:empty { display:none; }
.apple-site-refinement .model-card-link .model-valor { max-width:100%; }
.apple-site-refinement .model-card-link .model-card-info-row { gap:.375rem; align-items:baseline; }
.apple-site-refinement .model-card-link .model-card-info-description { margin-top:0; }
.apple-site-refinement .model-card-link .model-card-info-description p { min-height:0; -webkit-line-clamp:2; }
.apple-site-refinement .model-card-link .model-card-info-description:has(>p:empty) { display:none; }

/* Profile: stable identity layout, generous media and concise section rhythm. */
.apple-site-refinement .page-profile main > :is(.background-img,.profile-row,.profile-details) { width:100%; max-width:60rem; margin-inline:auto; }
.apple-site-refinement .page-profile .background-img { aspect-ratio:3.2; max-height:19rem; border-radius:1.25rem; object-position:center 35%; }
.apple-site-refinement .page-profile .profile-row { display:grid; grid-template-columns:7.5rem minmax(0,1fr) minmax(12rem,16rem); grid-template-areas:"foto info botoes"; align-items:center; gap:1.5rem; padding:0 1.5rem 1.75rem; margin-top:-3.5rem; margin-bottom:0; }
.apple-site-refinement .page-profile .profile-img { position:static !important; width:7.5rem; max-width:100%; height:7.5rem; padding:0; border:.375rem solid var(--dm-bg); background:var(--dm-bg); box-shadow:0 0 0 1px var(--dm-line); }
.apple-site-refinement .page-profile .profile-info { min-width:0; padding-top:3.5rem; height:auto !important; }
.apple-site-refinement .page-profile .profile-info h1 { font-size:1.875rem; margin:0 0 .5rem; }
.apple-site-refinement .page-profile .profile-info p { font-size:.875rem; margin-bottom:.5rem; }
.apple-site-refinement .page-profile .profile-buttons { padding-top:3.5rem; gap:.625rem; }
.apple-site-refinement .page-profile .profile-buttons button { height:auto; min-height:3rem; padding:.75rem 1rem; border-radius:.75rem; font-size:.8125rem; font-weight:550; line-height:1.4; box-shadow:none; backdrop-filter:none; }
.apple-site-refinement #whatsapp-btn { background:var(--dm-button); color:var(--dm-button-text); border:1px solid var(--dm-button); box-shadow:none; }
.apple-site-refinement #share-btn { background:var(--dm-bg); color:var(--dm-text); border:1px solid var(--dm-line); }
.apple-site-refinement #whatsapp-btn:hover { box-shadow:none; }
.apple-site-refinement #share-btn:hover { background:var(--dm-hover); border-color:var(--dm-muted); }
.apple-site-refinement .profile-buttons button:hover { transform:scale(var(--apple-press-scale,1)); }
.apple-site-refinement .profile-details { padding-top:2rem; gap:1.5rem; align-items:stretch; }
.apple-site-refinement .profile-details > .row:has(>h2,>h3) { justify-content:flex-start !important; gap:0; margin:1.25rem 0 0; }
.apple-site-refinement .profile-details > .row:has(>h2,>h3) hr { display:none; }
.apple-site-refinement .profile-details .single-line { white-space:normal; text-align:left !important; }
.apple-site-refinement .profile-details > :is(div,section) { width:100%; min-width:0; align-items:stretch; }
.apple-site-refinement .profile-details #descricao { align-items:flex-start; font-size:.9375rem; line-height:1.8; color:var(--dm-secondary); }
.apple-site-refinement .galeria-modelo-grid { gap:.875rem; }
.apple-site-refinement .galeria-item { border-radius:1rem; overflow:hidden; }
.apple-site-refinement .pagamentos-grid { flex-wrap:wrap; gap:.75rem; }
.apple-site-refinement .pagamentos-grid li { border-radius:.75rem; padding:.875rem 1rem; font-size:.875rem; }

/* Reading and service pages prioritize line length and comfortable leading. */
.apple-site-refinement :is(.reading-document,.page-reading .info-section) { max-width:46rem; }
.apple-site-refinement :is(.reading-document,.page-reading .info-section) :is(p,li) { font-size:1rem; line-height:1.9; margin-bottom:1.25rem; }
.apple-site-refinement :is(.reading-document,.page-reading .info-section) h2 { margin:2.5rem 0 1rem; }
.apple-site-refinement .meta-date { font-size:.8125rem !important; line-height:1.65; padding-bottom:1.5rem; }
.apple-site-refinement .status-page.dm-shell > main { padding:2.5rem; max-width:34rem; border-radius:1.5rem; background:var(--dm-sidebar); }
.apple-site-refinement .status-card h1 { margin:2rem 0 1rem; }
.apple-site-refinement .status-links a { min-height:2.75rem; display:inline-flex; align-items:center; }

/* The shared press spring changes no click or submission behavior. */
.apple-site-refinement [data-apple-pressed] { transform:scale(var(--apple-press-scale,1)); transform-origin:center; }
.apple-site-refinement [style*="--apple-press-scale"] { transform:scale(var(--apple-press-scale,1)); }
.apple-site-refinement [data-apple-pressed="true"] { filter:brightness(.92); }
.apple-site-refinement :is(a,button,summary,[role=button]):focus-visible { outline:2px solid var(--dm-text); outline-offset:4px; }
@supports (background:color-mix(in srgb,black,transparent)) {
    .apple-site-refinement body.dm-shell .main-header { background:color-mix(in srgb,var(--dm-bg) 90%,transparent); backdrop-filter:blur(16px) saturate(110%); -webkit-backdrop-filter:blur(16px) saturate(110%); }
}
@media(hover:hover) and (pointer:fine) {
    .apple-site-refinement .model-card-link:hover .model-card-container { border-color:var(--dm-muted); }
}
@media(max-width:1000px) and (min-width:761px) {
    .apple-site-refinement .page-profile .profile-row { grid-template-columns:6rem minmax(0,1fr); grid-template-areas:"foto info" "botoes botoes"; }
    .apple-site-refinement .page-profile .profile-img { width:6rem; height:6rem; }
    .apple-site-refinement .page-profile .profile-buttons { padding-top:0; flex-direction:row; }
}
@media(max-width:760px) {
    html.apple-site-refinement { --dm-header-height:4rem; --dm-page-gutter:1.25rem; }
    .apple-site-refinement .header-line > .dm-brand { flex:0 1 120px; min-width:0; }
    .apple-site-refinement .header-line .dm-brand-art { width:100%; max-width:120px; }
    .apple-site-refinement #iconMenu { flex:0 0 44px; min-width:44px; width:44px; min-height:44px; }
    .apple-site-refinement body.dm-shell .nav-bar { top:var(--dm-header-height); height:calc(100dvh - var(--dm-header-height)); }
    .apple-site-refinement body:not(.dm-home-page):not(.status-page) > main { padding:5.5rem 1.25rem 2.5rem; gap:1.75rem; }
    .apple-site-refinement body:not(.dm-home-page) h1 { font-size:2rem; line-height:1.15; }
    .apple-site-refinement body:not(.dm-home-page) h2 { font-size:1.375rem; }
    .apple-site-refinement .header-line { padding-inline:.875rem; gap:.625rem; }
    .apple-site-refinement .dm-bottom-nav .dm-nav-link { font-size:.6875rem; min-height:3.5rem; gap:.3125rem; }
    .apple-site-refinement #headerRegister { min-height:2.5rem; font-size:.6875rem; padding:.625rem .75rem !important; }
    .apple-site-refinement #userBalanceWrapper { font-size:.75rem; padding:.625rem .75rem; }
    .apple-site-refinement .page-auth > main :is(.auth-panel,.login-container,.register-container) { padding:1.5rem 1.25rem; border-radius:1rem; }
    .apple-site-refinement :is(.panel-box,.perfil-header,.verify-section,.composer-panel,.editor-section,.coins-intro) { padding:1.5rem 1.25rem; border-radius:1rem; }
    .apple-site-refinement #panel-actions { grid-template-columns:1fr; gap:1rem; }
    .apple-site-refinement .perfil-botoes button { flex:1 1 auto; }
    .apple-site-refinement .models-grid { gap:.875rem; }
    .apple-site-refinement .model-card-container { border-radius:.875rem; }
    .apple-site-refinement .model-name-user { padding:.875rem .75rem .625rem; }
    .apple-site-refinement .model-nome { font-size:.9375rem; }
    .apple-site-refinement .model-username { font-size:.6875rem; }
    .apple-site-refinement .model-card-row { padding:.75rem .75rem .875rem; }
    .apple-site-refinement .model-verified { font-size:.625rem; }
    .apple-site-refinement .model-card-info-row span { font-size:.75rem; }
    .apple-site-refinement .actions-bar { flex-wrap:wrap; gap:.75rem; }
    .apple-site-refinement .actions-bar > :is(button,select) { flex:1; min-width:0; }
    .apple-site-refinement .page-profile .background-img { aspect-ratio:1.85; border-radius:1rem; }
    .apple-site-refinement .page-profile .profile-row { grid-template-columns:5.25rem minmax(0,1fr); grid-template-areas:"foto info" "botoes botoes"; gap:1.25rem .875rem; padding:0 .25rem 1.5rem; margin-top:-3rem; }
    .apple-site-refinement .page-profile .profile-img { width:5.25rem; height:5.25rem; border-width:.25rem; align-self:start; }
    .apple-site-refinement .page-profile .profile-info { padding-top:3rem; }
    .apple-site-refinement .page-profile .profile-info h1 { font-size:1.5rem; line-height:1.2; }
    .apple-site-refinement .page-profile .profile-info p { font-size:.8125rem; }
    .apple-site-refinement .page-profile .profile-buttons { padding:0; flex-direction:column; }
    .apple-site-refinement .profile-details { padding-top:1.5rem; gap:1.25rem; }
    .apple-site-refinement .profile-details > .row:has(>h2,>h3) { margin-top:1rem; }
    .apple-site-refinement .status-page.dm-shell > main { padding:2rem 1.25rem; }
    .apple-site-refinement .modal-content { padding:1.5rem 1.25rem; max-height:calc(100dvh - 2rem); }
}
@media(max-width:360px) {
    .apple-site-refinement body:not(.dm-home-page):not(.status-page) > main { padding-inline:1rem; }
    .apple-site-refinement .models-grid { gap:.625rem; }
    .apple-site-refinement .header-line { padding-inline:.625rem; gap:.375rem; }
    .apple-site-refinement .dm-brand-word { font-size:1.25rem; }
}
@media(prefers-reduced-motion:reduce) {
    .apple-site-refinement [data-apple-pressed],.apple-site-refinement [style*="--apple-press-scale"] { transform:none !important; }
    .apple-site-refinement *, .apple-site-refinement *::before,.apple-site-refinement *::after { scroll-behavior:auto !important; transition:none !important; animation:none !important; }
}
@media(prefers-reduced-transparency:reduce),(prefers-contrast:more) {
    .apple-site-refinement body.dm-shell .main-header { background:var(--dm-bg); backdrop-filter:none; -webkit-backdrop-filter:none; }
}

/* Preserve absolute carousel positioning during press feedback. */
.apple-site-refinement .model-carousel .carousel-btn{transform:translateY(-50%) scale(var(--apple-press-scale,1))!important;transform-origin:center}
