:root {
	--radius-lg: 16px;
	--shadow-sm: 0 4px 10px rgba(0, 0, 0, .15);
	--shadow-md: 0 8px 18px rgba(0, 0, 0, .22);
	--shadow-lg: 0 14px 28px rgba(0, 0, 0, .32);
}
/* ========================= */
/* BANNER                    */
/* ========================= */
.profile-banner {
	position: relative;
	width: 70%;
	height: 260px;
	top: 65px;
	margin: 0 auto;
	border-bottom: 1px solid var(--border);
	border-radius: 0 0 20px 20px;
	overflow: hidden;
	box-shadow: 0 6px 16px rgba(0,0,0,0.25);
  }
  
  .banner-img {
	width: 100%;
	height: 100%;
	object-fit: cover;
  }
  
  /* Responsivo */
  @media (max-width: 768px) {
	.profile-banner {
	  width: 90%;
	  height: 200px;
	}
  }
  @media (max-width: 480px) {
	.profile-banner {
	  width: 85%;
	  height: 180px;
	}
  }
  
  /* ========================= */
  /* Botões do banner          */
  /* ========================= */
  .banner-back-btn,
  .profile-share {
	position: absolute;
	top: 16px;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 42px;
	height: 42px;
	border-radius: 50%;
	background: rgba(0, 0, 0, 0.55); /* overlay escuro */
	border: 1px solid var(--gold);
	color: #fff;
	font-size: 1.1rem;
	cursor: pointer;
	backdrop-filter: blur(6px);
	transition: all .3s ease;
	z-index: 5;
  }
  
  .banner-back-btn { left: 16px; }
  .profile-share { right: 16px; }
  
  .banner-back-btn:hover,
  .profile-share:hover {
	background: var(--gold);
	color: #000;
	box-shadow: 0 0 12px rgba(255, 215, 0, 0.6);
	transform: scale(1.05);
  }
  
  /* Tema claro */
  html[data-theme="light"] .banner-back-btn,
  html[data-theme="light"] .profile-share {
	background: rgba(255, 255, 255, 0.65);
	color: #000;
  }
  html[data-theme="light"] .banner-back-btn:hover,
  html[data-theme="light"] .profile-share:hover {
	background: var(--gold);
	color: #000;
  }
  
  /* Versão mobile */
  @media (max-width: 768px) {
	.banner-back-btn,
	.profile-share {
	  width: 36px;
	  height: 36px;
	  font-size: 0.95rem;
	  top: 12px;
	}
	.banner-back-btn { left: 12px; }
	.profile-share { right: 12px; }
  }
  /* SECTION BASE */
.profile-section {
	max-width: 1100px;
	margin: 28px auto;
	padding: 0 20px; /* alinhamento igual aos outros */
  }
  
  /* Gallery Section */
  .gallery-section {
	padding: 0 0px; /* força consistência lateral */
  }
  
  .gallery-header,
  .gallery-stats {
	margin-bottom: 14px;
  }
  
  /* Gallery Grid */
  .gallery-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(110px, 1fr));
	gap: 10px;
  }
  
  
  /* HEADER */
  .profile-header {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	margin-top: -64px;
	gap: 6px;
  }
  
  .profile-avatar {
	position: relative;
	display: inline-block;
  }
  
  .profile-avatar img {
	width: 120px;
	height: 120px;
	margin-top: 50px;
	border-radius: 50%;
	border: 3px solid #cfa349;
	box-shadow: 0 6px 14px rgba(0,0,0,0.25);
	object-fit: cover;
	background: var(--surface);
  }
  
  .profile-avatar .dot {
	position: absolute;
	bottom: 8px;
	right: 8px;
	width: 18px;
	height: 18px;
	border-radius: 50%;
	border: 2px solid var(--surface);
  }
  
  .dot.online {
	background: #3ac569;
  }
  
  .dot.offline {
	background: #999;
  }
  
  .profile-name {
	font-size: 1.8rem;
	font-family: var(--font-title);
	font-weight: 700;
  }
  
  .profile-city {
	font-size: 1rem;
	font-weight: 500;
	opacity: .9;
	display: flex;
	align-items: center;
	gap: 6px;
  }
  
  .profile-city i {
	color: var(--gold);
  }
  
  .profile-bandage {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 10px;
	margin-top: 6px;
  }
  
  .profile-bandage img {
	height: 32px;
	width: auto;
	display: block;
  }
  
  .profile-info-line {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 10px;
	margin-top: 6px;
	font-size: 0.95rem;
	color: var(--text);
	opacity: 0.9;
  }
  
  .profile-info-line .info-item {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-weight: 500;
  }
  
  .profile-info-line i {
	font-size: 0.9rem;
	color: var(--gold);
  }
  
  .profile-info-line .separator {
	opacity: 0.5;
  }

  .profile-info-line,
.profile-social-line {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 10px;
  margin-top: 6px;
  font-size: 0.95rem;
  font-weight: 500;
  color: var(--text);
}

.profile-info-line i,
.profile-social-line i {
  color: var(--gold);
  margin-right: 4px;
}

.separator {
  opacity: 0.6;
}
.btn-like.active {
	background: #c0392b;
	color: #fff;
  }
  
  .btn-line{background:#0e0f15; color:#e9ecf4; border:1px solid var(--line); border-radius:10px; padding:10px 12px; cursor:pointer}
  .btn-favorite.active {
	background: var(--gold);
	color: #000;
  }
  
/* PROFILE ACTIONS */
.profile-actions {
	display: flex;
	justify-content: center;
	gap: 16px;
	margin: 0 auto 10px;
	max-width: 1100px;
	padding: 0 20px;
  }
  
  .profile-actions .btn-auth {
	flex: 1;
	max-width: 240px;
	text-align: center;
	padding: 14px 24px;
	font-size: 1.05rem;
	font-weight: 600;
	border-radius: 14px;
	transition: all .3s ease;
	box-shadow: 0 4px 10px rgba(0,0,0,0.15);
  }
  
  /* Report Button */
  .btn-report {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 46px;
	height: 46px;
	border-radius: 50%;
	background: #b80000;
	color: #fff;
	font-size: 1.2rem;
	cursor: pointer;
	border: 2px solid transparent;
	box-shadow: 0 4px 10px rgba(0,0,0,0.25);
	transition: all .3s ease;
	flex: none;
	margin-top: 0; /* remove deslocamento desnecessário */
  }
  .btn-report:hover {
	background: #d00000;
	transform: translateY(-2px);
	box-shadow: 0 6px 14px rgba(0,0,0,0.35);
  }
  
  
  /* Base */
  .btn-auth {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	cursor: pointer;
	letter-spacing: 0.4px;
  }
  
  /* Gold */
  .btn-gold {
	background: var(--gold);
	color: #000;
  }
  
  .btn-gold:hover {
	box-shadow: 0 6px 16px rgba(207,163,73,0.55);
	transform: translateY(-2px);
  }
  
  /* Dark */
  .btn-dark {
	background: var(--surface-alt);
	border: 2px solid var(--border);
	color: var(--text);
  }
  
  .btn-dark:hover {
	border-color: var(--gold);
	color: var(--gold);
	box-shadow: 0 6px 14px rgba(207,163,73,0.35);
	transform: translateY(-2px);
  }

  /* Report Button */
.btn-report {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 46px;
	height: 46px;
	border-radius: 50%;
	background: #b80000;
	margin-top: 13px;
	color: #fff;
	font-size: 1.2rem;
	cursor: pointer;
	border: 2px solid transparent;
	box-shadow: 0 4px 10px rgba(0,0,0,0.25);
	transition: all .3s ease;
	display: flex;
	align-items: center;
	justify-content: center;
	flex: none;
  }
  
  .btn-report:hover {
	background: #d00000;
	transform: translateY(-2px);
	box-shadow: 0 6px 14px rgba(0,0,0,0.35);
  }
  
  /* ===== Report Modal ===== */
.modal-report {
	position: fixed;
	inset: 0;
	z-index: 2000;
	display: flex;
	align-items: center;
	justify-content: center;
	backdrop-filter: blur(4px);
	background: rgba(0, 0, 0, 0.65);
	transition: opacity 0.3s ease;
  }
  .modal-report.hidden {
	display: none;
  }
  
  .modal-card {
	background: var(--surface);
	border-radius: 18px;
	max-width: 420px;
	width: 90%;
	padding: 28px 26px;
	box-shadow: 0 12px 40px rgba(0, 0, 0, 0.6);
	border: 1px solid var(--border);
	animation: fadeUp 0.3s ease;
  }
  
  .modal-title {
	font-size: 1.35rem;
	font-weight: 700;
	margin-bottom: 10px;
	color: var(--text);
  }
  
  .modal-desc {
	font-size: 0.95rem;
	line-height: 1.5;
	color: var(--text-muted, #bbb);
	margin-bottom: 18px;
  }
  
  .modal-textarea {
	width: 100%;
	min-height: 100px;
	padding: 12px 14px;
	border-radius: 12px;
	border: 1px solid var(--border);
	background: var(--surface-alt);
	color: var(--text);
	font-size: 0.95rem;
	resize: vertical;
	margin-bottom: 22px;
	transition: border-color 0.25s ease, box-shadow 0.25s ease;
  }
  .modal-textarea:focus {
	border-color: var(--gold);
	box-shadow: 0 0 0 3px rgba(207, 163, 73, 0.35);
	outline: none;
  }
  
  .modal-actions {
	display: flex;
	justify-content: flex-end;
	gap: 12px;
  }
  
  .modal-actions .btn-auth {
	flex: 1;
	padding: 12px 0;
	font-size: 1rem;
	border-radius: 12px;
	font-weight: 600;
	text-align: center;
	transition: all 0.3s ease;
  }
  
  /* Cancel */
  #cancelReport {
	background: var(--surface-alt);
	border: 1px solid var(--border);
	color: var(--text);
  }
  #cancelReport:hover {
	border-color: var(--gold);
	color: var(--gold);
  }
  
  /* Submit */
  #submitReport {
	background: var(--gold);
	color: #000;
  }
  #submitReport:hover {
	box-shadow: 0 6px 16px rgba(207, 163, 73, 0.55);
	transform: translateY(-2px);
  }
  
  @keyframes fadeUp {
	from {
	  opacity: 0;
	  transform: translateY(20px);
	}
	to {
	  opacity: 1;
	  transform: translateY(0);
	}
  }
  

/* CONTAINERS DE SEÇÃO (largura e respiro lateral) */
.section-block,
.qa-section,
.reviews-section,
.profile-details,
.profile-gallery,
.services-grid,
.profile-attributes,
.media-grid,
.scroll-cards {
	max-width: 1100px;
	margin: 0 auto;
	padding: 0 20px
}

