/* CSS News V3 - Combined Mobile and PC Styles */
/* Modern, responsive CSS using variables, flexbox, and media queries */
/* Organized by sections for professional maintenance */

/* CSS Custom Properties (Variables) */
:root {
  --primary-pink: #f94b86;
  --secondary-gray: #37414d;
  --light-gray: #f0f0f0;
  --dark-gray: #262d35;
  --text-color: #fff;
  --border-color: #e1e1e1;
  --font-family: 'Roboto', sans-serif;
  --font-family-alt: 'Mulish', sans-serif;
}

/* Base Styles */
body, div {
  font-family: var(--font-family) !important;
  font-size: 1em;
}

.material-symbols-outlined {
  font-variation-settings: 'FILL' 1, 'wght' 400, 'GRAD' 0, 'opsz' 48;
}

/* Typography Utilities */
.fs-7 { font-size: 14px; }
.fs-8 { font-size: 12px; }
.fs-9 { font-size: 0.9em; }
.fs-10 { font-size: 1em; }
.fs-12 { font-size: 1.2em; }
.fs-14 { font-size: 1.4em; }
.fs-16 { font-size: 1.6em; }
.fs-18 { font-size: 1.8em; }
.fs-20 { font-size: 2em; }
.fs-22 { font-size: 2.2em; }
.fs-24 { font-size: 2.4em; }

.material-symbols-outlined.md-10 { font-size: 10px; }
.material-symbols-outlined.md-12 { font-size: 12px; }
.material-symbols-outlined.md-14 { font-size: 14px; }
.material-symbols-outlined.md-16 { font-size: 16px; }
.material-symbols-outlined.md-18 { font-size: 18px; }
.material-symbols-outlined.md-20 { font-size: 20px; }
.material-symbols-outlined.md-24 { font-size: 24px; }
.material-symbols-outlined.md-32 { font-size: 32px; }
.material-symbols-outlined.md-36 { font-size: 36px; }
.material-symbols-outlined.md-48 { font-size: 48px; }

.md-16 { font-size: 16px; }
.md-18 { font-size: 18px; }
.md-20 { font-size: 20px; }
.md-22 { font-size: 22px; }
.md-24 { font-size: 24px; }
.md-26 { font-size: 26px; }
.md-28 { font-size: 28px; }
.md-30 { font-size: 30px; }

/* Alerts */
.alerta {
  margin: 0 auto 3em auto;
  width: 100%;
  padding: 10px;
  background: var(--light-gray);
  border: 1px solid var(--border-color);
  color: #777;
  text-align: center;
  font-size: 1em;
  display: table;
}

.alerta span { padding: 10px 0; }
.alerta-a { float: left; width: 10%; padding-top: 3%; }
.alerta-b { float: left; width: 90%; padding: 10px 0; }

/* Buttons */
.btn-pink {
  color: var(--text-color);
  background-color: #E81D62;
  border-color: #c51954;
  padding: 5px;
  font-weight: bold;
  margin-right: 8px;
}

.btn-info {
  color: #fff;
  background-color: #17a2b8;
  border-color: #17a2b8;
}

.btn-info:hover {
  color: #fff;
  background-color: #138496;
  border-color: #138496;
}

.btn-outline-black {
  --bs-btn-color: var(--text-color);
  --bs-btn-border-color: #697079;
  --bs-btn-hover-color: var(--text-color);
  --bs-btn-hover-bg: transparent;
  --bs-btn-hover-border-color: #697079;
  --bs-btn-active-color: var(--text-color);
  --bs-btn-active-bg: #697079;
  --bs-btn-active-border-color: #697079;
  --bs-gradient: none;
}

.btn-outline-light { width: 45%; font-size: 1.1em; background: var(--secondary-gray); }

button, .btn, .btn:active, .btn:focus, .btn:hover {
  outline: none !important;
}

.bnt-extra { padding: 10px; border-radius: 8px; font-size: 1.1em; font-weight: bold; }

/* Layout Containers */
.recipiente {
  max-width: 100%;
  padding: 20px 0 0 0;
}