/* GRID INFO */
.profile-details {
	padding: 20px 16px 40px;
	max-width: 1100px;
	margin: 0 auto;
  }
  
  .info-grid {
	display: flex;
	flex-wrap: wrap;
	gap: 24px;
	margin-bottom: 20px;
  }
  
  .info-card {
	flex: 1 1 48%;
	background: var(--surface);
	border: 2px solid var(--border);
	border-radius: 16px;
	padding: 18px;
	box-shadow: 0 6px 18px rgba(0,0,0,0.15);
	transition: all .25s ease;
  }
  
  .info-card:hover {
	border-color: var(--gold);
	box-shadow: 0 8px 22px rgba(0,0,0,0.25);
  }
  
  .info-card h3 {
	font-size: 0.95rem;
	font-weight: 600;
	color: var(--gold);
	margin-bottom: 8px;
  }
  
  .info-card .price {
	font-size: 1.25rem;
	font-weight: 700;
  }
  
  .info-card .price span {
	font-size: .85rem;
	opacity: .8;
  }
  
  /* VOZ */
  .voice-box {
	display: flex;
	align-items: center;
	gap: 12px;
	background: var(--surface);
	border: 2px solid var(--border);
	border-radius: 16px;
	padding: 14px 18px;
	margin: 16px 0 28px;
	box-shadow: 0 6px 18px rgba(0,0,0,0.15);
	transition: all .25s ease;
  }
  
  .voice-box:hover {
	border-color: var(--gold);
	box-shadow: 0 8px 22px rgba(0,0,0,0.25);
  }
  
  .voice-box i {
	font-size: 1.2rem;
	color: var(--gold);
  }
  
  .voice-box span {
	flex: 1;
	font-size: .95rem;
	font-weight: 500;
  }
  
  /* CONTATO */
  .contact-box {
	text-align: center;
	margin-top: 20px;
	margin-bottom: 40px;
  }
  
  .btn-whatsapp {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	width: 100%;
	max-width: 420px;
	height: 54px;
	font-size: 1.05rem;
	font-weight: 700;
	letter-spacing: 0.4px;
	text-transform: uppercase;
	color: #fff;
	background: linear-gradient(135deg, #25d366, #1ebe5c);
	border-radius: 14px; 
	box-shadow: 0 4px 12px rgba(0,0,0,0.25);
	transition: all .3s ease;
	cursor: pointer;
  }
  
  .btn-whatsapp i {
	font-size: 1.2rem;
	color: #fff;
  }
  
  .btn-whatsapp:hover {
	background: linear-gradient(135deg, #22c55e, #199d4a);
	transform: translateY(-2px);
	box-shadow: 0 6px 18px rgba(0,0,0,0.35), 0 0 10px rgba(207,163,73,0.55);
  }
	
  
/* TÍTULOS DE SEÇÃO */
.section-title {
	font-family: "Playfair Display", serif;
	font-size: 1.5rem;
	font-weight: 700;
	color: var(--gold);
	margin: 32px auto 18px;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	text-transform: uppercase;
	letter-spacing: 1.4px;
	text-shadow: 0 1px 6px rgba(207, 163, 73, .25);
	text-align: center;
	position: relative
}

.section-title::after {
	content: "";
	position: absolute;
	bottom: -6px;
	left: 50%;
	transform: translateX(-50%);
	width: 80px;
	height: 2px;
	background: linear-gradient(90deg, transparent, var(--gold), transparent);
	border-radius: 2px
}

.section-title i {
	font-size: 1.1rem;
	color: var(--gold)
}

/* DESCRIÇÃO */
.profile-desc {
	font-family: "Inter", sans-serif;
	font-size: 1rem;
	line-height: 1.7;
	color: var(--text);
	opacity: .95;
	margin: 0 auto 24px;
	text-align: center;
	max-width: 800px
}

.profile-desc::first-letter {
	font-family: "Playfair Display", serif;
	font-size: 1.4rem;
	font-weight: 700;
	color: var(--gold)
}
.description-box {
	padding: 20px 24px;
	margin: 12px auto;         
	text-align: center;
	max-width: 50%;
  }
  
  
  .profile-desc {
	font-size: 1.05rem;
	line-height: 1.7;
	font-style: italic;
	color: var(--text);
	max-width: 680px;
	margin: 0 auto;
  }
  
  .profile-desc::first-letter {
	font-size: 1.6rem;
	font-weight: 700;
	color: var(--gold);
	float: left;
	margin-right: 4px;
  }
  

/* ATRIBUTOS */
.profile-attributes {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
	gap: 20px
}

.profile-attributes .attr {
	background: var(--surface-alt);
	border: 3px solid var(--border);
	border-radius: 12px;
	padding: 12px 16px;
	font-size: .95rem;
	color: var(--gold);
	display: flex;
	justify-content: space-between
}

.profile-attributes strong {
	color: #fff;
	font-weight: 700
}

/* ============================ */
/* SERVIÇOS — Premium Section  */
/* ============================ */
.services-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
	gap: 18px;
	margin: 28px auto;
	max-width: 960px;
	padding: 0 16px;
  }
  
  .service-item {
	background: linear-gradient(180deg, var(--surface), var(--surface-alt));
	border: 1px solid rgba(207,163,73,0.35);
	border-radius: 16px;
	padding: 16px 20px;
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 12px;
	font-size: 0.95rem;
	font-weight: 500;
	transition: all .3s ease;
	box-shadow: 0 4px 12px rgba(0,0,0,0.25);
  }
  
  .service-item:hover {
	border-color: var(--gold);
	box-shadow: 0 6px 18px rgba(207,163,73,0.35);
	transform: translateY(-3px);
  }
  
  .service-label {
	color: var(--text);
	font-weight: 600;
	flex: 1;
	display: flex;
	align-items: center;
	gap: 8px;
  }
  
  .service-item[data-status="no"] .service-label {
	color: #777;
	text-decoration: line-through;
  }
  
  /* ============================ */
  /* STATUS BADGES                */
  /* ============================ */
  .service-status {
	font-size: 0.85rem;
	font-weight: 700;
	padding: 6px 14px;
	min-width: 90px;
	text-align: center;
	transition: all .25s ease;
  }
  
  .service-status[data-status="do"] {
	background: linear-gradient(135deg, #4cd964, #3ac569);
	color: #fff;
  }
  
  .service-status[data-status="receive"] {
	background: linear-gradient(135deg, #ffd86f, var(--gold));
	color: #000;
  }
  
  .service-status[data-status="both"] {
	background: linear-gradient(135deg, #4cd964, #ffd86f);
	color: #000;
  }
  
  .service-status[data-status="no"] {
	background: linear-gradient(135deg, #666, #444);
	color: #eee;
  }
  
  /* ============================ */
  /* ICON AO LADO DO LABEL        */
  /* ============================ */
  .status-icon {
	width: 18px;
	height: 18px;
	object-fit: contain;
	display: inline-block;
	vertical-align: middle;
  }
  
  /* ============================ */
  /* RESPONSIVO                   */
  /* ============================ */
  @media (max-width: 768px) {
	.services-grid {
	  grid-template-columns: 1fr;
	  gap: 14px;
	  padding: 0 12px;
	}
	.service-item {
	  padding: 14px 16px;
	  font-size: 0.9rem;
	}
	.service-status {
	  padding: 5px 12px;
	  font-size: 0.8rem;
	  min-width: 80px;
	}
  }

/* ===== REVIEWS ===== */
.reviews-section {
  max-width: 1100px;
  margin: 40px auto;
  padding: 0 20px;
}

.review-list {
  display: flex;
  flex-direction: column;
  gap: 18px;
}

.review-item {
  background: linear-gradient(180deg, var(--surface) 0%, var(--surface-alt) 100%);
  border: 1px solid rgba(207,163,73,0.35);
  border-radius: 14px;
  padding: 18px 20px;
  box-shadow: 0 4px 12px rgba(0,0,0,.35);
  transition: transform .25s ease, box-shadow .25s ease, border .25s ease;
}
.review-item:hover {
  transform: translateY(-3px);
  border-color: var(--gold);
  box-shadow: 0 8px 20px rgba(207,163,73,.35);
}

.review-text {
  font-style: italic;
  font-size: 1rem;
  line-height: 1.7;
  color: var(--text);
  margin-bottom: 12px;
  text-align: center;
  position: relative;
}
.review-text::before,
.review-text::after {
  content: '"';
  font-size: 1.4rem;
  font-weight: 700;
  color: var(--gold);
}

.review-meta {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  font-size: 0.9rem;
  color: var(--text-light);
}

.review-stars {
  color: var(--gold);
  font-size: 1rem;
  text-shadow: 0 0 6px rgba(207,163,73,.45);
}

.review-author {
  font-weight: 600;
  color: var(--gold);
}

.review-date {
  font-size: 0.8rem;
  opacity: 0.75;
}

/* Scroll horizontal elegante */
.review-scroll {
  display: flex;
  gap: 16px;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  padding: 10px 4px;
}
.review-scroll::-webkit-scrollbar {
  height: 8px;
}
.review-scroll::-webkit-scrollbar-thumb {
  background: var(--gold);
  border-radius: 6px;
}
.review-scroll::-webkit-scrollbar-track {
  background: transparent;
}

/* Itens */
.review-item {
  min-width: 280px;
  max-width: 340px;
  flex: 0 0 auto;
  scroll-snap-align: start;
  background: var(--surface-alt);
  border: 1px solid var(--border);
  padding: 16px;
  border-radius: 12px;
  box-shadow: var(--shadow-sm);
  transition: all .25s ease;
}
.review-item:hover {
  border-color: var(--gold);
  box-shadow: var(--shadow-md);
}

.review-text {
  font-style: italic;
  font-size: .95rem;
  line-height: 1.6;
  margin-bottom: 10px;
  text-align: left;
}

.review-meta {
  font-size: .85rem;
  font-weight: 600;
  color: var(--gold);
  display: flex;
  align-items: center;
  gap: 6px;
}

.no-reviews {
  text-align: center;
  padding: 40px 20px;
  color: var(--text);
  opacity: .85;
}
.no-reviews i {
  font-size: 1.8rem;
  color: var(--gold);
  margin-bottom: 8px;
  display: block;
}

.reviews-actions {
  display: flex;
  justify-content: center;
  margin-top: 16px;
}
.btn-reviews {
  padding: 10px 22px;
  border: 1px solid var(--gold);
  border-radius: 30px;
  background: transparent;
  color: var(--gold);
  font-weight: 600;
  transition: all .25s ease;
}
.btn-reviews:hover {
  background: var(--gold);
  color: #000;
  box-shadow: 0 0 12px rgba(207,163,73,.45);
}


.btn-reviews {
  display: block;             
  margin: 22px auto 0;        
  padding: 12px 28px;
  border: 1px solid var(--gold);
  border-radius: 30px;
  font-weight: 600;
  font-size: 1rem;
  color: var(--gold);
  background: transparent;
  text-align: center;          
  transition: all .3s ease;
  max-width: fit-content;      
}
.btn-reviews:hover {
  background: var(--gold);
  color: #000;
  box-shadow: 0 0 16px rgba(207,163,73,.5);
}

/* GALERIA */
.profile-gallery {
	margin-top: 32px
}

.media-grid {
	display: grid;
	gap: 22px;
	grid-template-columns: repeat(auto-fit, minmax(260px, 1fr))
}

.media-card {
	position: relative;
	overflow: hidden;
	border-radius: 16px;
	background: linear-gradient(var(--surface), var(--surface)) padding-box, linear-gradient(145deg, rgba(207, 163, 73, .7), rgba(207, 163, 73, .15)) border-box;
	border: 1px solid transparent;
	box-shadow: 0 10px 24px rgba(0, 0, 0, .28);
	aspect-ratio: 4/3;
	cursor: pointer;
	transition: transform .35s ease, box-shadow .35s ease, filter .35s ease
}

.media-card img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transform: scale(1.01);
	transition: transform .35s ease
}

.media-card:hover {
	transform: translateY(-4px);
	box-shadow: 0 16px 36px rgba(0, 0, 0, .35);
	filter: saturate(1.03)
}

.media-card:hover img {
	transform: scale(1.06)
}

.media-card::after {
	content: "";
	position: absolute;
	inset: auto 0 0 0;
	height: 64px;
	background: linear-gradient(to top, rgba(0, 0, 0, .35), transparent);
	pointer-events: none
}

.media-card.video .media-badge {
	position: absolute;
	inset: 0;
	margin: auto;
	width: 64px;
	height: 64px;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	background: radial-gradient(circle at 30% 30%, #f4d67a, #cfa349);
	color: #000;
	font-size: 1.4rem;
	box-shadow: 0 10px 24px rgba(0, 0, 0, .35), inset 0 2px 8px rgba(255, 255, 255, .35);
	transition: transform .25s ease, box-shadow .25s ease, filter .25s ease
}

.media-card.video:hover .media-badge {
	transform: scale(1.08);
	box-shadow: 0 14px 28px rgba(0, 0, 0, .45), inset 0 3px 10px rgba(255, 255, 255, .45);
	filter: saturate(1.05)
}

.media-card .label-exclusive {
	position: absolute;
	right: 10px;
	bottom: 10px;
	padding: 6px 10px;
	font-weight: 800;
	font-size: .72rem;
	letter-spacing: .4px;
	color: #fff;
	background: #e14a3b;
	border-radius: 999px;
	box-shadow: 0 6px 14px rgba(225, 74, 59, .45)
}

.media-card:focus-visible {
	outline: none;
	box-shadow: 0 0 0 3px rgba(207, 163, 73, .9), 0 10px 24px rgba(0, 0, 0, .28)
}

.media-viewer {
	position: fixed;
	inset: 0;
	background: rgba(0,0,0,0.9);
	display: none;
	align-items: center;
	justify-content: center;
	z-index: 2000;
  }
  .media-viewer img,
  .media-viewer video {
	max-width: 92%;
	max-height: 92%;
	border-radius: 12px;
	box-shadow: 0 10px 40px rgba(0,0,0,.6);
  }
  .media-viewer video {
	background: #000;
  }
  .media-viewer .close-btn {
	position: absolute;
	top: 24px;
	right: 32px;
	font-size: 2rem;
	font-weight: bold;
	color: #fff;
	cursor: pointer;
	transition: color .25s ease;
  }
  .media-viewer .close-btn:hover {
	color: var(--gold);
  }
  
/* SCROLL CARDS */
.scroll-cards {
	display: flex;
	gap: 20px;
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	padding-bottom: 12px
}

.scroll-cards::-webkit-scrollbar {
	height: 6px
}

.scroll-cards::-webkit-scrollbar-thumb {
	background: var(--gold);
	border-radius: 10px
}

.scroll-cards::-webkit-scrollbar-track {
	background: var(--surface)
}

.scroll-item {
	min-width: 200px;
	background: var(--surface);
	border: 3px solid var(--border);
	border-radius: 14px;
	text-align: center;
	scroll-snap-align: start;
	transition: transform .3s ease, box-shadow .3s ease
}

.scroll-item img {
	width: 100%;
	height: 240px;
	object-fit: cover;
	border-bottom: 3px solid var(--border)
}

.scroll-item h4 {
	font-size: 1rem;
	margin: 8px 0 4px
}

.scroll-item p {
	font-size: .9rem;
	color: var(--gold);
	margin-bottom: 10px
}

.scroll-item:hover {
	transform: translateY(-4px);
	box-shadow: var(--shadow-lg)
}

/* RESPONSIVO */
@media (max-width:1200px) {
	.info-grid {
		gap: 20px
	}

	.services-grid {
		gap: 16px
	}

	.media-grid {
		gap: 20px
	}
}

@media (max-width:992px) {
	.info-grid {
		flex-direction: column
	}

	.scroll-item {
		min-width: 180px
	}

	.media-grid {
		gap: 18px;
		grid-template-columns: repeat(2, 1fr)
	}
}

@media (max-width:768px) {
	.profile-header {
		padding: 20px 12px
	}

	.profile-avatar img {
		width: 100px;
		height: 100px
	}

	.profile-name {
		font-size: 1.4rem
	}

	.profile-bandage img {
		height: 28px
	}

	.info-card {
		width: 100%
	}

	.profile-attributes {
		grid-template-columns: 1fr
	}

	.services-grid {
		grid-template-columns: 1fr
	}

	.scroll-cards {
		gap: 12px
	}
}

@media (max-width:600px) {
	.media-grid {
		gap: 14px;
		grid-template-columns: 1fr
	}

	.media-card {
		border-radius: 14px
	}

	.media-card.video .media-badge {
		width: 56px;
		height: 56px;
		font-size: 1.2rem
	}
}
.gallery-section {
  max-width: 1280px;
  margin: 40px auto;
  padding: 0 0px;
}

.gallery-stats {
  display: flex;
  gap: 20px;
  justify-content: center;
  margin-bottom: 20px;
  font-size: 0.95rem;
  color: var(--text);
}
.gallery-stats div {
  display: flex;
  align-items: center;
  gap: 6px;
  font-weight: 600;
}
.gallery-stats span {
  font-weight: 400;
  opacity: .8;
  font-size: .85rem;
}

.gallery-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
  gap: 14px;
}

.gallery-item {
  position: relative;
  border-radius: 12px;
  overflow: hidden;
  cursor: pointer;
  background: var(--surface-alt);
  border: 1px solid var(--border);
  aspect-ratio: 1/1;
  transition: transform .25s ease, box-shadow .25s ease;
}
.gallery-item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.gallery-item:hover {
  transform: translateY(-3px);
  box-shadow: 0 8px 18px rgba(0,0,0,.35);
}

.gallery-item.video .play-badge {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 46px;
  height: 46px;
  background: var(--gold);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1rem;
  color: #000;
  box-shadow: var(--shadow-md);
}

.gallery-section .btn-loadmore {
  margin: 26px auto 0;
  display: block;
  padding: 12px 28px;
  border: none;
  border-radius: 30px;
  background: var(--gold);
  color: #000;
  font-weight: 700;
  font-size: .95rem;
  transition: all .3s ease;
}
.gallery-section .btn-loadmore:hover {
  background: #e6c14f;
  box-shadow: 0 0 14px rgba(207,163,73,.45);
  transform: translateY(-2px);
}

/* Responsivo */
@media (max-width: 992px) {
  .gallery-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 600px) {
  .gallery-grid {
    grid-template-columns: 1fr;
  }
  .gallery-item { aspect-ratio: 4/5; }
}

.gallery-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  justify-content: center;
  gap: 3px;
}

@media (max-width: 992px) {
  .gallery-grid {
    grid-template-columns: repeat(3, 1fr);
  }
}

@media (max-width: 600px) {
  .gallery-grid {
    grid-template-columns: repeat(3, 1fr);
  }
  .gallery-item { aspect-ratio: 1/1; }
}

/* Services — alinhamento premium */
.service-item {
  background: var(--surface-alt);
  border: 2px solid var(--border);
  padding: 14px 18px;
  border-radius: 14px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: .95rem;
  font-weight: 500;
  transition: all .3s ease;
  box-shadow: var(--shadow-sm);
}

.service-item:hover {
  border-color: var(--gold);
  box-shadow: var(--shadow-md);
  transform: translateY(-2px);
}

.service-label {
  olor: #ffffff;  
  font-weight: 700;
}

.service-status {
  font-size: .9rem;
  font-weight: 700;
  color: var(--text);  
}

.profile-avatar-wrapper {
	position: relative;
	display: inline-block;
  }
  
  .profile-avatar-wrapper {
	position: relative;
	display: inline-block;
  }
  
  .speech-bubble {
	position: absolute;
	top: 22%;
	left: 90%; 
	background: var(--surface);
	border: 2px solid var(--gold);
	color: var(--text);
	padding: 10px 14px;
	border-radius: 18px 18px 18px 0; 
	font-size: 0.9rem;
	line-height: 1.4;
	max-width: 240px;
	box-shadow: 0 4px 12px rgba(0,0,0,0.25);
	white-space: nowrap;
  }
  
  /* Mobile: centraliza abaixo */
  @media (max-width: 768px) {
	.speech-bubble {
		top: 10%;
        left: 130%;
	  transform: translateX(-50%);
	  margin-top: 10px;
	  white-space: normal;
	  text-align: center;
	  font-size: 0.85rem; 
	  padding: 8px 12px;  
	  border-radius: 18px 18px 18px 0; 
	}
  }
  
  
.service-name {
	color:  var(--text);


}
  .btn-danger {
	background: #8b0000;
	border: 2px solid #ff4d4d;
	color: #fff;
	border-radius: 8px;
	padding: 8px 14px;
	font-weight: 600;
	transition: all .3s ease;
  }
  
  .btn-danger:hover {
	background: #ff1a1a;
	box-shadow: 0 0 10px rgba(255, 0, 0, 0.6);
  }
  
  
  
  /* Desktop – aumenta espaçamento */
  @media (min-width: 992px) {
	.gallery-grid {
	  gap: 8px;
	}
	.gallery-grid img,
	.gallery-grid video {
	  border-radius: 8px;
	}
  }
  
  .gallery-actions {
	text-align: center;
	margin-top: 16px;
  }
  
  /* ===== HEADER ===== */
.gallery-header {
	display: flex;
	align-items: flex-end; /* título e stats alinhados */
	justify-content: space-between;
	margin: 18px 0 24px;
	border-bottom: 1px solid var(--border);
	padding-bottom: 10px;
	gap: 20px;
  }
  
  /* bloco da esquerda */
  .gallery-left {
	display: flex;
	flex-direction: column;
	gap: 10px;
  }
  
  /* ===== TITLE ===== */
  .section-title {
	font-size: 1.35rem;
	font-weight: 700;
	color: var(--gold);
	display: flex;
	align-items: center;
	gap: 8px;
	letter-spacing: 0.5px;
  }
  
  .section-title i {
	font-size: 1.25rem;
	color: var(--gold);
  }
  
  /* ===== STATS ===== */
  .gallery-stats {
	display: flex;
	align-items: center;
	gap: 28px;
	font-size: 1rem;
	flex-wrap: wrap;
  }
  
  .gallery-stats .stat {
	color: var(--text);
	font-weight: 500;
	cursor: pointer;
	display: flex;
	align-items: center;
	gap: 6px;
	padding: 2px 0;
	transition: color .25s ease, transform .2s ease;
  }
  
  .gallery-stats .stat i {
	color: var(--gold);
	font-size: 1.1rem;
  }
  
  .gallery-stats .stat span {
	font-size: 0.85rem;
	opacity: 0.75;
  }
  
  .gallery-stats .stat.active {
	font-weight: 600;
	color: var(--gold);
	border-bottom: 2px solid var(--gold);
	padding-bottom: 2px;
  }
  
  .gallery-stats .stat:hover {
	color: var(--gold);
	transform: translateY(-2px);
  }
  
  /* ===== SHARE BUTTON ===== */
  .share-btn {
	background: rgba(255, 215, 0, 0.08);
	border: 1px solid var(--gold);
	border-radius: 50%;
	width: 40px;
	height: 40px;
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--gold);
	font-size: 1.15rem;
	cursor: pointer;
	transition: all .25s ease;
	flex-shrink: 0;
  }
  
  .share-btn:hover {
	background: var(--gold);
	color: #000;
	box-shadow: 0 0 12px rgba(255, 215, 0, 0.6);
  }
  
  /* ===== RESPONSIVIDADE ===== */
  @media (max-width: 768px) {
	.gallery-header {
	  flex-direction: column;
	  align-items: flex-start;
	}
  
	.gallery-left {
	  width: 100%;
	}
  
	.share-btn {
	  align-self: flex-end;
	  margin-top: -10px;
	}
  }

  /* ================== RATES MODAL ================== */
.modal-rates {
	position: fixed;
	inset: 0;
	z-index: 2000;
	display: grid;
	place-items: center;
	padding: 16px;
  }
  .modal-rates.hidden { display: none; }
  
  .modal-rates .modal-overlay {
	position: absolute;
	inset: 0;
	background: rgba(0,0,0,0.55);
	backdrop-filter: blur(3px);
	-webkit-backdrop-filter: blur(3px);
  }
  
  .modal-rates .modal-card {
	position: relative;
	background: var(--surface);
	border-radius: 18px;
	max-width: 480px;
	width: 100%;
	padding: 28px 24px;
	z-index: 10;
	box-shadow: 0 12px 28px rgba(0,0,0,0.45);
	animation: fadeInUp .25s ease;
  }
  
  .modal-rates .modal-title {
	font-size: 1.5rem;
	font-weight: 700;
	color: var(--gold);
	margin-bottom: 8px;
	display: flex;
	align-items: center;
	gap: 8px;
  }
  
  .modal-rates .modal-desc {
	font-size: 0.95rem;
	color: var(--text);
	opacity: 0.85;
	margin-bottom: 20px;
  }
  
  /* Blocos de rates */
  .rates-block {
	margin-bottom: 20px;
  }
  .rates-block h4 {
	font-size: 1.1rem;
	font-weight: 600;
	color: var(--text);
	margin-bottom: 10px;
	border-left: 4px solid var(--gold);
	padding-left: 8px;
  }
  .rate-item {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 10px 14px;
	margin-bottom: 8px;
	border: 1px solid var(--border);
	border-radius: 12px;
	background: var(--surface-alt);
	font-size: 0.95rem;
	transition: all .2s ease;
  }
  .rate-item strong {
	color: var(--gold);
	font-weight: 600;
  }
  .rate-item:hover {
	border-color: var(--gold);
	box-shadow: 0 4px 10px rgba(207,163,73,0.25);
  }
  .rate-item.disabled {
	opacity: 0.5;
	text-decoration: line-through;
	pointer-events: none;
  }
  
  /* Métodos de pagamento */
  .payment-methods {
	margin-top: 20px;
  }
  .payment-methods h4 {
	font-size: 1.1rem;
	font-weight: 600;
	margin-bottom: 12px;
  }
  .methods-list {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
  }
  .method {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	background: var(--surface-alt);
	border: 1px solid var(--border);
	border-radius: 12px;
	padding: 8px 12px;
	font-size: 0.9rem;
	transition: all .2s ease;
  }
  .method i { color: var(--gold); }
  .method:hover {
	border-color: var(--gold);
	box-shadow: 0 4px 8px rgba(207,163,73,0.2);
  }
  
  /* ================== SHARE MODAL ================== */
.modal-share {
	position: fixed;
	inset: 0;
	z-index: 2000;
	display: grid;
	place-items: center;
	padding: 16px;
  }
  .modal-share.hidden { display: none; }
  
  .modal-share .modal-overlay {
	position: absolute;
	inset: 0;
	background: rgba(0,0,0,0.55);
	backdrop-filter: blur(3px);
	-webkit-backdrop-filter: blur(3px);
  }
  
  .modal-share .modal-card {
	position: relative;
	background: var(--surface);
	border-radius: 18px;
	max-width: 460px;
	width: 100%;
	padding: 28px 24px;
	z-index: 10;
	box-shadow: 0 12px 28px rgba(0,0,0,0.45);
	animation: fadeInUp .25s ease;
  }
  
  .modal-share .modal-title {
	font-size: 1.4rem;
	font-weight: 700;
	color: var(--gold);
	margin-bottom: 12px;
	display: flex;
	align-items: center;
	gap: 8px;
  }
  
  .modal-share .modal-desc {
	font-size: 0.95rem;
	opacity: 0.85;
	margin-bottom: 18px;
	color: var(--text);
  }
  
  .share-options {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
	gap: 12px;
	margin-bottom: 20px;
  }
  .share-option {
	display: flex;
	align-items: center;
	gap: 10px;
	background: var(--surface-alt);
	border: 1px solid var(--border);
	border-radius: 12px;
	padding: 10px 14px;
	font-size: 0.95rem;
	font-weight: 600;
	cursor: pointer;
	transition: all .25s ease;
  }
  .share-option i {
	color: var(--gold);
  }
  .share-option:hover {
	border-color: var(--gold);
	box-shadow: 0 4px 12px rgba(207,163,73,0.25);
	transform: translateY(-2px);
  }
  
  .modal-share .modal-actions {
	text-align: right;
  }
  
  /* ================== RATES MODAL ================== */
.modal-rates {
	position: fixed;
	inset: 0;
	z-index: 3000; /* acima de todo o resto */
	display: none; /* inicia escondido */
	place-items: center;
	padding: 16px;
  }
  .modal-rates.active {
	display: grid; /* aparece quando tiver .active */
  }
  
  .modal-rates .modal-overlay {
	position: absolute;
	inset: 0;
	background: rgba(0,0,0,0.55);
	backdrop-filter: blur(3px);
	-webkit-backdrop-filter: blur(3px);
	z-index: 1;
  }
  
  .modal-rates .modal-card {
	position: relative;
	background: var(--surface);
	border-radius: 18px;
	max-width: 480px;
	width: 100%;
	padding: 28px 24px;
	z-index: 2; /* acima do overlay */
	box-shadow: 0 12px 28px rgba(0,0,0,0.45);
	animation: fadeInUp .25s ease;
  }
  
  /* ================== BASE MODAL ================== */
.modal {
	position: fixed;
	inset: 0;
	z-index: 3000;
	display: none; /* todos começam escondidos */
	place-items: center;
	padding: 16px;
  }
  
  .modal:not(.hidden) {
	display: grid; /* quando remove .hidden, vira grid centralizado */
  }
  
  .modal .modal-overlay {
	position: absolute;
	inset: 0;
	background: rgba(0,0,0,0.55);
	backdrop-filter: blur(3px);
	-webkit-backdrop-filter: blur(3px);
	z-index: 1;
  }
  
  .modal .modal-card {
	position: relative;
	background: var(--surface);
	border-radius: 18px;
	max-width: 480px;
	width: 100%;
	padding: 28px 24px;
	z-index: 2;
	box-shadow: 0 12px 28px rgba(0,0,0,0.45);
	animation: fadeInUp .25s ease;
	border: 1px solid var(--gold, #d4af37);
  }
  
  /* Título */
  .modal .modal-title {
	font-size: 1.3rem;
	font-weight: 700;
	margin-bottom: 12px;
	color: var(--text);
	display: flex;
	align-items: center;
	gap: 8px;
  }
  
  /* Botões */
  .modal .modal-actions {
	display: flex;
	justify-content: flex-end;
	gap: 12px;
	margin-top: 20px;
  }
  
  /* ===== Services Section ===== */
.services-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
	gap: 16px;
	margin-top: 18px;
  }
  
  .service-card {
	background: linear-gradient(145deg, #1a1a1a, #111);
	border: 2px solid rgba(212,175,55,0.7); /* gold */
	border-radius: 18px;
	padding: 16px 18px;
	color: var(--text);
	font-size: 0.95rem;
	font-weight: 500;
	display: flex;
	justify-content: space-between;
	align-items: center;
	transition: all 0.25s ease;
	cursor: default;
  }
  
  .service-card:hover {
	border-color: var(--gold);
	box-shadow: 0 0 12px rgba(212,175,55,0.35);
	transform: translateY(-2px);
  }
  
  /* Badge para status */
  .service-badge {
	font-size: 0.75rem;
	font-weight: 600;
	padding: 4px 10px;
	border-radius: 12px;
	text-transform: uppercase;
	letter-spacing: 0.5px;
  }
  
  .service-badge.do {
	background: linear-gradient(90deg, #d4af37, #f1d983);
	color: #000;
  }
  
  .service-badge.no {
	background: linear-gradient(90deg, #444, #222);
	color: #bbb;
  }
  
  .service-badge.receive {
	background: linear-gradient(90deg, #50c878, #2e8b57);
	color: #fff;
  }
  
  
  /* ===== MOBILE FOOTER CTA ===== */
.mobile-footer-cta {
	display: none;
  }
  
  @media (max-width: 768px) {
	.mobile-footer-cta {
	  position: fixed;
	  bottom: 0;
	  left: 0;
	  right: 0;
	  background: var(--surface);
	  border-top: 2px solid var(--gold);
	  padding: 10px 16px;
	  box-shadow: 0 -2px 10px rgba(0,0,0,0.25);
	  z-index: 2000;
	}
  
	.mobile-footer-cta .price-box {
	  display: flex;
	  align-items: center;
	  justify-content: space-between;
	  gap: 14px;
	}
  
	.mobile-footer-cta .price {
	  font-size: 1.2rem;
	  font-weight: 700;
	  color: var(--text);
	}
  
	.mobile-footer-cta .price small {
	  font-size: 0.85rem;
	  opacity: 0.7;
	}
  
	.mobile-footer-cta .btn-whatsapp {
	  flex-shrink: 0;
	  padding: 10px 20px;
	  border-radius: 30px;
	  font-size: 0.95rem;
	}
  }
  
  /* ===== SERVICES GRID PADRÃO ===== */
.services-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
	gap: 14px;
  }
  
  .service-item {
	background: var(--surface);
	border: 1px solid var(--border);
	border-radius: 10px;
	padding: 14px 16px;
	display: flex;
	justify-content: space-between;
	align-items: center;
	font-size: 0.95rem;
	font-weight: 500;
	color: var(--text);
	min-height: 70px;      /* altura mínima igual para todos */
	box-sizing: border-box;
  }
  
  /* Botão/tag (Do / Receive / No) */
  .service-item .tag {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-size: 0.8rem;
	font-weight: 600;
	width: 50px;          /* largura fixa */
	height: 28px;         /* altura fixa */
	border-radius: 20px;
	border: 1px solid currentColor;
  }
  
  .tag.do {
	background: rgba(207,163,73,0.12);
	border-color: var(--gold);
	color: var(--gold);
  }
  
  .tag.receive {
	background: rgba(0,200,80,0.12);
	border-color: #3ac569;
	color: #3ac569;
  }
  
  .tag.no {
	background: rgba(220,0,0,0.12);
	border-color: #e74c3c;
	color: #e74c3c;
  }
  
  /* ===== GALLERY SECTION ===== */
.gallery-section {
	max-width: 900px;       /* mesmo limite do .profile-details */
	margin: 0 auto 30px;    /* centralizado */
	padding: 0 16px;
  }
  
  .gallery-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr); /* 3 colunas fixas */
  }
  
  .gallery-grid img,
  .media-card img {
	width: 100%;
	aspect-ratio: 1 / 1;   /* mantém quadrado */
	object-fit: cover;
	border-radius: 10px;
	border: 2px solid var(--border);
  }
  
  
  
  /* ======================= */
/* DESCRIÇÃO — Premium Box */
/* ======================= */
.description-section {
	max-width: 960px;
	margin: 40px auto;
	padding: 28px 32px;
	background: linear-gradient(180deg, var(--surface), var(--surface-alt));
	border: 1px solid rgba(207,163,73,0.35);
	border-radius: 20px;
	box-shadow: 0 6px 20px rgba(0,0,0,0.25);
	text-align: center;
  }
  
  .description-section h3 {
	font-family: "Playfair Display", serif;
	font-size: 1.4rem;
	font-weight: 700;
	color: var(--gold);
	margin-bottom: 14px;
	text-transform: uppercase;
	letter-spacing: 1px;
  }
  
  .profile-desc {
	font-family: "Inter", sans-serif;
	font-size: 1rem;
	line-height: 1.7;
	color: var(--text);
	opacity: .95;
	max-width: 720px;
	margin: 0 auto;
	font-style: italic;
  }
  
  .profile-desc::first-letter {
	font-size: 1.6rem;
	font-weight: 700;
	color: var(--gold);
	float: left;
	margin-right: 6px;
  }
  
  /* ============================ */
  /* CARACTERÍSTICAS FÍSICAS BOX  */
  /* ============================ */
  .physical-section {
	max-width: 960px;
	margin: 40px auto;
	padding: 28px 32px;
	background: linear-gradient(180deg, var(--surface), var(--surface-alt));
	border: 1px solid rgba(207,163,73,0.35);
	border-radius: 20px;
	box-shadow: 0 6px 20px rgba(0,0,0,0.25);
  }
  
  .physical-section h3 {
	font-family: "Playfair Display", serif;
	font-size: 1.4rem;
	font-weight: 700;
	color: var(--gold);
	margin-bottom: 18px;
	text-align: center;
	text-transform: uppercase;
	letter-spacing: 1px;
  }
  
  .facts-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
	gap: 18px;
  }
  
  .fact-item {
	background: var(--surface);
	border: 1px solid var(--border);
	border-radius: 14px;
	padding: 14px 18px;
	font-size: 0.95rem;
	display: flex;
	justify-content: space-between;
	align-items: center;
	transition: all .25s ease;
	box-shadow: var(--shadow-sm);
  }
  
  .fact-item:hover {
	border-color: var(--gold);
	box-shadow: var(--shadow-md);
  }
  
  .fact-item span {
	color: var(--text);
	font-weight: 500;
  }
  .fact-item strong {
	color: var(--gold);
	font-weight: 700;
  }
  
  /* ============================ */
  /* AJUSTE DE SEÇÃO UNIFORME     */
  /* ============================ */
  .section-block {
	max-width: 1100px;
	margin: 0 auto;
	padding: 0 20px;
  }
  
  
  .physical-section {
	max-width: 960px;
	margin: 40px auto;
	padding: 28px 32px;
	background: linear-gradient(180deg, var(--surface), var(--surface-alt));
	border: 1px solid rgba(207,163,73,0.35);
	border-radius: 20px;
	box-shadow: 0 6px 20px rgba(0,0,0,0.25);
  }
  
  .physical-section h3.section-title {
	margin-bottom: 20px;
  }
  
  .facts-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
	gap: 18px;
  }
  
  .fact-item {
	background: var(--surface);
	border: 1px solid var(--border);
	border-radius: 14px;
	padding: 14px 18px;
	font-size: 0.95rem;
	display: flex;
	align-items: center;
	justify-content: space-between;
	transition: all .25s ease;
	box-shadow: var(--shadow-sm);
	gap: 12px;
  }
  
  .fact-item:hover {
	border-color: var(--gold);
	box-shadow: var(--shadow-md);
	transform: translateY(-2px);
  }
  
  .fact-icon {
	font-size: 1.1rem;
	color: var(--gold);
	flex-shrink: 0;
  }
  
  .fact-item span {
	flex: 1;
	color: var(--text);
	font-weight: 500;
  }
  
  .fact-item strong {
	color: var(--gold);
	font-weight: 700;
  }
  
  .fact-item.unavailable strong {
	color: #999;
	font-style: italic;
  }
  
  
  .fact-item {
	background: var(--surface);
	border: 1px solid var(--border);
	border-radius: 14px;
	padding: 14px 18px;
	font-size: 0.95rem;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	transition: all .25s ease;
	box-shadow: var(--shadow-sm);
  }
  
  .fact-item:hover {
	border-color: var(--gold);
	box-shadow: var(--shadow-md);
	transform: translateY(-2px);
  }
  
  .fact-icon {
	font-size: 1.1rem;
	color: var(--gold);
	flex-shrink: 0;
  }
  
  .fact-item.unavailable strong {
	color: #999;
	font-style: italic;
  }
  
  /* ======================= */
/* DESCRIPTION — Mobile fix */
/* ======================= */
.description-section {
	max-width: 960px;
	margin: 32px auto;
	padding: 28px 32px;
	background: linear-gradient(180deg, var(--surface), var(--surface-alt));
	border: 1px solid rgba(207,163,73,0.35);
	border-radius: 20px;
	box-shadow: 0 6px 20px rgba(0,0,0,0.25);
	text-align: center;
  }
  
  @media (max-width: 768px) {
	.description-section {
	  margin: 24px 16px;   /* cria espaçamento lateral */
	  padding: 22px 20px;  /* diminui padding interno */
	  border-radius: 16px;
	}
	.profile-desc {
	  font-size: 0.95rem;
	  line-height: 1.6;
	}
  }
  
  /* ============================= */
  /* PHYSICAL CHARACTERISTICS FIX */
  /* ============================= */
  .physical-section {
	max-width: 960px;
	margin: 32px auto;
	padding: 28px 32px;
	background: linear-gradient(180deg, var(--surface), var(--surface-alt));
	border: 1px solid rgba(207,163,73,0.35);
	border-radius: 20px;
	box-shadow: 0 6px 20px rgba(0,0,0,0.25);
  }
  
  @media (max-width: 768px) {
	.physical-section {
	  margin: 24px 16px;   /* respiro lateral */
	  padding: 22px 20px;
	  border-radius: 16px;
	}
	.facts-grid {
	  grid-template-columns: 1fr; /* empilha em 1 coluna */
	  gap: 14px;
	}
	.fact-item {
	  font-size: 0.9rem;
	  padding: 12px 16px;
	}
  }

  /* ================== REVIEWS FIX ================== */
.reviews-section {
	max-width: 960px;
	margin: 40px auto;
	padding: 28px 32px;
	background: linear-gradient(180deg, var(--surface), var(--surface-alt));
	border: 1px solid rgba(207,163,73,0.35);
	border-radius: 20px;
	box-shadow: 0 6px 20px rgba(0,0,0,0.25);
  }
  
  .reviews-section h3 {
	font-family: "Playfair Display", serif;
	font-size: 1.4rem;
	font-weight: 700;
	color: var(--gold);
	margin-bottom: 16px;
	text-align: center;
	text-transform: uppercase;
	letter-spacing: 1px;
  }
  
  .review-list {
	display: flex;
	flex-direction: column;
	gap: 16px;
  }
  
  .review-item {
	background: var(--surface);
	border: 1px solid var(--border);
	border-radius: 14px;
	padding: 16px 18px;
	font-size: 0.95rem;
	box-shadow: var(--shadow-sm);
	transition: all .25s ease;
  }
  .review-item:hover {
	border-color: var(--gold);
	box-shadow: var(--shadow-md);
	transform: translateY(-2px);
  }
  
  /* Mobile adjustments */
  @media (max-width: 768px) {
	.reviews-section {
	  margin: 24px 16px;   /* respiro lateral */
	  padding: 22px 20px;
	  border-radius: 16px;
	}
	.review-item {
	  font-size: 0.9rem;
	  padding: 14px 16px;
	}
	.review-text {
	  font-size: 0.9rem;
	  line-height: 1.55;
	  text-align: left; /* melhora leitura no mobile */
	}
  }
  
  /* ============================ */
/* SERVIÇOS — Premium Section   */
/* ============================ */
.services-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
	gap: 18px;
	margin: 28px auto;
	max-width: 960px;
	padding: 0 16px;
  }
  
  .service-item {
	background: linear-gradient(180deg, var(--surface), var(--surface-alt));
	border: 1px solid rgba(207,163,73,0.35);
	border-radius: 16px;
	padding: 16px 20px;
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 12px;
	font-size: 0.95rem;
	font-weight: 500;
	transition: all .3s ease;
	box-shadow: 0 4px 12px rgba(0,0,0,0.25);
  }
  
  .service-item:hover {
	border-color: var(--gold);
	box-shadow: 0 6px 18px rgba(207,163,73,0.35);
	transform: translateY(-3px);
  }
  
  .service-label {
	color: var(--text);
	font-weight: 600;
	flex: 1;
  }
  
  /* ============================ */
  /* STATUS COMO TEXTO DOURADO    */
  /* ============================ */
  .service-status {
	font-size: 0.9rem;
	font-weight: 700;
	color: var(--gold);
	text-transform: uppercase;
	letter-spacing: 0.5px;
  }
  
  /* Estado "no" fica cinza para diferenciar */
  .service-item[data-status="no"] .service-label {
	color: #777;
	text-decoration: line-through;
  }
  .service-status[data-status="no"] {
	color: #999;
	font-style: italic;
  }
  
  /* ============================ */
  /* RESPONSIVO                   */
  /* ============================ */
  @media (max-width: 768px) {
	.services-grid {
	  grid-template-columns: 1fr;
	  gap: 14px;
	  padding: 0 12px;
	}
	.service-item {
	  padding: 14px 16px;
	  font-size: 0.9rem;
	}
	.service-status {
	  font-size: 0.85rem;
	}
  }

  /* ============================ */
/* SERVIÇOS — Premium Section   */
/* ============================ */
.services-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
	gap: 18px;
	margin: 28px auto;
	max-width: 960px;
	padding: 0 16px;
  }
  
  .service-item {
	background: linear-gradient(180deg, var(--surface), var(--surface-alt));
	border: 1px solid rgba(207,163,73,0.35);
	border-radius: 16px;
	padding: 16px 20px;
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 12px;
	font-size: 0.95rem;
	font-weight: 500;
	transition: all .3s ease;
	box-shadow: 0 4px 12px rgba(0,0,0,0.25);
  }
  
  .service-item:hover {
	border-color: var(--gold);
	box-shadow: 0 6px 18px rgba(207,163,73,0.35);
	transform: translateY(-3px);
  }
  
  .service-label {
	color: var(--text);
	font-weight: 600;
	flex: 1;
  }
  
  /* ============================ */
  /* STATUS COMO TEXTO DOURADO    */
  /* ============================ */
  .service-status {
	font-size: 0.9rem;
	font-weight: 700;
	color: var(--gold);
	text-transform: uppercase;
	letter-spacing: 0.5px;
  }
  
  /* Estado "no" fica cinza para diferenciar */
  .service-item[data-status="no"] .service-label {
	color: #777;
	text-decoration: line-through;
  }
  .service-status[data-status="no"] {
	color: #999;
	font-style: italic;
  }
  
  /* ============================ */
  /* RESPONSIVO                   */
  /* ============================ */
  @media (max-width: 768px) {
	.services-grid {
	  grid-template-columns: 1fr;
	  gap: 14px;
	  padding: 0 12px;
	}
	.service-item {
	  padding: 14px 16px;
	  font-size: 0.9rem;
	}
	.service-status {
	  font-size: 0.85rem;
	}
  }

  .fact-item:focus,