.container-sm { max-width: 900px; }
.menu-rosa {
  font-size: 1.2em;
  width: 220px;
  height: 36px;
  margin: 12px 0;
  color: var(--text-color);
  background: var(--primary-pink);
  text-shadow: 1px 1px 1px rgb(0 0 0 / 60%);
  background: -webkit-linear-gradient(top, #f9598d 0%, #f60856 100%);
  background: linear-gradient(to bottom, #f9598d 0%, #f60856 100%);
  border-radius: 5px;
}

/* Header and Navigation */
.fundo_preto_topo {
  width: 100%;
  height: 61px;
  margin: 0;
  background: var(--dark-gray);
  background-image: url(/public/images/fundo-topo.png);
}

.menu-top {
  width: 100%;
  min-height: 40px;
  margin: 0 auto 0 auto;
  padding: 4px 0 0px 0;
  display: table;
  text-align: center;
}

.menu-top-log {
  width: 100%;
  min-height: 70px;
  margin: 0 auto 0 auto;
  display: table;
}

.menu-top-div { float: left; color: var(--text-color); }
.menu-top-A, .menu-top-B, .menu-top-C {
  width: 33.33%;
  height: 35px;
}

.menu-top-tit, .menu-top-bot {
  float: left;
  height: 30px;
  text-align: center;
  color: var(--text-color);
}

/* Status Buttons */
.buttom_status {
  width: 92%;
  height: 35px;
  border-radius: 6px;
  margin: 0 auto 0 auto;
  font-size: 0.9em;
  padding: 0;
  font-weight: bold;
}

.buttom_status li { float: left; width: 80%; padding: 7px 0px 0 6px; }
.buttom_status li:nth-of-type(1) { padding: 6px 2px 0 7px; width: 20%; height: 35px; text-align: right; }

.status_cinza { background-color: #6c757d; border: #6c757d 1px solid; color: var(--text-color); }
.status_amarelo { background-color: #ffc107; border: #edb305 1px solid; color: var(--text-color); }
.status_verde { background-color: #28a745; border: #28a745 1px solid; color: var(--text-color); }
.status_vermelho { background-color: #dc3545; border: #dc3545 1px solid; color: var(--text-color); }

/* Submenu */
.submenu { float: left; }
.sub-a { width: 10%; }
.sub-b { width: 68%; text-align: center; padding: 10px 0 0 25px; }
.sub-c { width: 22%; margin-top: 12px; }
.sub-c button { width: 80px; }
.sub-b img { height: 45px; }

/* Modal */
.modal-body { padding: 15px !important; }
.modal-body button { margin: 5px; }
.modal-black { background: #282c35; color: var(--text-color); }
.modal-margin { margin: 0px; }

/* Forms */
.form_form { width: 90%; margin: 3em auto 0 auto; font-size: 1em; }
.form_nome { width: 16%; font-size: 1em; float: left; padding: 1em 0; color: #606060; font-weight: bold; margin: 0.2em 6% 0 0; text-align: center; }
.form_campo { width: 76%; float: left; margin: 0.8em 0 0 0; font-size: 0.9em; }
.cadastro_topo { width: 90%; margin: 40px auto 0 auto; font-size: 0.9em; }
.div-bot { width: 70%; max-width: 280px; padding-top: 30px; margin: 0px auto 0px auto; }
.oculta_mob { display: none; }
.center_bot { width: 100%; text-align: center; margin: 2em auto 2em auto; }
.center_bot button:nth-child(1) { margin-right: 1em; }

/* Login */
.login-google { width: 90%; height: 40px; margin: 20px auto 10px auto; text-align: center; border-radius: 6px; display: table; background-color: #f9f9f9; border: 1px solid var(--border-color); }
.login-google-icon { width: 12%; height: 30px; float: left; text-align: right; padding-top: 7px; }
.login-google-txt { width: 88%; float: left; text-align: center; padding-top: 8px; }
.login-google-ou { width: 90%; height: 40px; margin: 0 auto 40px auto; }
.login-googleA, .login-googleB, .login-googleC { float: left; }
.login-googleA, .login-googleC { width: 45%; height: 40px; border-bottom: 1px var(--border-color) solid; }
.login-googleB { width: 10%; height: 60px; text-align: center; font-size: 0.9em; padding-top: 28px; }
.login-esqueci { font-size: 0.9em; float: right; margin: -5px 8% 25px 0; color: #17a2b8; }
.login-bot { width: 100%; display: table; }

/* Header Bars */
.barra-log-topo { width: 100%; height: 130px; margin: 0; background: var(--dark-gray); background-image: url(/public/images/fundo-topo.png); background-repeat: repeat-x; }
.barra-log-logo { width: 100%; height: 55px; text-align: center; padding: 0.6em 0 0.4em 0; }
.barra-log-logo img { height: 2.8em; }
.barra-log-menu { width: 100%; max-width: 450px; height: 80px; margin: 0 auto 0 auto; }
.barra-log-icon { float: left; width: 20%; height: 74px; text-align: center; color: var(--text-color); font-size: 0.9em; font-weight: bold; }
.barra-log-icon img { width: 60%; padding-bottom: 3px; }
.barra-log-icon a { color: var(--text-color); }

/* Sliders and Highlights */
.destaque_slide { width: 100%; height: 270px; }
.destaque_prin { width: 100%; height: 240px; }
.destaque_prin_a { width: 100%; margin: 0px 0 20px 0; font-size: 1.3em; font-weight: bold; text-align: center; }
.destaque_prin_b { width: 100%; }

.slider-round-home { height: 150px; text-align: center !important; padding: 5px; font-size: 0.9rem; position: relative; }
.slider-round-home img { width: 120px; height: 120px; padding-top: 10px; text-align: center !important; border-radius: 200px; margin: 0 auto 5px auto !important; object-fit: cover; object-position: center; border: 2px solid var(--text-color); }
.slider-round-homeA { color: #666666; font-weight: bold; }
.slider-round-homeB { position: absolute; bottom: 35px; text-align: center; width: 35px; height: 28px; margin: 0 auto 0 35%; padding-top: 5px; background: var(--secondary-gray); border-radius: 20%; font-size: 0.8rem; color: var(--text-color); font-weight: bold; }

/* Lines and Separators */
.linha-maior { width: 100%; height: 8px; background: var(--light-gray); border-top: 1px var(--border-color) solid; margin: 20px auto 30px; display: table; }
.linha-boy { width: 100%; border-bottom: 1px var(--border-color) solid; height: 1px; margin: 1em auto 2em auto; clear: both; }
.linha-boy-rosa { width: 30%; border-bottom: 6px var(--primary-pink) solid; float: left; margin: 0.6em 0 0em 0; }
.linha-cinza { width: 65%; border-bottom: 1px var(--border-color) solid; float: left; height: 10px; margin: 0.4em 3% 1em 0; }

/* Avatar and Models */
div.slide-avatar { width: 175px; height: 175px; position: absolute; top: 10px; left: 0; right: 0; margin-left: auto; margin-right: auto; }
div.slide-avatar img { width: 100%; height: 100%; border-radius: 200px; object-fit: cover; object-position: center; border: 2px solid var(--text-color); }

.base-avatar { width: 175px; height: 175px; position: absolute; top: 10px; left: 0; right: 0; margin-left: auto; margin-right: auto; }
.base-avatar img { width: 100%; height: 100%; border-radius: 200px; object-fit: cover; object-position: center; border: 2px solid var(--text-color); }

div.base-model { position: relative; width: 100%; height: 250px; padding: 0px; margin: 0px; }
div.base-model>img { width: 100%; height: 100%; object-fit: cover; }

.base-estado, .base-destaque {
  text-align: center;
  font-weight: bold;
  position: absolute;
  left: 10px;
  bottom: 45px;
  color: var(--text-color);
  background: var(--secondary-gray);
  border-radius: 20%;
  letter-spacing: 1px;
  font-size: 1em;
  padding: 5px 9px 5px 9px;
}

.base-destaque { padding: 10px 9px 5px 9px; }
.base-nome { position: absolute; width: 97%; color: var(--text-color); font-size: 1.1em; left: 3%; text-align: left; bottom: 10px; font-weight: bold; z-index: 3; }

.boy-mascara, .boy-mascara-tela {
  position: absolute;
  bottom: 0;
  left: 0;
  background: url(/public/images/slider-gradient.png);
  background-repeat: no-repeat;
  display: table;
}

.boy-mascara-tela { width: 100%; height: 200px; background-size: 100% 200px; }
.boy-mascara { width: 100%; height: 100px; background-size: 100% 100px; }

/* Base Lists */
.base-lista { width: 100%; height: 300px; }
.base-lista-cidade { width: 100%; height: 260px; }
.base-legenda { width: 80%; margin: 15px 0 0 5%; font-size: 1.1em; }
.base-legenda .material-icons { padding: 5px; font-size: 0.9em; }

/* Titles */
.tit-novo { width: 96%; margin: 40px auto 40px auto; font-size: 1.4em; line-height: 1; }
.tit-novo h2 { text-align: center; font-weight: bold; }
.tit-novo span { font-size: 0.8em; font-weight: 100; }

/* City Sections */
.bot-cidade { display: block; }
.bot-cidade .btn { margin-bottom: 10px; }
.btn-label { width: 17%; height: 53px; float: right; right: 0px; padding: 12px 6px 0 6px; background: rgba(0, 0, 0, 0.35); border-radius: 0 8px 8px 0; }
.btn-label .material-icons { font-size: 1.5em; }
.btn-labeled { padding: 0; height: 54px; }
.btn-cidade { padding: 10px 0 0 0; float: left; width: 83%; font-size: 1.1em; }

.cidade-home, .cidade-homeB { width: 100%; position: relative; margin: 0 auto 10px auto; display: table; overflow: hidden; }
.cidade-home img { width: 100%; border-radius: 10px; }
.cidade-homeC { width: 49%; height: 150px; position: relative; margin: 1.3em 0 1.3em 0; float: left; overflow: hidden; }
.cidade-home .boy-mascara { border-radius: 10px; }
.cidade-home-nome, .cidade-home-nomeB { font-size: 2.2em; color: var(--text-color); top: 75%; position: absolute; width: 100%; text-align: center; display: table; }
.idde-home-center { margin: 1.5em auto 1em auto; text-align: center; }
.cidade-home-center { width: 96%; text-align: center; margin: 20px auto 20px auto; }

.espaco { margin: 50px auto 20px auto; display: table; }

/* Boy Grids */
.boy-novo-cel { width: 33.1%; height: 190px; float: left; margin: 1px 1px 0 0; display: table; position: relative; }
.boy-novo-cel:nth-child(3n+3) { margin-right: 0 !important; }
.boy-novo-cel img { width: 100%; height: 190px; }

.boy-novo-est { width: 40px; text-align: center; font-weight: bold; position: absolute; right: 8px; bottom: 40px; color: var(--text-color); background: var(--secondary-gray); border-radius: 20%; letter-spacing: 1px; }
.boy-novo-nome { width: 96%; font-size: 1em; color: var(--text-color); position: absolute; bottom: 5%; margin: 0 30px 0 0; padding: 0 8px 2px 0; line-height: 1; display: table; text-align: right; }

.boy-cel-horizontal { width: 33.1%; height: 120px; float: left; margin: 1px 1px 0 0; display: table; position: relative; padding: 0px; }
.boy-cel-horizontal:nth-child(3n+3) { margin-right: 0 !important; }
.boy-cel-horizontal img { width: 100%; height: 120px; }

.boy-list { margin: 0px 0 1px 0; display: table; }

/* City Links */
.cidade_g { width: 100%; display: table; position: relative; }
.cidade_g img { width: 50%; }
.cidade_link_a, .cidade_link_b, .cidade_link_c, .cidade_link_d { display: block; height: 99px; width: 100px; position: absolute; }
.cidade_link_a { left: 21%; }
.cidade_link_b { left: 50%; }
.cidade_link_c { left: 21%; top: 34%; }
.cidade_link_d { left: 50%; top: 34%; }

.cidade_bot_a, .cidade_bot_b { width: 90%; height: 18px; padding: 5px; display: table; font-weight: bold; }
.cidade_bot_a { background: #2e2e31; color: #999; border-radius: 10px 10px 0 0; margin: 15px auto 0 auto; }
.cidade_bot_b { background: #222328; color: #999; border-radius: 0 0 10px 10px; margin: 0 auto 15px auto; }

.cidade_nome { width: 45%; text-align: center; float: left; color: #999; }
.cidade_esp { width: 10%; text-align: center; float: left; color: #606060; }

.cidadeG, .cidadeM, .cidadeC { width: 100%; height: auto; display: table; }
.cidade_g, .cidade_m, .cidade_c { color: #999; }
.cidade_m a { text-decoration: none; color: #73736d; }
.cidade_c a { text-decoration: none; }
.cidade_m img, .cidade_c img { width: 100%; }

.cidade_m { width: 45%; height: 250px; margin: 20px 2.5% 20px 2.5%; display: table; float: left; position: relative; }
.cidade_c { width: 30.5%; height: 250px; margin: 0 1.2% 0 1.2%; display: table; float: left; position: relative; }

.cidade_link_e, .cidade_link_f { display: block; height: 152px; width: 75px; position: absolute; }
.cidade_link_e { left: 1%; }
.cidade_link_f { left: 50%; }

.cidade_link_g, .cidade_link_h { display: block; height: 105px; width: 53px; position: absolute; }
.cidade_link_g { left: 2%; }
.cidade_link_h { left: 50%; }

/* Profile */
.perfil-geral { max-width: 100%; margin: 0 auto 0 auto; display: table; }
.perfil-capa { width: 100%; display: table; position: relative; }
.perfil-capa img { display: inline-block; width: 100%; max-height: 300px; object-fit: cover; }

.perfil-capa-avatar { width: 180px; height: 180px; position: absolute; top: 30px; left: 0; right: 0; margin-left: auto; margin-right: auto; }
.perfil-capa-avatar img { display: inline-block; width: 100%; height: 100%; border-radius: 200px; object-fit: cover; object-position: center; border: 5px solid var(--text-color); }

.perfil-dados-a, .perfil-dados-b, .perfil-dados-c { display: table; }
.perfil-dados-a { width: 100%; background: var(--secondary-gray); }

.perfil-dados-nome, .perfil-dados-cidade { width: 100%; height: 42px; font-weight: bold; padding: 0.6em; color: var(--text-color); text-align: center; }
.perfil-dados-nome { background-color: var(--secondary-gray); border-bottom: 1px solid #706f6f; }
.perfil-dados-cidade { background-color: var(--dark-gray); }

.perfil-dados-b { width: 100%; }
.perfil-dados-b .dadosA, .dadosB, .dadosC, .dadosD { float: left; width: 25%; height: 84px; text-align: center; font-weight: bold; color: var(--text-color); padding-top: 14px; }
.perfil-dados-b li { width: 100%; padding: 3px; }
.perfil-dados-b span { color: var(--primary-pink); }

.perfil-dados-b .dadosA, .dadosC { background-color: var(--secondary-gray); }
.perfil-dados-b .dadosB, .dadosD { background-color: #404c5a; }

.perfil-dados-c { width: 100%; padding: 10px 0 10px 0; background-color: var(--dark-gray); }

.perfil-topo { width: 94%; height: 55px; margin: 40px auto 12px auto; }
.perfil-topo-avatar { float: left; width: 20%; height: 55px; margin-right: 10px; }
.perfil-topo-avatar img { object-fit: cover; display: inline-block; }
.img-rounded { border-radius: 50%; height: 55px; width: 55px; border: 2px solid var(--primary-pink); box-sizing: border-box; padding: 2px; }

.perfil-topo-nome { float: left; width: 65%; height: 55px; padding-top: 5px; font-weight: bold; line-height: 1.3; font-family: var(--font-family-alt); }
.perfil-topo-nome span { display: block; font-size: 1em; }
.perfil-topo-nome span:nth-of-type(2) { color: #808080; }

.perfil-topo-pontos { float: left; width: 10%; height: 55px; display: flex; justify-content: center; align-items: center; }

.botao_rosa, .botao_verde { width: 46%; font-weight: bold; height: 52px; color: var(--text-color); float: left; margin: 10px 1% 8px 2.5%; border-radius: 10px; line-height: 1.2; }
.botao_rosa { background: #e81d62; border: 1px #e81d62 solid; }
.botao_verde { background: #00c108; border: 1px #009205 solid; }

.icon_phone { float: left; width: 26%; text-align: right; }
.icon_phone img { padding-top: 6px; width: 75%; }

.botao_descr, .botao_descr2 { float: left; width: 74%; padding: 4px 6px 0 0; line-height: 1.2; text-align: center; }
.botao_descr { font-size: 1.1em; }
.botao_descr2 { font-size: 1.1em; }

.botao_descr span { color: #86143c; }
.botao_descr2 span { color: #445762; font-size: 0.9em !important; }

.fon { padding-top: 14px; color: var(--text-color); }
.container-bt { width: 94%; display: table; margin: 0 auto 20px auto; }

.perfil-dados-pag, .perfil-dados-local, .perfil-dados-atendo, .perfil-dados-cache { float: left; width: 25%; height: 80px; text-align: center; font-size: 0.9em; font-weight: bold; padding: 10px 4px 0 4px; }
.perfil-dados-pag, .perfil-dados-atendo { background-color: #ececec; }
.perfil-dados-local, .perfil-dados-cache { background-color: #e1e1e1; }

.perfil-dados-pag li { list-style: none; }
.perfil-dados-pag img { width: 30%; margin: 0; padding: 12px 0; }
.perfil-dados-local li { padding: 10px 0; color: #808080; }
.perfil-dados-cache li { padding: 10px 0; color: #808080; }
.perfil-dados-atendo img { width: 28%; max-width: 35px; padding: 10px 5px 0 0; }

.perfil-sobre { width: 100%; font-size: 0.9em; color: #808080; }
.perfil-corpo { width: 94%; margin: 20px auto 0 auto; }
.perfil-sobre-anuncio { width: 100%; height: 300px; margin: 50px 0 70px 0; text-align: center; }
.perfil-sobre-anuncio span { font-size: 0.9em; color: #c8c8c8; }

.perfil-lado-a, .perfil-lado-b { width: 100%; margin: 40px auto 40px auto; }
.linha-tit { width: 100%; font-weight: bold; }

.boy_aviso { width: 95%; background: #929292; margin: 3em auto 0 auto; border-radius: 12px 12px 0 0; padding: 10px 0 7px 20px; font-size: 0.9em; font-weight: bold; }
.boy_aviso_ter { width: 95%; background: #ebebeb; margin: 0 auto 30px auto; border-radius: 0 0 10px 10px; padding: 15px 5px 5px 0px; font-size: 0.9em; }
.boy_aviso_ter li { list-style-type: square; padding-top: 0.1em; }

.fundo-form { width: 100% !important; min-height: 638px; display: table; background-image: url(/public/images/fundo-form.jpg); }
.corp { background: var(--text-color); padding: 20px 0 40px 0; border: 1px solid #d4d2d2; border-radius: 0 0 10px 10px; font-size: 1em; }
.corp button { width: 250px; margin-top: 15px; }
.form-login { width: 90%; margin: 0 auto 0 auto; }
.popup_conta { text-align: center; background: var(--primary-pink); padding: 0.6em; border-radius: 25% 0 25% 0; letter-spacing: 1px; font-weight: bold; color: var(--text-color); font-size: 1.1em; }
.volta-log { padding: 10px; margin: 0px 0 20px 0; font-size: 1.2em; font-weight: bold; text-align: center; }

/* Videos */
.video-geral { position: relative; width: 98%; height: 230px; margin: 0.50% auto 1em auto; top: 0px; }
.video-geral img { width: 100%; height: 100%; border-radius: 8px; }
.video-mascara { position: absolute; top: 0; left: 0; background: url(https://www.famosos-nus-portal.com/public/images/mascara_videos.png); background-repeat: no-repeat; display: table; width: 100%; height: 230px; background-size: 100% 230px; border-radius: 8px; }
.video-tit { margin: 10px auto 20px auto; }
.bot-mais-videos { width: 200px; height: 40px; border-radius: 8px; font-size: 1.1em; color: var(--text-color); background-color: #1a1e24; margin: 10px auto 10px auto; }

/* Profile Upload and Media */
.button-avatar-upload {
    color: #FFF;
    width: 100%;
    padding: 8px;
    bottom: 25px;
    text-align: center;
}

.position-absolute {
    position: absolute !important;
}

.btn-cover-upload,
.btn-photo-upload {
    color: #FFF;
    background: rgba(0, 0, 0, 0.5);
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50rem !important;
    text-align: center;
    margin: 0 auto 0 auto;
}

.btn-upload {
    display: flex;
    align-items: center;
    justify-content: center;
    float: left;
}

.btn-upload:nth-child(1) {
    margin-right: 10px;
}

.btn-upload span {
    padding: 0 10px 0 0;
}

.modal-upload-center {
    width: 88%;
    margin: 0 auto 40px auto;
    display: table;
}

.wraper-cover-upload {
    position: absolute;
    left: 10px;
    bottom: 10px;
    z-index: 100;
}

.img-container {
    position: relative;
    width: 100% !important;
    margin: 0 !important;
    margin: 10px 0 10px 0 !important;
}

.img-container img {
    width: 100%;
}

.img-container picture {
    width: 100%;
}

.img-container-excluir {
    position: absolute;
    top: 10px;
    right: 10px;
    z-index: 100;
    cursor: pointer;
}

.img-container-photo {
    width: 100% !important;
    margin: 0 !important;
    max-height: 600px !important;
}

.img-container-photo img {
    max-height: 600px;
}

.img-container-cover {
    width: 100% !important;
    margin: 0 !important;
    max-height: 400px !important;
}

.img-container-cover img {
    max-height: 400px;
}

.image_area {
    width: 100%;
    display: flex;
}

.image_area img {
    width: 100%;
}

.boy_player {
    width: 100%;
    height: 350px;
    margin: 0 auto 0 auto;
}

.boy_player video {
    width: 100% !important;
    height: 100% !important;
}

.boy-image {
    width: 100%;
    text-align: center;
    display: table;
}

.boy-image img {
    margin: 10px auto 10px !important;
    width: 100%;
}

.carousel-item {
    height: 250px !important;
}

.carousel-item img {
    height: 100% !important;
    object-fit: cover;
}

/* Backgrounds */
.fundo-rosa { background: var(--primary-pink); padding: 8px 0 8px 0 !important; }
.fundo-cinza { background: var(--secondary-gray); height: 200px; }
.faixa-dark { margin: 0 auto 0 auto; background: #363636; font-size: 0.9em; color: var(--light-gray); display: table; text-align: center; }
.faixa-black { margin: 0 auto 0 auto; background: #000; font-size: 0.9em; color: var(--light-gray); display: table; text-align: center; }

/* Animations */
.efeito-pulsar .base-avatar { animation: pulsar 1.5s infinite; }
@keyframes pulsar {
    0% { transform: scale(1); box-shadow: 0 0 0 0 rgba(255, 255, 255, 0.7); }
    70% { transform: scale(1.05); box-shadow: 0 0 0 10px rgba(255, 255, 255, 0); }
    100% { transform: scale(1); box-shadow: 0 0 0 0 rgba(255, 255, 255, 0); }
}

.efeito-pulsar2 .base-avatar { animation: pulsar2 1.4s infinite; }
@keyframes pulsar2 {
    0% { transform: scale(1.05); }
    70% { transform: scale(1.15); }
    100% { transform: scale(1.05); }
}

.efeito-borda-giratoria .base-avatar::before {
    content: '';
    position: absolute;
    top: -5px;
    left: -5px;
    right: -5px;
    bottom: -5px;
    border: 2px solid transparent;
    border-top-color: var(--text-color);
    border-radius: 50%;
    animation: girarBorda 2s linear infinite;
}

@keyframes girarBorda {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

.efeito-brilho .base-avatar {
    position: relative;
}

.efeito-brilho .base-avatar::after {
    content: '';
    position: absolute;
    top: -10px;
    left: -10px;
    right: -10px;
    bottom: -10px;
    background: radial-gradient(circle, rgba(255,255,255,0.8) 0%, rgba(255,255,255,0) 70%);
    border-radius: 50%;
    z-index: -1;
    animation: brilhar 2s ease-in-out infinite;
}

@keyframes brilhar {
    0%, 100% { opacity: 0.5; }
    50% { opacity: 1; }
}

.efeito-zoom .base-avatar img {
    transition: transform 0.3s ease;
}

.efeito-zoom .base-avatar:hover img {
    transform: scale(1.1);
}

.efeito-ondas .base-avatar::before,
.efeito-ondas .base-avatar::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    border-radius: 50%;
    border: 2px solid var(--text-color);
    animation: ondas 2s infinite;
}

.efeito-ondas .base-avatar::after {
    animation-delay: 1s;
}

@keyframes ondas {
    0% { transform: scale(1); opacity: 1; }
    100% { transform: scale(1.5); opacity: 0; }
}

.efeito-pulsar2-borda .base-avatar { animation: pulsar2 1.4s infinite; }
.efeito-pulsar2-borda .base-avatar::before {
    content: '';
    position: absolute;
    top: -5px;
    left: -5px;
    right: -5px;
    bottom: -5px;
    border: 2px solid transparent;
    border-top-color: var(--text-color);
    border-radius: 50%;
    animation: girarBorda 2s linear infinite;
}

.efeito-pulsar2-ondas .base-avatar { animation: pulsar2 1.4s infinite; }
.efeito-pulsar2-ondas .base-avatar::before,
.efeito-pulsar2-ondas .base-avatar::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    border-radius: 50%;
    border: 2px solid var(--text-color);
    animation: ondas 2s infinite;
}

.efeito-pulsar2-ondas .base-avatar::after {
    animation-delay: 1s;
}

/* Responsive Design - Desktop Overrides */
@media (min-width: 768px) {
    .btn-outline-light { width: 140px; }
    .recipiente { max-width: 1200px; margin: 0 auto 0 auto; }
    .sub-b { width: 62%; text-align: center; padding: 10px 0 0 12%; }
    .alerta-b { width: 90%; height: 60px; padding: 20px 0; text-align: left; display: flex; align-items: center; }
    .destaque_slide { width: 40%; float: left; margin: 10px 0 10px 0; }
    .destaque_prin { width: 60%; float: left; margin: 10px 0 10px 0; padding: 0 0 0 5px; }
    .destaque_prin_a { margin: 30px 0; }
    .destaque_prin_b { width: 96%; margin: 0 auto 0 auto; }
    .slider-round-home { height: 190px; font-size: 0.9rem; }
    .slider-round-home img { width: 140px; height: 140px; }
    .slider-round-homeB { bottom: 45px; }
    .linha-maior { display: none; }
    div.base-model { height: 190px; }
    .base-estado { font-size: 0.8em; padding: 4px 6px 4px 6px; }
    .base-nome { font-size: 0.9em; }
    .base-avatar { width: 120px; height: 120px; }
    .base-lista { float: left; width: 24.5%; height: 260px; margin: 0 0.5% 0 0; }
    .base-lista-cidade { float: left; width: 24.5%; height: 210px; margin: 0 0.5% 0 0; }
    .base-legenda { font-size: 0.9em; }
    .tit-novo { font-size: 1.4em; }
    .tit-novo span { font-size: 0.7em; font-weight: 100; }
    .bot-cidade { display: none !important; }
    .video-geral { width: 32%; float: left; margin-right: 1%; }
    .video-geral:nth-child(4) { margin-right: 0 !important; }
    .modal-margin { margin: 0px auto 0px auto; }
    .cidade-home { width: 32%; float: left; margin-right: 1%; }
    .cidade-home:nth-child(3) { margin-right: 0 !important; }
    .cidade-homeB, .cidade-homeC { width: 24%; height: 160px; margin: 0 0.5% 0 0.5%; float: left; border-radius: 10px; }
    .cidade-homeB .cidade-home-nome { font-size: 1.8em; }
    .cidade-homeC .cidade-home-nome { font-size: 1.8em; }
    .cidade-homeB img { width: 100%; height: 100%; border-radius: 10px; }
    .cidade-homeC img { width: 100%; height: 100%; border-radius: 10px; }
    .cidade-home-center { width: 95%; max-width: 1100px; text-align: center; margin: 25px auto 10px auto; display: table; }
    .menu-rosa { font-size: 1.1em; }
    .menu-top, .menu-top-log { width: 480px; }
    .boy-novo-cel { width: 16.5%; height: 260px; }
    .boy-novo-cel img { width: 100%; height: 260px; }
    .boy-novo-cel:nth-child(3n+3) { margin-right: 1px !important; }
    .boy-cel-horizontal { height: 148px; }
    .boy-cel-horizontal img { width: 100%; height: 148px; }
    .boy-list { margin: 0px auto 1px auto; display: table; }
    .cidade_g { width: 20%; float: left; }
    .cidade_link_a { left: 0%; }
    .cidade_link_b { left: 50%; }
    .cidade_link_c { left: 0%; top: 34%; }
    .cidade_link_d { left: 50%; top: 34%; }
    .cidadeG { width: 27%; float: left; }
    .cidadeM { width: 29%; float: left; }
    .cidadeC { width: 44%; float: left; }
    .cidade_g { width: 100%; }
    .cidade_m { width: 46%; float: left; margin: 0px 5px 0 5px; }
    .cidade_link_g, .cidade_link_h { height: 150px; width: 73px; }
    .perfil-geral { width: 100%; max-width: 1070px; margin: 0 auto 0 auto; }
    .perfil-capa { width: 100%; height: 500px; display: table; }
    .perfil-capa img { display: inline-block; width: 100%; max-height: 550px; object-fit: cover; }
    .perfil-dados-a { float: left; width: 25%; }
    .perfil-dados-b { float: left; width: 43%; }
    .perfil-dados-c { float: left; width: 32%; padding: 7px 0 7px 0; }
    .perfil-dados-nome, .perfil-dados-cidade { float: left; }
    .perfil-dados-nome { border-bottom: 0px; }
    .icon_phone img { padding-top: 9px; }
    .botao_descr2 { font-size: 1em; padding-top: 6px; }
    .fon { font-size: 0.8em; }
    .perfil-capa-avatar { width: 300px; height: 300px; }
    .perfil-dados-pag img { width: 3.2em; padding: 9px 0; }
    .perfil-dados-atendo img { padding-top: 8px; }
    .perfil-sobre { float: left; width: 72%; margin-top: 26px; }
    .perfil-sobre-anuncio { float: left; width: 25%; height: 220px; margin-top: 20px; }
    .perfil-corpo { width: 100%; }
    .perfil-lado-a, .perfil-lado-b { float: left; }
    .perfil-lado-a { width: 74%; padding: 25px; }
    .perfil-body { width: 80%; margin: 0 auto 0 auto; }
    .perfil-lado-b { width: 26%; }
    .linha-boy { width: 90%; margin: 1.5em auto 2.5em auto; }
    .linha-boy-rosa { width: 13%; }
    .linha-cinza { width: 83%; }
    .boy_aviso, .boy_aviso_ter { width: 90%; }
    .form_form { width: 320px; }
    .form_nome { width: 12%; font-size: 1.1em; text-align: right; margin: 0.8em 2% 0 0; }
    .form_campo { width: 82%; float: left; margin: 0.8em 0 0 0; }
    .perfil-topo { width: 98%; }
    .perfil-topo-avatar { width: 10%; }
    .perfil-topo-nome { width: 75%; }
    .perfil-topo-pontos { width: 10%; }
    .oculta_mob { display: block; }
    .carousel-item {height: 300px !important;}
}

@media (min-width: 992px) {
    .modal-upload-center {
        width: 350px;
    }

    .btn-cover-upload span,
    .btn-photo-upload span {
        padding: 0 8px 0 0;
    }
}


/* Estilos para animação do botão de envio */
.btn-loading {
    position: relative;
    pointer-events: none;
    opacity: 0.8;
}

.btn-loading .btn-text {
    opacity: 0;
}

.btn-loading::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    width: 20px;
    height: 20px;
    margin: -10px 0 0 -10px;
    border: 2px solid #ffffff;
    border-top: 2px solid transparent;
    border-radius: 50%;
    animation: spin 1s linear infinite;
}

@keyframes spin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}