.fact-item:focus-visible {
  outline: none;
  border-color: var(--border); /* volta pro padrão */
  box-shadow: none;
}
:root {
	--radius-sm: 8px;
	--radius-md: 14px;
	--radius-lg: 20px;
  
	--shadow-sm: 0 4px 10px rgba(0,0,0,.15);
	--shadow-md: 0 8px 18px rgba(0,0,0,.22);
	--shadow-lg: 0 14px 28px rgba(0,0,0,.32);
  }
  
  /* ========================= */
  /* BANNER                    */
  /* ========================= */
  .profile-banner {
	position: relative;
	width: 80%;
	height: 260px;
	top: 65px;
	margin: 0 auto;
	border-radius: 0 0 var(--radius-lg) var(--radius-lg);
	overflow: hidden;
	box-shadow: var(--shadow-md);
  }
  .profile-banner img {
	width: 100%;
	height: 100%;
	object-fit: cover;
  }
  .banner-back-btn,
  .profile-share {
	position: absolute;
	top: 16px;
	width: 42px;
	height: 42px;
	border-radius: 50%;
	border: 1px solid var(--gold);
	background: rgba(0,0,0,.55);
	color: #fff;
	font-size: 1.1rem;
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	backdrop-filter: blur(6px);
	transition: .3s;
  }
  .banner-back-btn { left: 16px; }
  .profile-share { right: 16px; }
  .banner-back-btn:hover,
  .profile-share:hover {
	background: var(--gold);
	color: #000;
	transform: scale(1.05);
  }
  
  /* ========================= */
  /* HEADER                    */
  /* ========================= */
  .profile-header {
	margin-top: -64px;
	text-align: center;
  }
  .profile-avatar {
	position: relative;
	display: inline-block;
  }
  .profile-avatar img {
	width: 120px;
	height: 120px;
	border-radius: 50%;
	border: 3px solid var(--gold);
	box-shadow: var(--shadow-md);
	object-fit: cover;
  }
  .profile-avatar .dot {
	position: absolute;
	bottom: 8px;
	right: 8px;
	width: 18px;
	height: 18px;
	border: 2px solid var(--surface);
	border-radius: 50%;
  }
  .dot.online { background: #3ac569; }
  .dot.offline { background: #888; }
  
  .profile-name {
	font-size: 1.8rem;
	font-weight: 700;
	margin-top: 8px;
  }
  .profile-info-line,
  .profile-social-line {
	display: flex;
	justify-content: center;
	gap: 12px;
	font-size: .95rem;
	margin-top: 6px;
	color: var(--text);
  }
  .profile-info-line i,
  .profile-social-line i {
	color: var(--gold);
  }
  
  /* Badges */
  .profile-bandage {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	gap: 8px;
	margin-top: 6px;
  }
  .profile-bandage img {
	height: 32px;
  }
  
  /* ========================= */
  /* DETAILS CARDS             */
  /* ========================= */
  .profile-details {
	max-width: 1000px;
	margin: 20px auto;
	padding: 0 16px;
  }
  .info-grid {
	display: flex;
	flex-wrap: wrap;
	gap: 20px;
  }
  .info-card {
	flex: 1 1 45%;
	background: var(--surface);
	border: 1px solid var(--border);
	border-radius: var(--radius-md);
	padding: 18px;
	box-shadow: var(--shadow-sm);
	transition: .25s;
  }
  .info-card:hover {
	border-color: var(--gold);
	box-shadow: var(--shadow-md);
  }
  .info-card h3 {
	font-size: .95rem;
	font-weight: 600;
	color: var(--gold);
	margin-bottom: 6px;
  }
  .info-card .price {
	font-size: 1.25rem;
	font-weight: 700;
  }
  .info-card .price span {
	font-size: .8rem;
	opacity: .8;
  }
  
  /* Voice */
  .voice-box {
	display: flex;
	align-items: center;
	gap: 10px;
	margin: 16px 0;
	background: var(--surface);
	border: 1px solid var(--border);
	border-radius: var(--radius-md);
	padding: 12px 16px;
	box-shadow: var(--shadow-sm);
	transition: .25s;
  }
  .voice-box:hover {
	border-color: var(--gold);
	box-shadow: var(--shadow-md);
  }
  .voice-box i { color: var(--gold); }
  
  /* ========================= */
  /* SECTION BASE              */
  /* ========================= */
  .profile-section {
	max-width: 1000px;
	margin: 30px auto;
	padding: 0 16px;
  }
  .section-title {
	font-size: 1.3rem;
	font-weight: 700;
	color: var(--gold);
	margin-bottom: 18px;
	text-align: center;
	display: flex;
	justify-content: center;
	gap: 8px;
	letter-spacing: 1px;
	text-transform: uppercase;
  }
  .section-title::after {
	content: "";
	display: block;
	width: 80px;
	height: 2px;
	background: var(--gold);
	margin-top: 6px;
  }
  
  /* About / Description */
  .profile-description {
	text-align: center;
	font-style: italic;
	font-size: 1rem;
	line-height: 1.6;
	max-width: 720px;
	margin: 0 auto;
  }
  
  /* Facts */
  .facts-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(220px,1fr));
	gap: 16px;
  }
  .fact-item {
	display: flex;
	justify-content: space-between;
	align-items: center;
	background: var(--surface);
	border: 1px solid var(--border);
	border-radius: var(--radius-md);
	padding: 12px 14px;
	box-shadow: var(--shadow-sm);
	transition: .25s;
  }
  .fact-item:hover {
	border-color: var(--gold);
	box-shadow: var(--shadow-md);
  }
  .fact-item span { font-weight: 500; }
  .fact-item strong { color: var(--gold); font-weight: 700; }
  .fact-item.unavailable strong { color: #888; font-style: italic; }
  
  /* Payments */
  .chips {
	background: transparent;
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
  }
  .chip {
	background: rgba(207,163,73,.1);
	border: 1px solid var(--gold);
	color: var(--gold);
	font-size: .85rem;
	font-weight: 600;
	padding: 6px 12px;
	border-radius: 20px;
  }
  
  /* Services */
  .services-list {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(200px,1fr));
	gap: 12px;
  }
  .service {
	background: var(--surface);
	border: 1px solid var(--border);
	border-radius: var(--radius-md);
	padding: 12px 14px;
	font-size: .9rem;
	font-weight: 600;
	box-shadow: var(--shadow-sm);
	text-align: center;
  }
  .service.available { color: var(--gold); }
  .service.receive { color: #3ac569; }
  .service.no { color: #888; text-decoration: line-through; }
  
  
  /* ========================= */
  /* REVIEWS                   */
  /* ========================= */
  .reviews-section {
	max-width: 960px;
	margin: 40px auto;
	padding: 24px;
	background: var(--surface);
	border: 1px solid var(--border);
	border-radius: var(--radius-lg);
	box-shadow: var(--shadow-sm);
  }
  .review-item {
	background: var(--surface-alt);
	border: 1px solid var(--border);
	border-radius: var(--radius-md);
	padding: 14px;
	font-size: .95rem;
	box-shadow: var(--shadow-sm);
	transition: .25s;
  }
  .review-item:hover {
	border-color: var(--gold);
	box-shadow: var(--shadow-md);
  }
  .review-text { font-style: italic; margin-bottom: 8px; }
  .review-meta { font-size: .85rem; color: var(--gold); }
  
  /* ========================= */
  /* RESPONSIVE FIXES          */
  /* ========================= */
  @media (max-width: 768px) {
	.profile-banner { width: 95%; height: 180px; }
	.profile-avatar img { width: 100px; height: 100px; }
	.gallery-grid { grid-template-columns: repeat(2,1fr); }
  }
  @media (max-width: 600px) {
	.gallery-grid { grid-template-columns: 1fr; }
  }
  
  /* profileVelvet.css
   Versão consolidada — estilos para profileVelvet.js
   - Inclui: banner, header, rating, gallery, recently viewed, comparison media, modals, facts, services, reviews
   - Breakpoints: 1200 / 992 / 768 / 600
*/

/* ======================
   VARIÁVEIS GLOBAIS
   ====================== */
:root{
	/* cores / tokens */
	--gold: #cfa349;
	--surface: #0f0f10;
	--surface-alt: #161616;
	--border: rgba(255,255,255,0.06);
	--text: #f3f3f3;
	--text-light: rgba(255,255,255,0.85);
	--text-muted: rgba(255,255,255,0.65);
  
	/* radii / shadows */
	--radius-sm: 8px;
	--radius-md: 14px;
	--radius-lg: 20px;
	--shadow-sm: 0 4px 10px rgba(0,0,0,.15);
	--shadow-md: 0 8px 18px rgba(0,0,0,.22);
	--shadow-lg: 0 14px 28px rgba(0,0,0,.32);
  
	/* fonts (apenas tokens — importe fontes no HTML) */
	--font-title: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial;
  }
  
  /* reset simples utilitário (não sobrescreve seu reset global) */
  .profile-page, .profile-section { color: var(--text); font-family: var(--font-title); }
  
  /* ======================
	 BANNER & CONTROLES
	 ====================== */
  .profile-banner{
	position: relative;
	width: 80%;
	max-width: 1280px;
	height: 260px;
	margin: 64px auto 0;
	border-radius: 0 0 var(--radius-lg) var(--radius-lg);
	overflow: hidden;
	box-shadow: var(--shadow-md);
	background: #111;
  }
  .banner-img, .profile-banner img { width:100%; height:100%; object-fit:cover; display:block; }
  
  /* banner buttons (voltar / compartilhar) */
  .banner-back-btn,
  .profile-share{
	position: absolute;
	top: 16px;
	width: 44px;
	height: 44px;
	border-radius: 50%;
	display:flex;
	align-items:center;
	justify-content:center;
	background: rgba(0,0,0,.55);
	color: #fff;
	border: 1px solid var(--gold);
	cursor: pointer;
	z-index: 6;
	backdrop-filter: blur(6px);
	transition: all .25s ease;
  }
  .banner-back-btn { left: 16px; }
  .profile-share { right: 16px; }
  .banner-back-btn:hover, .profile-share:hover {
	background: var(--gold);
	color: #000;
	transform: scale(1.05);
	box-shadow: 0 0 12px rgba(207,163,73,.45);
  }
  
  /* ======================
	 PROFILE HEADER
	 ====================== */
  .profile-header{
	display:flex;
	flex-direction:column;
	align-items:center;
	text-align:center;
	margin-top: -64px;
	gap: 8px;
	padding: 0 16px;
  }
  .profile-avatar-wrapper { position: relative; display:inline-block; }
  .profile-avatar img{
	width: 120px; height:120px;
	border-radius: 50%;
	border: 3px solid var(--gold);
	object-fit: cover;
	box-shadow: var(--shadow-md);
	background: linear-gradient(180deg, rgba(255,255,255,.02), rgba(255,255,255,.01));
  }
  .profile-avatar .dot{
	position:absolute; bottom:6px; right:6px;
	width:18px; height:18px; border-radius:50%;
	border:2px solid var(--surface);
  }
  .dot.online{ background:#3ac569; }
  .dot.offline{ background:#999; }
  
  .profile-name{
	font-size: 1.8rem;
	font-weight:700;
	margin-top: 6px;
	color: var(--text);
  }
  .speech-bubble{
	position:absolute;
	top: 22%;
	left: 100%;
	transform: translateX(-8px);
	background: var(--surface);
	border: 2px solid var(--gold);
	color: var(--text);
	padding: 10px 14px;
	border-radius: 18px 18px 18px 0;
	font-size: .9rem;
	white-space: nowrap;
	box-shadow: var(--shadow-sm);
	max-width: 240px;
  }
  @media (max-width:768px){
	.speech-bubble{ position: static; transform:none; margin-top:10px; white-space:normal; text-align:center; }
  }
  
  .profile-info-line, .profile-social-line{
	display:flex; gap: 10px; align-items:center; justify-content:center;
	font-size: .95rem; color: var(--text-muted);
  }
  .profile-info-line .info-item, .profile-social-line .info-item{
	display:inline-flex; gap:6px; align-items:center; font-weight:500;
  }
  .profile-info-line i, .profile-social-line i{ color: var(--gold); }
  
  /* bandage badges */
  .profile-bandage{ display:flex; gap:10px; align-items:center; justify-content:center; flex-wrap:wrap; margin-top:6px; }
  .profile-bandage img{ height:32px; display:block; }
  
  /* ======================
	 RATING BLOCK
	 ====================== */
  .profile-rating-block{
	margin-top: 10px;
	display:flex;
	align-items:center;
	gap: 16px;
	background: linear-gradient(180deg, rgba(255,255,255,0.02), rgba(0,0,0,0.02));
	padding: 10px 14px;
	border-radius: 12px;
	border: 1px solid var(--border);
	box-shadow: var(--shadow-sm);
  }
  .rating-stats { display:flex; flex-direction:column; gap:6px; text-align:left; }
  .rating-stats .shows{ font-weight:600; color:var(--text-light); font-size:.95rem; }
  .stars-line{ color:var(--gold); font-size:1.02rem; }
  .rating-info{ font-size:.85rem; color:var(--text-muted); display:flex; gap:10px; }
  .btn-copy-link{
	margin-left:auto;
	background: transparent;
	border: 1px solid var(--gold);
	color: var(--gold);
	padding: 8px 12px;
	border-radius: 10px;
	cursor:pointer;
	font-weight:700;
	transition: all .2s ease;
  }
  .btn-copy-link:hover{ background: var(--gold); color:#000; box-shadow: 0 8px 20px rgba(207,163,73,.18); transform: translateY(-2px); }
  
  /* ======================
	 PROFILE DETAILS / GRID
	 ====================== */
  .profile-details{ max-width:1100px; margin: 18px auto; padding: 0 16px 24px; }
  .info-grid{ display:flex; gap:24px; flex-wrap:wrap; }
  .info-card{
	flex: 1 1 48%;
	background: var(--surface);
	border-radius: var(--radius-md);
	border: 1px solid var(--border);
	padding: 18px;
	box-shadow: var(--shadow-sm);
	transition: .25s;
  }
  .info-card h3{ font-size:.95rem; font-weight:600; color:var(--gold); margin-bottom:8px; }
  .info-card .price{ font-size:1.25rem; font-weight:700; }
  
  /* voice box */
  .voice-box{
	margin-top: 16px;
	display:flex; gap:12px; align-items:center;
	background: var(--surface);
	border-radius: var(--radius-md);
	padding: 12px 14px;
	border:1px solid var(--border);
	box-shadow: var(--shadow-sm);
  }
  .voice-box i{ color: var(--gold); font-size:1.2rem; }
  .voice-box.playing{ box-shadow: 0 8px 22px rgba(0,0,0,.28); transform: translateY(-2px); }
  
  
  /* ======================
	 RECENTLY VIEWED
	 ====================== */
  .recently-viewed{ max-width: 1100px; margin: 22px auto; padding: 0 16px; }
  .recently-viewed h3{ font-weight:700; color:var(--gold); text-align:center; margin-bottom:10px; }
  .recent-grid{ gap:10px; justify-content:center; flex-wrap:wrap; }
  .recent-thumb{
	width:56px; height:56px; object-fit:cover; border-radius:8px; border:1px solid var(--border); cursor:pointer;
	transition: transform .18s ease;
  }
  .recent-thumb:hover{ transform: translateY(-3px); box-shadow: var(--shadow-sm); }
  
  /* ======================
	 COMPARISON MEDIA
	 ====================== */
  .comparison-media{ max-width:1100px; margin: 20px auto; padding: 0 16px; }
  .comparison-media .media-card{
	display:flex; gap:12px; align-items:center;
	background:var(--surface); border:1px solid var(--border); padding:12px; border-radius:12px; box-shadow:var(--shadow-sm);
  }
  .comparison-media video{ max-width:320px; width:100%; border-radius:10px; }
  
  /* ======================
	 REPORT BUTTON
	 ====================== */
  .btn-report, .btn-denounce{
	display:inline-flex; align-items:center; justify-content:center;
	width:46px; height:46px; border-radius:50%;
	background:#b80000; color:#fff; border:2px solid transparent; cursor:pointer;
	box-shadow: var(--shadow-sm); transition: all .2s ease;
  }
  .btn-report:hover{ background:#d00000; transform: translateY(-2px); box-shadow: var(--shadow-md); }
  
  /* ======================
	 FACTS GRID
	 ====================== */
  .facts-grid{ display:grid; grid-template-columns: repeat(auto-fit, minmax(220px,1fr)); gap:16px; max-width:1100px; margin: 20px auto; padding: 0 16px; }
  .fact-item{
	display:flex; justify-content:space-between; align-items:center;
	background:var(--surface); border:1px solid var(--border); padding:12px 14px; border-radius:12px; box-shadow:var(--shadow-sm);
  }
  .fact-icon{ color:var(--gold); margin-right:8px; font-size:1.05rem; }
  .fact-item.unavailable strong{ color:#999; font-style:italic; }
  .fact-item span{ font-weight:500; color:var(--text-light); }
  
  /* ======================
	 SERVICES
	 ====================== */
  .services-list{ display:grid; grid-template-columns: repeat(auto-fit, minmax(200px,1fr)); gap:12px; max-width:1100px; margin: 18px auto; padding:0 16px; }
  .service{ padding:12px 14px; border-radius:12px; background:var(--surface); border:1px solid var(--border); text-align:center; font-weight:600; box-shadow:var(--shadow-sm); }
  .service.available{ color:var(--gold); }
  .service.receive{ color:#3ac569; }
  .service.no{ color:#888; text-decoration:line-through; }
  
  /* ======================
	 REVIEWS
	 ====================== */
  .reviews-section{ max-width:1100px; margin: 32px auto; padding: 16px; }
  .review-list{ display:flex; flex-direction:column; gap:14px; }
  .review-item{
	background:var(--surface-alt); border:1px solid var(--border); border-radius:12px; padding:14px; box-shadow:var(--shadow-sm);
  }
  .review-text{ font-style:italic; margin-bottom:8px; color:var(--text-light); }
  .review-meta{ display:flex; gap:8px; align-items:center; color:var(--gold); font-weight:600; }
  
  /* review scroll helpers */
  .review-scroll{ display:flex; gap:12px; overflow-x:auto; padding:8px 4px; }
  .review-scroll::-webkit-scrollbar{ height:8px; }
  .review-scroll::-webkit-scrollbar-thumb{ background:var(--gold); border-radius:6px; }
  
  /* ======================
	 MEDIA VIEWER (modal)
	 ====================== */
  .media-viewer{
	position: fixed; inset:0; display:none; align-items:center; justify-content:center; background: rgba(0,0,0,.88); z-index:3000;
  }
  .media-viewer img, .media-viewer video{ max-width:92%; max-height:92%; border-radius:12px; box-shadow: 0 10px 40px rgba(0,0,0,.6); }
  
  /* ======================
	 MODALS (base + share + rates + report)
	 ====================== */
  .modal, .modal-share, .modal-rates, .modal-report{
	position: fixed; inset:0; z-index:4000; display:none; place-items:center; padding:16px;
  }
  .modal:not(.hidden), .modal.active, .modal-share:not(.hidden), .modal-rates.active { display:grid; }
  
  .modal .modal-overlay, .modal-share .modal-overlay, .modal-rates .modal-overlay, .modal-report .modal-overlay{
	position:absolute; inset:0; background: rgba(0,0,0,.55); backdrop-filter: blur(3px); z-index:1;
  }
  .modal .modal-card, .modal-share .modal-card, .modal-rates .modal-card, .modal-report .modal-card{
	position:relative; z-index:2; background:var(--surface); border-radius:16px; padding:20px; width:100%; max-width:520px;
	border:1px solid var(--border); box-shadow:var(--shadow-lg);
  }
  .modal .modal-title, .modal-share .modal-title, .modal-rates .modal-title, .modal-report .modal-title{
	font-weight:700; color:var(--gold); margin-bottom:10px; font-size:1.25rem;
  }
  .modal .modal-actions{ display:flex; justify-content:flex-end; gap:12px; margin-top:12px; }
  
  /* inputs inside modal */
  .modal-textarea{ width:100%; min-height:90px; padding:12px; border-radius:10px; border:1px solid var(--border); background:var(--surface-alt); color:var(--text-light); font-size: .95rem; }
  
  /* modal buttons */
  #cancelReport{ background:var(--surface-alt); border:1px solid var(--border); color:var(--text-light); padding:10px 14px; border-radius:10px; cursor:pointer; }
  #submitReport{ background:var(--gold); color:#000; padding:10px 14px; border-radius:10px; cursor:pointer; }
  
  /* share-option */
  .share-options{ display:grid; grid-template-columns: repeat(auto-fit,minmax(140px,1fr)); gap:12px; }
  .share-option{ display:flex; gap:10px; align-items:center; padding:10px; border-radius:10px; border:1px solid var(--border); background:var(--surface-alt); cursor:pointer; }
  
  /* ======================
	 FOOTER CTA MOBILE
	 ====================== */
  .mobile-footer-cta{ display:none; }
  @media (max-width:768px){
	.profile-banner{ width:95%; height:180px; margin-top:36px; }
	.profile-avatar img{ width:100px; height:100px; }
	.profile-name{ font-size:1.4rem; }
	.gallery-grid{ grid-template-columns: repeat(2,1fr); }
	.speech-bubble{ font-size:.85rem; }
	.mobile-footer-cta{ display:block; position:fixed; bottom:0; left:0; right:0; z-index:3500; background:var(--surface); border-top:2px solid var(--gold); padding:10px 12px; box-shadow:0 -6px 18px rgba(0,0,0,.25); }
  }
  @media (max-width:600px){
	.gallery-grid{ grid-template-columns: 1fr; }
	.gallery-item{ aspect-ratio: 4/5; }
	.profile-banner{ height:160px; }
	.info-card{ flex-basis:100%; }
	.facts-grid{ grid-template-columns: 1fr; }
  }
  
  /* accessibility / focus niceties */
  .fact-item:focus, .fact-item:focus-visible, .btn-copy-link:focus { outline: 3px solid rgba(207,163,73,.14); outline-offset:3px; }
  
  /* small fixes / compatibility */
  .btn-like.active{ background:#c0392b; color:#fff; }
  .btn-favorite.active{ background:var(--gold); color:#000; }
  
  /* end of profileVelvet.css */
  
  /* ======================================= */
/* REPORT BUTTON — Velvet Premium Refined  */
/* ======================================= */
.report-section {
	display: flex;
	justify-content: center;
	align-items: center;
	margin: 50px auto 40px;
  }
  
  .btn-report {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	padding: 10px 22px;
	font-size: 0.9rem;
	font-weight: 700;
	text-transform: uppercase;
	color: var(--gold);
	background: transparent;
	border: 1px solid var(--gold);
	border-radius: 50px;
	letter-spacing: 0.8px;
	cursor: pointer;
	transition: all 0.3s ease;
	box-shadow: 0 0 12px rgba(212,175,55,0.15);
  }
  
  .btn-report i {
	font-size: 0.95rem;
	color: var(--gold);
	transition: transform 0.3s ease;
  }
  
  .btn-report:hover {
	background: linear-gradient(90deg, rgba(212,175,55,0.15), rgba(212,175,55,0.05));
	color: #ff4d4d;
	border-color: #ff4d4d;
	box-shadow: 0 0 14px rgba(255,77,77,0.35);
	transform: translateY(-2px);
  }
  
  .btn-report:hover i {
	transform: rotate(-10deg);
	color: #ff4d4d;
  }
  
  /* Pequena animação ao clicar */
  .btn-report:active {
	transform: scale(0.97);
	box-shadow: 0 0 6px rgba(255,77,77,0.3);
  }
  
  /* ======================================= */
  /* RECENTLY VIEWED — Velvet Premium Compact*/
  /* ======================================= */
  .recently-viewed {
	text-align: center;
	margin: 60px auto 80px;
	max-width: 900px;
  }
  
  .recently-viewed h3 {
	font-family: "Playfair Display", serif;
	font-size: 1.3rem;
	font-weight: 700;
	color: var(--gold);
	margin-bottom: 22px;
	text-transform: uppercase;
	letter-spacing: 1.2px;
	text-shadow: 0 0 6px rgba(212,175,55,0.35);
  }
  
  .recent-grid {
	display: flex;
	justify-content: center;
	gap: 18px;
	flex-wrap: wrap;
  }
  
  .recent-thumb {
	width: 64px;
	height: 64px;
	border-radius: 14px;
	overflow: hidden;
	border: 1px solid var(--border);
	background: var(--surface-2);
	transition: all 0.3s ease;
	box-shadow: 0 6px 14px rgba(0,0,0,0.25);
	cursor: pointer;
  }
  
  .recent-thumb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
  }
  
  .recent-thumb:hover {
	transform: translateY(-4px) scale(1.05);
	border-color: var(--gold);
	box-shadow: 0 0 16px rgba(212,175,55,0.25);
  }
  
  /* Mobile refinements */
  @media (max-width: 768px) {
	.btn-report {
	  font-size: 0.8rem;
	  padding: 9px 18px;
	}
	.recent-thumb {
	  width: 58px;
	  height: 58px;
	}
  }
  
  /* ============================= */
/* RECENTLY VIEWED — Velvet Refined */
/* ============================= */
.recently-viewed {
	text-align: center;
	margin: 40px auto 60px;
	max-width: 900px;
	padding: 0 16px;
	position: relative;
  }
  
  .recently-viewed h3 {
	font-family: "Playfair Display", serif;
	font-size: 1.25rem;
	font-weight: 700;
	color: var(--gold);
	text-transform: uppercase;
	letter-spacing: 1.2px;
	margin-bottom: 18px;
	text-shadow: 0 0 8px rgba(212,175,55,0.4);
	position: relative;
	display: inline-block;
	padding-bottom: 6px;
  }
  
  /* Linha dourada sob o título */
  .recently-viewed h3::after {
	content: "";
	position: absolute;
	bottom: 0;
	left: 50%;
	transform: translateX(-50%);
	width: 120px;
	height: 2px;
	background: linear-gradient(90deg, transparent, var(--gold), transparent);
	border-radius: 2px;
  }
  
  .recent-grid {
	display: flex;
	justify-content: center;
	gap: 12px;              /* espaçamento menor */
	flex-wrap: wrap;
	padding-top: 8px;
  }
  
  .recent-thumb {
	width: 88px;            /* maior */
	height: 88px;
	border-radius: 16px;
	overflow: hidden;
	border: 2px solid var(--border);
	background: var(--surface-2);
	transition: all 0.3s ease;
	box-shadow: 0 6px 14px rgba(0,0,0,0.25);
	cursor: pointer;
  }
  
  .recent-thumb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.3s ease;
  }
  
  /* Efeito ao hover */
  .recent-thumb:hover {
	transform: translateY(-4px);
	border-color: var(--gold);
	box-shadow: 0 0 16px rgba(212,175,55,0.25);
  }
  .recent-thumb:hover img {
	transform: scale(1.08);
  }
  
  /* Ajuste para telas menores */
  @media (max-width: 768px) {
	.recently-viewed h3 {
	  font-size: 1.05rem;
	  letter-spacing: 1px;
	}
	.recent-thumb {
	  width: 76px;
	  height: 76px;
	}
	.recent-grid {
	  gap: 10px;
	}
  }
  
  
    .btn-report {
        font-size: 0.8rem;
        padding: 9px 18px;
        height: 50px;
        width: 74%;
	}
	
	/* ========================= */
/* BALÃO DE MENSAGEM FIXO    */
/* ========================= */
.speech-bubble {
	position: absolute;
	top: 50%; /* acima do centro do avatar */
	left: 100%;
	background: var(--surface);
	border: 2px solid var(--gold);
	color: var(--text);
	padding: 10px 14px;
	border-radius: 18px 18px 18px 0;
	font-size: 0.9rem;
	line-height: 1.4;
	box-shadow: 0 4px 12px rgba(0,0,0,0.25);
	max-width: 220px;
	white-space: nowrap;
	transform: translate(-10%, -100%);
	z-index: 5;
  }
  
  /* Pontinha do balão (triângulo dourado) */
  .speech-bubble::after {
	content: "";
	position: absolute;
	bottom: -6px;
	left: 16px;
	width: 10px;
	height: 10px;
	background: var(--surface);
	border-left: 2px solid var(--gold);
	border-bottom: 2px solid var(--gold);
	transform: rotate(45deg);
  }
  
  /* MOBILE — ajusta apenas escala e espaço */
  @media (max-width: 768px) {
	.speech-bubble {
	  font-size: 0.85rem;
	  max-width: 180px;
	  padding: 8px 10px;
	  top: 40%;
	  left: 95%;
	  transform: translate(-5%, -100%);
	}
  
	.speech-bubble::after {
	  bottom: -5px;
	  left: 12px;
	  width: 8px;
	  height: 8px;
	}
  }
  .btn-link
  {
	color: var(--gold);

  }

  /* ============================= */
/* ===== FIXED CONTACT BAR ===== */
/* ============================= */

.profile-footer-fixed {
	position: fixed;
	bottom: 0;
	left: 0;
	right: 0;
	background: var(--surface, #111);
	border-top: 1px solid rgba(255, 215, 0, 0.15);
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 14px 22px;
	z-index: 1200;
	box-shadow: 0 -4px 16px rgba(0, 0, 0, 0.4);
	backdrop-filter: blur(12px) saturate(150%);
  }
  
  .footer-info {
	display: flex;
	flex-direction: column;
	color: var(--text, #f1f1f1);
	font-family: "Inter", sans-serif;
	line-height: 1.3;
  }
  
  .footer-info .rate-label {
	font-size: 0.85rem;
	opacity: 0.8;
  }
  
  .footer-info .rate-value {
	font-size: 1.3rem;
	font-weight: 700;
	color: var(--gold, #d4af37);
  }
  
  .footer-info .rate-time {
	font-size: 0.9rem;
	color: #ccc;
	margin-left: 3px;
  }
  
  /* ACTIONS */
  .footer-actions {
	display: flex;
	gap: 12px;
	align-items: center;
  }
  
  /* BOTÃO TELEFONE */
  .btn-footer.btn-phone {
	background: transparent;
	border: 1px solid var(--gold, #d4af37);
	color: var(--gold, #d4af37);
	padding: 10px 18px;
	border-radius: 14px;
	font-weight: 600;
	font-size: 0.95rem;
	transition: 0.25s ease;
	display: flex;
	align-items: center;
	gap: 8px;
  }
  .btn-footer.btn-phone:hover {
	background: var(--gold);
	color: #111;
	box-shadow: 0 0 14px rgba(212, 175, 55, 0.45);
  }
  
  /* BOTÃO WHATSAPP */
  .btn-footer.btn-whatsapp {
	background: #25d366;
	color: #111;
	font-weight: 700;
	border: none;
	padding: 12px 22px;
	border-radius: 14px;
	font-size: 0.95rem;
	letter-spacing: 0.3px;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	box-shadow: 0 0 12px rgba(37, 211, 102, 0.4);
	transition: 0.25s ease;
  }
  .btn-footer.btn-whatsapp:hover {
	filter: brightness(1.05);
	transform: translateY(-1px);
	box-shadow: 0 0 20px rgba(37, 211, 102, 0.6);
  }
  
  /* MOBILE */
  @media (max-width: 480px) {
	.profile-footer-fixed {
	  flex-direction: column;
	  align-items: stretch;
	  padding: 12px 16px 18px;
	  gap: 10px;
	}
	.footer-info {
	  align-items: center;
	}
	.footer-actions {
	  width: 100%;
	  justify-content: center;
	}
	.btn-footer.btn-phone,
	.btn-footer.btn-whatsapp {
	  flex: 1;
	  justify-content: center;
	}
  }
  
  /* ===== PHONE MODAL REFINED ===== */
.phone-modal-box {
	position: fixed;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	background: rgba(15,15,15,0.92);
	border: 1px solid rgba(212,175,55,0.35);
	border-radius: 18px;
	box-shadow: 0 0 30px rgba(212,175,55,0.2), 0 0 10px rgba(0,0,0,0.7);
	padding: 26px 24px 22px;
	width: 90%;
	max-width: 360px;
	text-align: center;
	z-index: 1500;
	backdrop-filter: blur(16px) saturate(160%);
	animation: fadeInPhone 0.25s ease;
  }
  
  /* HEADER */
  .phone-header {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	margin-bottom: 14px;
  }
  
  .phone-header i {
	color: var(--gold);
	font-size: 1.2rem;
  }
  
  .phone-header h3 {
	color: var(--gold);
	font-family: "Playfair Display", serif;
	font-size: 1.15rem;
	font-weight: 700;
  }
  
  /* CLOSE BUTTON */
  .phone-close {
	position: absolute;
	top: 10px;
	right: 12px;
	background: none;
	border: none;
	color: #aaa;
	font-size: 1.1rem;
	cursor: pointer;
	transition: 0.25s ease;
  }
  .phone-close:hover { color: var(--gold); transform: scale(1.1); }
  
  /* NUMBER */
  .phone-number {
	font-size: 1.35rem;
	font-weight: 700;
	color: #fff;
	margin: 6px 0 18px;
	letter-spacing: 0.5px;
  }
  
  /* BUTTONS */
  .phone-btns {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 10px;
	margin-top: 8px;
  }
  
  .btn-gold, .btn-outline {
	border-radius: 10px;
	padding: 8px 14px;
	font-weight: 600;
	font-size: 0.9rem;
	transition: 0.25s ease;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
  }
  
  .btn-gold {
	background: var(--gold);
	color: #111;
	border: none;
	box-shadow: 0 0 8px rgba(212,175,55,0.3);
  }
  .btn-gold:hover {
	filter: brightness(1.08);
	transform: translateY(-1px);
  }
  
  .btn-outline {
	background: transparent;
	border: 1px solid var(--gold);
	color: var(--gold);
  }
  .btn-outline:hover {
	background: var(--gold);
	color: #111;
	transform: translateY(-1px);
  }
  
  /* OVERLAY */
  .modal .modal-overlay {
	position: fixed;
	inset: 0;
	background: rgba(0, 0, 0, 0.6);
	backdrop-filter: blur(6px);
	z-index: 1400;
  }
  
  /* ANIMATION */
  @keyframes fadeInPhone {
	from { opacity: 0; transform: translate(-50%, -48%) scale(0.97); }
	to { opacity: 1; transform: translate(-50%, -50%) scale(1); }
  }
  
  .profile-footer-fixed .footer-info {
	display: flex;
	align-items: baseline;
	gap: 6px;
  }
  
  .profile-footer-fixed .rate-label {
	font-size: 0.9rem;
	color: #aaa;
  }
  
  .profile-footer-fixed .rate-line {
	display: flex;
	align-items: baseline;
	gap: 4px;
  }
  
  .profile-footer-fixed .rate-value {
	color: var(--gold);
	font-weight: 700;
	font-size: 1.4rem;
  }
  
  .profile-footer-fixed .rate-time {
	font-size: 0.9rem;
	color: #aaa;
	position: relative;
	top: -1px;
  }
  
  .services-list {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
	gap: 14px;
  }
  
  .service {
	display: flex;
	justify-content: space-between;
	align-items: center;
	background: var(--surface-2);
	border: 1px solid var(--border);
	border-radius: 10px;
	padding: 10px 14px;
	box-shadow: var(--shadow-sm);
	transition: all 0.25s ease;
	white-space: nowrap;           /* evita quebra no nome/status */
	overflow: hidden;
	text-overflow: ellipsis;
  }
  
  .service:hover {
	border-color: var(--gold);
	box-shadow: 0 0 14px rgba(207,163,73,0.25);
	transform: translateY(-2px);
  }
  
  .service-name {
	font-weight: 500;
	font-size: 0.95rem;
	color: var(--text);
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	max-width: 75%;
  }
  
  .service-status {
	font-size: 0.8rem;
	font-weight: 700;
	color: var(--gold);
	padding: 3px 8px;
	border-radius: 999px;
	flex-shrink: 0;
  }

  .facts-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
	gap: 14px;
	margin-top: 14px;
  }
  
  .fact-item {
	display: flex;
	align-items: center;
	justify-content: space-between;
	background: var(--surface-2);
	border: 1px solid var(--border);
	border-radius: 10px;
	padding: 10px 14px;
	box-shadow: var(--shadow-sm);
	transition: all 0.25s ease;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
  }
  
  .fact-item:hover {
	border-color: var(--gold);
	box-shadow: 0 0 14px rgba(207,163,73,0.25);
	transform: translateY(-2px);
  }
  
  .fact-icon {
	color: var(--gold);
	font-size: 0.9rem;
	margin-right: 8px;
	flex-shrink: 0;
  }
  
  .fact-item span {
	font-size: 0.9rem;
	color: #ccc;
	flex: 1;
	overflow: hidden;
	text-overflow: ellipsis;
  }
  
  .fact-item strong {
	font-size: 0.9rem;
	color: var(--gold);
	font-weight: 600;
	margin-left: 8px;
	flex-shrink: 0;
  }
  
  /* Variante para valores ausentes */
  .fact-item.unavailable strong {
	color: #777;
	font-style: italic;
	font-weight: 400;
  }
  
  /* Responsivo */
  @media (max-width: 768px) {
	.facts-grid {
	  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
	}
  }

  
  .services-category {
	display: flex;
	flex-direction: column;
	gap: 24px;
  }
  
  .services-title {
	font-family: "Playfair Display", serif;
	color: var(--gold);
	font-size: 1.2rem;
	display: flex;
	align-items: center;
	gap: 8px;
	border-bottom: 1px solid var(--border);
	padding-bottom: 6px;
  }
  
  .services-list.offered-list {
	display: flex;
	flex-direction: column;
	gap: 10px;
  }
  
  .services-list.notoffered-list {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
	gap: 10px;
  }
  
  /* Serviço base */
  .service {
	display: flex;
	justify-content: space-between;
	align-items: center;
	background: var(--surface-2);
	border: 1px solid var(--border);
	border-radius: 10px;
	padding: 10px 14px;
	transition: all 0.25s ease;
	box-shadow: var(--shadow-sm);
	overflow: hidden;
	white-space: nowrap;
	text-overflow: ellipsis;
  }
  
  /* Tooltip elegante */
  .service[title]:hover::after {
	content: attr(title);
	position: absolute;
	background: var(--surface-2);
	color: var(--text);
	border: 1px solid var(--gold);
	border-radius: 8px;
	padding: 6px 10px;
	font-size: 0.85rem;
	white-space: normal;
	max-width: 280px;
	z-index: 50;
	transform: translateY(-120%);
	box-shadow: 0 4px 20px rgba(0,0,0,0.4);
  }
  
  /* Estados */
  .service.offered {
	border-color: var(--gold);
	box-shadow: 0 0 10px rgba(212,175,55,0.25);
  }
  
  .service.offered .service-status {
	color: var(--gold);
  }
  
  .service.notoffered {
	opacity: 0.7;
  }
  
  .service-name {
	color: var(--text);
	font-weight: 500;
	font-size: 0.95rem;
	overflow: hidden;
	text-overflow: ellipsis;
	max-width: 75%;
  }
  
  .service-status {
	font-size: 0.8rem;
	font-weight: 600;
	color: var(--gold);
	flex-shrink: 0;
  }

  /* ========================== */
/*     SERVICES REFINEMENT    */
/* ========================== */

/* Botões padrão */
.service {
	display: flex;
	justify-content: space-between;
	align-items: center;
	background: var(--surface-2);
	border: 1px solid var(--border);
	border-radius: 10px;
	padding: 10px 14px;
	transition: all 0.25s ease;
	box-shadow: var(--shadow-sm);
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
  }
  
  /* Nome do serviço */
  .service-name {
	color: var(--text);
	font-weight: 500;
	font-size: 0.95rem;
	overflow: hidden;
	text-overflow: ellipsis;
	max-width: 70%;
  }
  
  /* Status */
  .service-status {
	font-size: 0.8rem;
	font-weight: 600;
	color: var(--gold);
	background: rgba(207, 163, 73, 0.1);
	padding: 3px 8px;
	border-radius: 999px;
	flex-shrink: 0;
  }
  
  /* Not offered com corte */
  .service.not-offered .service-status {
	color: #a88e4c;
	position: relative;
	text-decoration: line-through;
	text-decoration-thickness: 2px;
	text-decoration-color: rgba(168, 142, 76, 0.6);
  }
  
  /* Hover elegante */
  .service:hover {
	border-color: var(--gold);
	box-shadow: 0 0 10px rgba(212, 175, 55, 0.25);
	transform: translateY(-2px);
  }
  

  
  /* mantém o grid original */
.services-list.notoffered-list {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
	gap: 10px;
  }
  
  .service {
	display: flex;
	justify-content: space-between;
	align-items: center;
	background: var(--surface-2);
	border: 1px solid var(--border);
	border-radius: 10px;
	padding: 10px 14px;
	transition: all 0.25s ease;
	box-shadow: var(--shadow-sm);
  }
  
  .service-name {
	color: var(--text);
	font-weight: 500;
	font-size: 0.95rem;
	max-width: 70%;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
  }
  
  .service-status {
	font-size: 0.8rem;
	font-weight: 600;
	color: var(--gold);
	background: rgba(207,163,73,0.1);
	padding: 3px 8px;
	flex-shrink: 0;
  }
  
  /* ---------- mobile ---------- */
  @media (max-width: 768px) {
	.services-list.notoffered-list .service {
	  min-height: 48px;
	  flex-direction: column;
	  align-items: flex-start;
	  justify-content: center;
	  padding: 8px 12px;
	}
  
	.services-list.notoffered-list .service-name {
	  white-space: normal;        /* permite quebrar linha */
	  text-overflow: initial;
	  overflow: visible;
	  max-width: 100%;
	  line-height: 1.3;
	}
  
	.services-list.notoffered-list .service-status {
	  align-self: flex-end;
	  margin-top: 2px;
	}
  }
  
  /* ---------- SERVICE STATUS ICONS ---------- */
.service-status {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 26px;
	height: 26px;
	background: rgba(207, 163, 73, 0.1);
	transition: all 0.25s ease;
  }
  
  /* ícone de check (offered) */
  .service.available .service-status {
	background: rgba(207, 163, 73, 0.15);
	border-color: var(--gold);
	color: var(--gold);
  }
  
  /* ícone de x (not offered) */
  .service.not-offered .service-status {
	background: rgba(120, 120, 120, 0.1);
	border-color: var(--border);
	color: #777;
  }
  
  /* hover elegante */
  .service:hover .service-status {
	transform: scale(1.1);
	box-shadow: 0 0 6px rgba(212,175,55,0.3);
  }
  
  /* responsivo */
  @media (max-width: 768px) {
	.services-list .service {
	  min-height: 48px;
	  padding: 8px 12px;
	  justify-content: space-between;
	}
  
	.service-status {
	  width: 24px;
	  height: 24px;
	  font-size: 0.9rem;
	}
  
	.service-name {
	  font-size: 0.85rem;
	  white-space: normal;
	  line-height: 1.3;
	}
  }
  
  @media (min-width: 769px) {
	.profile-footer-fixed {
	  display: none !important;
	}
  }
  
  .comparison-section {
	margin-top: 40px;
	text-align: center;
  }
  
  .comparison-video-card {
	background: var(--card-bg, #111);
	border-radius: 14px;
	box-shadow: 0 8px 20px rgba(0,0,0,0.25);
	overflow: hidden;
	display: inline-block;
	padding: 12px;
	max-width: 640px;
  }
  
  .comparison-video-card video {
	width: 100%;
	border-radius: 12px;
	margin-bottom: 10px;
  }
  
  .comparison-meta {
	display: flex;
	justify-content: center;
	gap: 10px;
	align-items: center;
	color: var(--text-muted, #ccc);
  }

  .comparison-section {
	text-align: center;
	margin: 50px auto;
	padding: 20px;
  }
  
  .comparison-section .section-title {
	color: var(--gold, #caa14a);
	text-transform: uppercase;
	letter-spacing: 1px;
	margin-bottom: 16px;
	border-bottom: 1px solid var(--gold, #caa14a);
	display: inline-block;
	padding-bottom: 6px;
  }
  
  .comparison-video-card {
	display: inline-block;
	background: var(--card-bg, #111);
	border-radius: 14px;
	box-shadow: 0 8px 24px rgba(0,0,0,0.25);
	padding: 10px;
	max-width: 640px;
	width: 100%;
  }
  
  .comparison-video-card video {
	width: 100%;
	border-radius: 10px;
	margin-bottom: 10px;
  }
  
  .comparison-meta {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 10px;
	color: var(--text-muted, #bbb);
  }
  
  .comparison-section .empty {
	font-style: italic;
	color: var(--text-muted, #999);
	margin-top: 10px;
  }

  .empty-media {
	width: 100%;
	text-align: center;
	padding: 40px 0;
	color: var(--text-muted, #999);
	font-style: italic;
  }
  
  .empty-media i {
	display: block;
	font-size: 36px;
	margin-bottom: 10px;
	color: var(--gold, #caa14a);
  }
  /* ========================= */
/* GALLERY GRID              */
/* ========================= */
.gallery-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr); /* sempre 3 colunas */
	gap: 6px;
	margin-top: 15px;
  }
  
  .gallery-item {
	position: relative;
	width: 100%;
	aspect-ratio: 1 / 1; /* quadrado perfeito */
	overflow: hidden;
	border-radius: 10px;
	cursor: pointer;
	background: #111;
	transition: transform 0.2s ease, box-shadow 0.2s ease;
  }
  
  .gallery-item img,
  .gallery-item video {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
  }
  
  .gallery-item:hover {
	transform: scale(1.02);
	box-shadow: 0 0 10px rgba(255, 255, 255, 0.1);
  }
  
  .play-badge {
	position: absolute;
	bottom: 8px;
	right: 8px;
	background: rgba(0, 0, 0, 0.6);
	color: #fff;
	padding: 6px;
	border-radius: 50%;
	font-size: 12px;
  }
  
  /* ===== Empty State ===== */
  .empty-media {
	grid-column: 1 / -1;
	text-align: center;
	padding: 40px 0;
	color: var(--text-muted, #999);
	font-style: italic;
  }
  
  .empty-media i {
	display: block;
	font-size: 36px;
	margin-bottom: 10px;
	color: var(--gold, #caa14a);
  }
  
  /* ===== See More Button ===== */
  .btn-loadmore {
	display: block;
	width: 100%;
	margin: 16px auto 0;
	background: var(--gold, #caa14a);
	color: #000;
	font-weight: 600;
	border: none;
	border-radius: 8px;
	padding: 10px;
	cursor: pointer;
	transition: background 0.2s;
  }
  
  .btn-loadmore:hover {
	background: var(--gold-hover, #e5c767);
  }
  
  /* ===== Responsividade ===== */
  @media (max-width: 480px) {
	.gallery-grid {
	  grid-template-columns: repeat(3, 1fr); /* mantém 3 colunas no mobile */
	  gap: 4px;
	}
  }
  