* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

:root {
  --bg: #050608;
  --card: rgba(12, 14, 20, .58);
  --border: rgba(255,255,255,.12);
  --text: #fff;
  --muted: rgba(255,255,255,.70);
  --accent: #d7d7d7;
  --accent2: #7b8cff;
}

html {
  scroll-behavior: smooth;
}

body {
  min-height: 100vh;
  font-family: Arial, Helvetica, sans-serif;
  color: var(--text);
  background:
    radial-gradient(circle at top left, rgba(120, 140, 255, .16), transparent 34%),
    radial-gradient(circle at bottom right, rgba(255, 255, 255, .08), transparent 30%),
    linear-gradient(rgba(0,0,0,.62), rgba(0,0,0,.82)),
    url("assets/background.jpg") center / cover fixed no-repeat;
  overflow-x: hidden;
}

.grain {
  position: fixed;
  inset: 0;
  opacity: .10;
  pointer-events: none;
  background-image: radial-gradient(rgba(255,255,255,.22) 1px, transparent 1px);
  background-size: 3px 3px;
  z-index: 1;
}

.blur-light {
  position: fixed;
  width: 360px;
  height: 360px;
  border-radius: 50%;
  filter: blur(90px);
  opacity: .34;
  z-index: 1;
  pointer-events: none;
}

.blur-light.one {
  top: 10%;
  left: 8%;
  background: rgba(100, 120, 255, .38);
}

.blur-light.two {
  right: 8%;
  bottom: 8%;
  background: rgba(255, 255, 255, .13);
}



.music-btn {
  position: fixed;
  top: 24px;
  left: 24px;
  z-index: 10;
  width: 48px;
  height: 48px;
  border: 1px solid var(--border);
  border-radius: 50%;
  color: white;
  background: rgba(255,255,255,.08);
  backdrop-filter: blur(14px);
  cursor: pointer;
  font-size: 22px;
  transition: .25s;
}

.music-btn:hover {
  transform: scale(1.06);
  background: rgba(255,255,255,.14);
}

.hero, .container, footer, .admin-page {
  position: relative;
  z-index: 2;
}

.hero {
  min-height: 55vh;
  display: grid;
  place-items: center;
  padding: 40px 18px 22px;
  text-align: center;
}

.hero-card, .container, .admin-card {
  border: 1px solid var(--border);
  background: var(--card);
  backdrop-filter: blur(20px);
  box-shadow: 0 30px 90px rgba(0,0,0,.40);
}

.hero-card {
  width: min(720px, 100%);
  padding: 48px 28px;
  border-radius: 38px;
}

.tag {
  display: inline-block;
  padding: 8px 14px;
  border-radius: 999px;
  background: rgba(255,255,255,.09);
  color: var(--muted);
  border: 1px solid var(--border);
  font-size: 13px;
}

h1 {
  margin-top: 15px;
  font-size: clamp(42px, 7vw, 72px);
  letter-spacing: -4px;
  line-height: .95;
}

.hero-card p {
  max-width: 560px;
  margin: 14px auto 26px;
  color: var(--muted);
  font-size: 18px;
  line-height: 1.55;
}

.container {
  width: min(1120px, calc(100% - 32px));
  margin: 0 auto 30px;
  padding: 22px;
  border-radius: 34px;
}

.top {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  align-items: center;
  margin-bottom: 16px;
}

.top h2 {
  font-size: 34px;
  letter-spacing: -1px;
}

.top p {
  color: var(--muted);
  margin-top: 4px;
}

input, textarea, select {
  width: 100%;
  padding: 13px 15px;
  border-radius: 16px;
  color: white;
  border: 1px solid var(--border);
  background: rgba(0,0,0,.24);
  outline: none;
}

#searchInput {
  width: min(290px, 100%);
}

.filters {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  margin-bottom: 18px;
}

.filters button, form button {
  border: 1px solid var(--border);
  color: white;
  background: rgba(255,255,255,.07);
  padding: 11px 15px;
  border-radius: 999px;
  cursor: pointer;
  transition: .25s;
}

.filters button.active,
.filters button:hover {
  background: rgba(255,255,255,.16);
}

.gallery {
  columns: 3 240px;
  column-gap: 15px;
}

.photo {
  display: inline-block;
  width: 100%;
  margin-bottom: 15px;
  overflow: hidden;
  border-radius: 24px;
  border: 1px solid var(--border);
  position: relative;
  background: rgba(0,0,0,.20);
  cursor: pointer;
  break-inside: avoid;
  animation: appear .45s ease both;
}

.photo img {
  width: 100%;
  display: block;
  transition: .35s;
}

.photo:hover img {
  transform: scale(1.04);
  filter: brightness(.74) contrast(1.05);
}

.info {
  position: absolute;
  left: 12px;
  right: 12px;
  bottom: 12px;
  padding: 13px;
  border-radius: 17px;
  background: rgba(0,0,0,.50);
  border: 1px solid rgba(255,255,255,.12);
  backdrop-filter: blur(13px);
  opacity: 0;
  transform: translateY(10px);
  transition: .25s;
}

.photo:hover .info {
  opacity: 1;
  transform: translateY(0);
}

.info span {
  color: var(--muted);
  font-size: 13px;
}

.badge {
  position: absolute;
  top: 12px;
  right: 12px;
  padding: 8px 10px;
  border-radius: 999px;
  background: rgba(0,0,0,.46);
  backdrop-filter: blur(12px);
}

.loading {
  color: var(--muted);
}

.lightbox {
  position: fixed;
  inset: 0;
  z-index: 20;
  display: none;
  place-items: center;
  padding: 28px;
  text-align: center;
  background: rgba(0,0,0,.84);
  backdrop-filter: blur(14px);
}

.lightbox.show {
  display: grid;
}

.lightbox img {
  max-width: min(1100px, 92vw);
  max-height: 76vh;
  border-radius: 26px;
  box-shadow: 0 30px 90px rgba(0,0,0,.60);
}

.lightbox h3 {
  margin-top: 14px;
}

.lightbox p {
  color: var(--muted);
  max-width: 680px;
  margin-top: 6px;
}

#closeLightbox {
  position: fixed;
  top: 22px;
  right: 25px;
  width: 46px;
  height: 46px;
  border-radius: 50%;
  border: 1px solid var(--border);
  color: white;
  background: rgba(255,255,255,.08);
  font-size: 28px;
  cursor: pointer;
}

footer {
  text-align: center;
  color: var(--muted);
  padding: 0 18px 32px;
}

.admin-page {
  min-height: 100vh;
  display: grid;
  gap: 22px;
  place-items: center;
  padding: 28px 18px;
}

.admin-card {
  width: min(680px, 100%);
  padding: 30px;
  border-radius: 30px;
}

.admin-card p {
  color: var(--muted);
  margin: 10px 0 22px;
}

form {
  display: grid;
  gap: 14px;
}

label {
  display: grid;
  gap: 7px;
  color: var(--muted);
}

textarea {
  min-height: 120px;
  resize: vertical;
}

.check {
  display: flex;
  align-items: center;
  gap: 10px;
}

.check input {
  width: auto;
}

form button {
  border-radius: 16px;
  background: linear-gradient(135deg, rgba(255,255,255,.18), rgba(120,140,255,.42));
  font-weight: bold;
}

#message {
  margin-top: 15px;
}

.back-link {
  margin-top: 12px;
}

@keyframes appear {
  from {
    opacity: 0;
    transform: translateY(18px) scale(.98);
  }
  to {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}

@media (max-width: 760px) {
  .top {
    flex-direction: column;
    align-items: stretch;
  }

  .hero-card, .admin-card {
    padding: 30px 18px;
  }

  .music-btn {
    top: 16px;
    left: 16px;
  }
}

.published-card {
  margin-top: 0;
}

.admin-gallery {
  display: grid;
  gap: 14px;
  margin-top: 18px;
}

.admin-photo {
  display: grid;
  grid-template-columns: 92px 1fr auto;
  gap: 14px;
  align-items: center;
  padding: 12px;
  border-radius: 18px;
  background: rgba(255,255,255,.07);
  border: 1px solid var(--border);
}

.admin-photo img {
  width: 92px;
  height: 92px;
  object-fit: cover;
  border-radius: 15px;
}

.admin-photo strong {
  display: block;
  font-size: 17px;
}

.admin-photo span {
  display: block;
  color: var(--muted);
  font-size: 13px;
  margin-top: 4px;
}

.delete-btn {
  border: 1px solid rgba(255, 80, 80, .35);
  background: rgba(255, 60, 60, .12);
  color: #ffb3b3;
  padding: 11px 14px;
  border-radius: 14px;
  cursor: pointer;
  font-weight: bold;
  transition: .25s;
}

.delete-btn:hover {
  background: rgba(255, 60, 60, .22);
  transform: scale(1.04);
}

@media (max-width: 640px) {
  .admin-photo {
    grid-template-columns: 76px 1fr;
  }

  .admin-photo img {
    width: 76px;
    height: 76px;
  }

  .delete-btn {
    grid-column: 1 / -1;
  }
}

.hidden-panel {
  display: none;
}

.admin-header {
  display: flex;
  justify-content: space-between;
  gap: 14px;
  align-items: flex-start;
}

.logout-btn {
  border: 1px solid rgba(255,255,255,.16);
  background: rgba(255,255,255,.08);
  color: white;
  padding: 11px 14px;
  border-radius: 14px;
  cursor: pointer;
  font-weight: bold;
}

.logout-btn:hover {
  background: rgba(255,255,255,.16);
}

#loginMessage {
  margin-top: 14px;
  color: var(--muted);
}

.admin-gallery {
  display: grid;
  gap: 14px;
  margin-top: 18px;
}

.admin-photo {
  display: grid;
  grid-template-columns: 92px 1fr auto;
  gap: 14px;
  align-items: center;
  padding: 12px;
  border-radius: 18px;
  background: rgba(255,255,255,.07);
  border: 1px solid var(--border);
}

.admin-photo img {
  width: 92px;
  height: 92px;
  object-fit: cover;
  border-radius: 15px;
}

.admin-photo strong {
  display: block;
  font-size: 17px;
}

.admin-photo span {
  display: block;
  color: var(--muted);
  font-size: 13px;
  margin-top: 4px;
}

.delete-btn {
  border: 1px solid rgba(255, 80, 80, .35);
  background: rgba(255, 60, 60, .12);
  color: #ffb3b3;
  padding: 11px 14px;
  border-radius: 14px;
  cursor: pointer;
  font-weight: bold;
  transition: .25s;
}

.delete-btn:hover {
  background: rgba(255, 60, 60, .22);
  transform: scale(1.04);
}

@media (max-width: 640px) {
  .admin-photo {
    grid-template-columns: 76px 1fr;
  }

  .admin-photo img {
    width: 76px;
    height: 76px;
  }

  .delete-btn {
    grid-column: 1 / -1;
  }
}

.toast {
  position: fixed;
  top: 24px;
  right: 24px;
  z-index: 50;
  padding: 14px 18px;
  border-radius: 18px;
  background: rgba(12, 14, 20, .72);
  border: 1px solid rgba(255,255,255,.16);
  color: white;
  backdrop-filter: blur(18px);
  box-shadow: 0 20px 60px rgba(0,0,0,.38);
  opacity: 0;
  transform: translateY(-18px) scale(.96);
  pointer-events: none;
  transition: .35s ease;
  cursor: pointer;
}

.toast.show {
  opacity: 1;
  transform: translateY(0) scale(1);
  pointer-events: auto;
}

.photo {
  transition: transform .35s ease, box-shadow .35s ease, border-color .35s ease;
}

.photo:hover {
  box-shadow: 0 24px 70px rgba(0,0,0,.38);
  border-color: rgba(255,255,255,.25);
}

.photo-actions {
  position: absolute;
  top: 12px;
  left: 12px;
  display: flex;
  gap: 8px;
  z-index: 3;
}

.like-btn, .quick-download {
  border: 1px solid rgba(255,255,255,.15);
  color: white;
  background: rgba(0,0,0,.46);
  backdrop-filter: blur(12px);
  padding: 8px 10px;
  border-radius: 999px;
  cursor: pointer;
  text-decoration: none;
  font-size: 13px;
  transition: .25s;
}

.like-btn:hover, .quick-download:hover {
  transform: scale(1.06);
  background: rgba(255,255,255,.16);
}

.like-btn.liked {
  color: #ff6b8b;
}

.lightbox {
  opacity: 0;
  transition: opacity .35s ease;
}

.lightbox.show {
  opacity: 1;
}

.lightbox img {
  transform: scale(.92);
  opacity: 0;
  transition: transform .42s cubic-bezier(.2,.8,.2,1), opacity .42s ease;
}

.lightbox.show img {
  transform: scale(1);
  opacity: 1;
}

.download-btn {
  display: inline-block;
  margin-top: 14px;
  padding: 12px 16px;
  border-radius: 15px;
  color: white;
  text-decoration: none;
  font-weight: bold;
  background: linear-gradient(135deg, rgba(255,255,255,.18), rgba(120,140,255,.42));
  border: 1px solid rgba(255,255,255,.14);
  transition: .25s;
}

.download-btn:hover {
  transform: translateY(-3px);
  box-shadow: 0 12px 35px rgba(0,0,0,.28);
}

.social-icons a {
  all: unset;
  
  width: 58px;
  height: 58px;

  display: flex;
  align-items: center;
  justify-content: center;

  border-radius: 18px;

  background: rgba(255, 0, 0, 0.12);
  border: 1px solid rgba(255, 0, 0, 0.18);

  color: rgb(255, 0, 0);
  font-size: 28px;

  cursor: pointer;

  backdrop-filter: blur(18px);

  box-shadow:
    0 0 12px rgba(255,0,0,.35),
    0 0 30px rgba(255,0,0,.18);

  transition: .3s ease;
}

.social-icons a:hover {
  transform: translateY(-5px) scale(1.08);

  background: rgba(255, 0, 0, 0.18);

  box-shadow:
    0 0 20px rgba(255,0,0,.55),
    0 0 50px rgba(255,0,0,.28);
}

.social-icons {
  display: flex !important;
  flex-direction: row !important;
  justify-content: center !important;
  align-items: center !important;
  gap: 18px !important;
  margin-top: 24px;
}

.social-icons a {
  all: unset;
  width: 58px;
  height: 58px;
  display: flex !important;
  align-items: center;
  justify-content: center;
  border-radius: 18px;
  background: rgba(255, 0, 0, 0.12);
  border: 1px solid rgba(255, 0, 0, 0.18);
  color: #ff1a1a;
  font-size: 28px;
  cursor: pointer;
  box-shadow: 0 0 12px rgba(255,0,0,.35);
}

#instagramLink {
  all: unset;

  width: 58px;
  height: 58px;

  display: flex !important;
  align-items: center;
  justify-content: center;

  border-radius: 18px;

  background: rgba(255, 0, 0, 0.12);
  border: 1px solid rgba(255, 0, 0, 0.18);

  color: #ff1a1a;
  font-size: 28px;

  cursor: pointer;

  box-shadow:
    0 0 12px rgba(255,0,0,.35),
    0 0 30px rgba(255,0,0,.18);

  transition: .3s ease;
}

#instagramLink:hover {
  transform: translateY(-5px) scale(1.08);

  background: rgba(255, 0, 0, 0.18);

  box-shadow:
    0 0 20px rgba(255,0,0,.55),
    0 0 50px rgba(255,0,0,.28);
}
.social-btn i {
  color: white !important;
}
/* V8 Premium Features */

.cinematic-loader {
  position: fixed;
  inset: 0;
  z-index: 9999;
  display: grid;
  place-items: center;
  background: rgba(0,0,0,.92);
  backdrop-filter: blur(22px);
  transition: opacity .65s ease, visibility .65s ease;
}

.cinematic-loader.hidden {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}

.loader-content {
  text-align: center;
  animation: loaderEnter .9s ease both;
}

.loader-logo {
  width: 88px;
  height: 88px;
  margin: 0 auto 18px;
  display: grid;
  place-items: center;
  border-radius: 28px;
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.14);
  box-shadow: 0 0 35px rgba(255,255,255,.12);
  font-size: 38px;
}

.loader-content h2 {
  font-size: clamp(32px, 6vw, 62px);
  letter-spacing: -2px;
}

.loader-content p {
  color: rgba(255,255,255,.65);
  margin-top: 8px;
  letter-spacing: 2px;
  text-transform: uppercase;
  font-size: 12px;
}

.loader-content span {
  display: block;
  width: 170px;
  height: 4px;
  border-radius: 999px;
  margin: 24px auto 0;
  overflow: hidden;
  background: rgba(255,255,255,.12);
}

.loader-content span::before {
  content: "";
  display: block;
  width: 45%;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, transparent, white, transparent);
  animation: loadingBar 1.2s infinite;
}

@keyframes loadingBar {
  from { transform: translateX(-100%); }
  to { transform: translateX(260%); }
}

@keyframes loaderEnter {
  from { opacity: 0; transform: translateY(18px) scale(.96); }
  to { opacity: 1; transform: translateY(0) scale(1); }
}

.about-section {
  position: relative;
  z-index: 2;
  width: min(1120px, calc(100% - 32px));
  margin: 0 auto 26px;
}

.about-card {
  padding: 28px;
  border-radius: 34px;
  background: rgba(12, 14, 20, .58);
  border: 1px solid rgba(255,255,255,.12);
  backdrop-filter: blur(20px);
  box-shadow: 0 30px 90px rgba(0,0,0,.35);
}

.about-card h2 {
  margin-top: 12px;
  font-size: clamp(32px, 5vw, 52px);
  letter-spacing: -2px;
}

.about-card p {
  max-width: 760px;
  color: rgba(255,255,255,.72);
  line-height: 1.6;
  margin-top: 10px;
}

.about-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 14px;
  margin-top: 22px;
}

.about-grid div {
  padding: 16px;
  border-radius: 20px;
  background: rgba(255,255,255,.07);
  border: 1px solid rgba(255,255,255,.10);
}

.about-grid strong,
.about-grid span {
  display: block;
}

.about-grid span {
  color: rgba(255,255,255,.65);
  margin-top: 5px;
  font-size: 14px;
}

.timeline-gallery {
  display: grid;
  gap: 28px;
}

.timeline-group h3 {
  margin: 6px 0 16px;
  font-size: 22px;
  color: rgba(255,255,255,.86);
}

.timeline-group .gallery {
  columns: 3 240px;
  column-gap: 15px;
}

.exif-box {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 8px;
  margin-top: 10px;
}

.exif-box span {
  padding: 7px 10px;
  border-radius: 999px;
  background: rgba(255,255,255,.09);
  border: 1px solid rgba(255,255,255,.12);
  color: rgba(255,255,255,.72);
  font-size: 12px;
}

.drop-zone {
  position: relative;
  display: grid;
  place-items: center;
  text-align: center;
  min-height: 160px;
  padding: 22px;
  border-radius: 24px;
  border: 1.5px dashed rgba(255,255,255,.28);
  background: rgba(255,255,255,.06);
  cursor: pointer;
  transition: .25s ease;
}

.drop-zone:hover,
.drop-zone.dragging {
  background: rgba(255,255,255,.12);
  border-color: rgba(255,255,255,.55);
  transform: translateY(-2px);
}

.drop-zone span {
  color: rgba(255,255,255,.62);
  margin-top: 6px;
}

.drop-zone input {
  position: absolute;
  inset: 0;
  opacity: 0;
  cursor: pointer;
}

.google-btn {
  border-radius: 16px !important;
  background: rgba(255,255,255,.10) !important;
  border: 1px solid rgba(255,255,255,.14) !important;
}

@media print {
  body {
    display: none !important;
  }
}

.protected-img {
  -webkit-user-drag: none;
  user-select: none;
}

@media (max-width: 760px) {
  .about-grid {
    grid-template-columns: 1fr;
  }
}

.exif-form {
  display: grid;
  gap: 14px;
  padding: 16px;
  border-radius: 22px;
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.12);
}

.exif-form h3 {
  font-size: 18px;
  margin-bottom: 2px;
}

.behind-shot {
  width: min(720px, 92vw);
  margin: 16px auto 0;
  padding: 16px;
  border-radius: 20px;
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.12);
  backdrop-filter: blur(14px);
}

.behind-shot h4 {
  font-size: 15px;
  margin-bottom: 6px;
  letter-spacing: .4px;
}

.behind-shot p {
  color: rgba(255,255,255,.70);
  line-height: 1.5;
}

.watermark-preview {
  position: absolute;
  right: 14px;
  bottom: 14px;
  padding: 7px 10px;
  border-radius: 999px;
  background: rgba(0,0,0,.42);
  color: rgba(255,255,255,.72);
  font-size: 12px;
  backdrop-filter: blur(10px);
}

/* V11 — Loading cinematográfico V9 + código de download */

.cinematic-loader {
  position: fixed;
  inset: 0;
  z-index: 9999;
  display: grid;
  place-items: center;
  background: rgba(0,0,0,.92);
  backdrop-filter: blur(22px);
  transition: opacity .65s ease, visibility .65s ease;
}

.cinematic-loader.hidden {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}

.loader-content {
  text-align: center;
  animation: loaderEnter .9s ease both;
}

.loader-logo {
  width: 88px;
  height: 88px;
  margin: 0 auto 18px;
  display: grid;
  place-items: center;
  border-radius: 28px;
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.14);
  box-shadow: 0 0 35px rgba(255,255,255,.12);
  font-size: 38px;
}

.loader-content h2 {
  font-size: clamp(32px, 6vw, 62px);
  letter-spacing: -2px;
}

.loader-content p {
  color: rgba(255,255,255,.65);
  margin-top: 8px;
  letter-spacing: 2px;
  text-transform: uppercase;
  font-size: 12px;
}

.loader-content span {
  display: block;
  width: 170px;
  height: 4px;
  border-radius: 999px;
  margin: 24px auto 0;
  overflow: hidden;
  background: rgba(255,255,255,.12);
}

.loader-content span::before {
  content: "";
  display: block;
  width: 45%;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, transparent, white, transparent);
  animation: loadingBar 1.2s infinite;
}

@keyframes loadingBar {
  from { transform: translateX(-100%); }
  to { transform: translateX(260%); }
}

@keyframes loaderEnter {
  from { opacity: 0; transform: translateY(18px) scale(.96); }
  to { opacity: 1; transform: translateY(0) scale(1); }
}

.download-code {
  display: inline-block;
  margin-top: 8px;
  padding: 7px 10px;
  border-radius: 999px;
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.12);
  color: rgba(255,255,255,.72);
  font-size: 12px;
}

.copy-code-btn {
  border: 1px solid rgba(255,255,255,.14);
  background: rgba(255,255,255,.08);
  color: white;
  padding: 9px 12px;
  border-radius: 12px;
  cursor: pointer;
  font-weight: bold;
  margin-right: 8px;
}

.copy-code-btn:hover {
  background: rgba(255,255,255,.16);
}


/* V12 — Modal premium para código de download */

.download-modal {
  position: fixed;
  inset: 0;
  z-index: 99999;
  display: grid;
  place-items: center;
  padding: 20px;
  background: rgba(0,0,0,.72);
  backdrop-filter: blur(14px);
  animation: modalFade .25s ease both;
}

.download-box {
  width: min(430px, 92vw);
  padding: 30px;
  border-radius: 30px;
  background: rgba(16,18,24,.96);
  border: 1px solid rgba(255,255,255,.13);
  box-shadow:
    0 30px 80px rgba(0,0,0,.48),
    inset 0 1px 0 rgba(255,255,255,.06);
  animation: modalShow .32s ease both;
}

.download-box span {
  display: inline-block;
  padding: 7px 12px;
  border-radius: 999px;
  background: rgba(255,255,255,.08);
  color: rgba(255,255,255,.72);
  font-size: 12px;
  border: 1px solid rgba(255,255,255,.10);
}

.download-box h3 {
  margin-top: 16px;
  font-size: 32px;
  letter-spacing: -1px;
}

.download-box p {
  margin-top: 8px;
  color: rgba(255,255,255,.62);
  line-height: 1.45;
}

.download-box input {
  width: 100%;
  margin-top: 22px;
  padding: 16px;
  border-radius: 18px;
  border: 1px solid rgba(255,255,255,.12);
  background: rgba(255,255,255,.06);
  color: white;
  font-size: 16px;
  outline: none;
  text-transform: uppercase;
  transition: .25s ease;
}

.download-box input:focus {
  border-color: rgba(255,255,255,.32);
  background: rgba(255,255,255,.10);
  box-shadow: 0 0 0 4px rgba(255,255,255,.05);
}

.download-box input.input-error {
  border-color: rgba(255,70,70,.55);
  box-shadow: 0 0 0 4px rgba(255,70,70,.10);
}

.download-error {
  min-height: 20px;
  margin-top: 8px;
  color: #ff8d8d;
  font-size: 13px;
}

.download-actions {
  display: flex;
  gap: 12px;
  margin-top: 16px;
}

.download-actions button {
  flex: 1;
  padding: 14px;
  border-radius: 16px;
  border: 1px solid rgba(255,255,255,.12);
  background: rgba(255,255,255,.08);
  color: white;
  cursor: pointer;
  font-weight: 700;
  transition: .25s ease;
}

.download-actions button:last-child {
  background: linear-gradient(135deg, rgba(255,255,255,.18), rgba(120,140,255,.34));
}

.download-actions button:hover {
  transform: translateY(-2px);
  background: rgba(255,255,255,.15);
}

@keyframes modalFade {
  from { opacity: 0; }
  to { opacity: 1; }
}

@keyframes modalShow {
  from {
    opacity: 0;
    transform: translateY(18px) scale(.96);
  }
  to {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}

/* V13 — Sobre animado, achievements, badge exclusiva e vídeos */

.about-animated,
.achievements-section {
  position: relative;
  z-index: 2;
  width: min(1120px, calc(100% - 32px));
  margin: 0 auto 28px;
}

.about-animated {
  overflow: hidden;
}

.about-orb {
  position: absolute;
  width: 280px;
  height: 280px;
  right: 8%;
  top: 10%;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(255,0,0,.22), rgba(120,140,255,.14), transparent 70%);
  filter: blur(18px);
  animation: floatOrb 5s ease-in-out infinite alternate;
  pointer-events: none;
}

.about-animated-card {
  position: relative;
  padding: 32px;
  border-radius: 36px;
  background: rgba(12,14,20,.58);
  border: 1px solid rgba(255,255,255,.12);
  backdrop-filter: blur(20px);
  box-shadow: 0 30px 90px rgba(0,0,0,.35);
  animation: aboutReveal .8s ease both;
}

.about-animated-card h2 {
  margin-top: 12px;
  font-size: clamp(34px, 6vw, 64px);
  letter-spacing: -3px;
}

.about-animated-card p {
  max-width: 760px;
  color: rgba(255,255,255,.72);
  line-height: 1.6;
  margin-top: 12px;
}

.about-stats {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 14px;
  margin-top: 24px;
}

.about-stats div,
.achievement-card {
  padding: 18px;
  border-radius: 22px;
  background: rgba(255,255,255,.07);
  border: 1px solid rgba(255,255,255,.10);
}

.about-stats strong {
  display: block;
  font-size: 26px;
}

.about-stats span {
  color: rgba(255,255,255,.62);
  font-size: 14px;
}

.section-title-mini {
  margin-bottom: 16px;
}

.section-title-mini h2 {
  margin-top: 10px;
  font-size: 34px;
  letter-spacing: -1px;
}

.achievements-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 14px;
}

.achievement-card {
  opacity: .45;
  filter: grayscale(1);
  transition: .25s ease;
}

.achievement-card.unlocked {
  opacity: 1;
  filter: grayscale(0);
  box-shadow: 0 18px 50px rgba(255,0,0,.10);
}

.achievement-card b {
  display: block;
  font-size: 24px;
  margin-bottom: 8px;
}

.achievement-card strong {
  display: block;
}

.achievement-card span {
  display: block;
  color: rgba(255,255,255,.62);
  font-size: 13px;
  margin-top: 5px;
}

.exclusive-badge {
  position: absolute;
  top: 12px;
  right: 12px;
  padding: 8px 11px;
  border-radius: 999px;
  background: linear-gradient(135deg, rgba(255,0,0,.82), rgba(120,0,0,.62));
  color: white;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .8px;
  box-shadow: 0 0 22px rgba(255,0,0,.28);
  z-index: 4;
}

.video-badge {
  position: absolute;
  top: 12px;
  left: 12px;
  width: 38px;
  height: 38px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: rgba(0,0,0,.52);
  border: 1px solid rgba(255,255,255,.14);
  backdrop-filter: blur(12px);
  color: white;
  z-index: 4;
}

.photo video {
  width: 100%;
  display: block;
  transition: .35s;
}

.photo:hover video {
  transform: scale(1.04);
  filter: brightness(.74) contrast(1.05);
}

.lightbox video {
  max-width: min(1100px, 92vw);
  max-height: 76vh;
  border-radius: 26px;
  box-shadow: 0 30px 90px rgba(0,0,0,.60);
}

@keyframes aboutReveal {
  from { opacity: 0; transform: translateY(20px) scale(.98); }
  to { opacity: 1; transform: translateY(0) scale(1); }
}

@keyframes floatOrb {
  from { transform: translateY(-12px) translateX(0); }
  to { transform: translateY(18px) translateX(-18px); }
}

@media (max-width: 860px) {
  .achievements-grid,
  .about-stats {
    grid-template-columns: 1fr;
  }
}


/* V14 — Limpeza e painel admin melhorado */

.achievements-section,
.achievements-grid,
.achievement-card,
.behind-shot {
  display: none !important;
}

.admin-tips {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 16px 0 20px;
}

.admin-tips span {
  padding: 8px 11px;
  border-radius: 999px;
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.12);
  color: rgba(255,255,255,.72);
  font-size: 13px;
}

.form-group-title {
  margin-top: 8px;
  padding-top: 16px;
  border-top: 1px solid rgba(255,255,255,.10);
  color: rgba(255,255,255,.85);
  font-weight: 800;
  letter-spacing: .4px;
}

.admin-card form label {
  margin-top: 2px;
}

.drop-zone strong {
  word-break: break-word;
}

.published-card .admin-photo {
  transition: .25s ease;
}

.published-card .admin-photo:hover {
  transform: translateY(-2px);
  background: rgba(255,255,255,.10);
}

.admin-header {
  align-items: center;
}

@media (max-width: 700px) {
  .admin-header {
    flex-direction: column;
    align-items: stretch;
  }
}


/* Badge protegido sem tampar o título */
.protected-badge {
  position: absolute !important;
  left: 14px !important;
  bottom: 14px !important;
  top: auto !important;
  right: auto !important;
  display: flex !important;
  align-items: center !important;
  gap: 6px !important;
  padding: 8px 14px !important;
  border-radius: 999px !important;
  background: rgba(0,0,0,.72) !important;
  backdrop-filter: blur(12px) !important;
  border: 1px solid rgba(255,255,255,.10) !important;
  color: white !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  z-index: 5 !important;
}

/* Dá espaço para o badge no conteúdo do card */
.photo .info {
  padding-bottom: 48px !important;
}

.photo-content,
.photo-info {
  padding-bottom: 70px !important;
}

/* Melhor responsividade */
@media (max-width: 980px) {
  .about-stats {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}

@media (max-width: 620px) {
  .about-stats {
    grid-template-columns: 1fr !important;
  }

  .about-stats div {
    min-height: 96px !important;
  }
}


/* V19 — Correções premium sem remover recursos */

/* SOBRE MIM */
.about-stats {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0,1fr)) !important;
  gap: 14px !important;
  margin-top: 24px !important;
}

.about-stats div {
  min-height: 118px !important;
  padding: 22px !important;
  border-radius: 24px !important;
  background: rgba(255,255,255,.06) !important;
  border: 1px solid rgba(255,255,255,.10) !important;
  backdrop-filter: blur(12px) !important;

  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
}

.about-stats strong {
  font-size: clamp(18px, 1.8vw, 26px) !important;
  line-height: 1.1 !important;
}

.about-stats span {
  margin-top: 8px !important;
  color: rgba(255,255,255,.65) !important;
}

/* CARD DAS FOTOS */
.photo {
  position: relative !important;
  overflow: hidden !important;
  border-radius: 28px !important;
}

.photo::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(
    to top,
    rgba(0,0,0,.82) 0%,
    rgba(0,0,0,.34) 35%,
    transparent 60%
  );
  pointer-events: none;
}

.photo .info,
.photo-info,
.photo-content {
  position: absolute !important;
  left: 16px !important;
  right: 16px !important;
  bottom: 16px !important;
  z-index: 6 !important;

  padding: 0 !important;
  background: transparent !important;
  border: none !important;
  backdrop-filter: none !important;
}

.photo .info strong,
.photo-info strong,
.photo-content strong {
  display: block !important;
  color: white !important;
  font-size: 22px !important;
  line-height: 1.15 !important;
  font-weight: 800 !important;

  max-width: calc(100% - 120px) !important;
  text-shadow: 0 4px 18px rgba(0,0,0,.45) !important;
}

.photo .info span,
.photo-info span,
.photo-content span {
  display: inline-block !important;
  margin-top: 6px !important;

  padding: 6px 10px !important;
  border-radius: 999px !important;

  background: rgba(255,255,255,.10) !important;
  border: 1px solid rgba(255,255,255,.08) !important;

  color: rgba(255,255,255,.78) !important;
  font-size: 11px !important;
  text-transform: capitalize !important;
  backdrop-filter: blur(12px) !important;
}

/* BOTÕES */
.photo-actions {
  position: absolute !important;
  top: 14px !important;
  left: 14px !important;
  display: flex !important;
  gap: 8px !important;
  z-index: 10 !important;
}

.like-btn,
.quick-download {
  width: 42px !important;
  height: 42px !important;
  border-radius: 50% !important;

  background: rgba(0,0,0,.48) !important;
  border: 1px solid rgba(255,255,255,.12) !important;
  color: white !important;

  display: flex !important;
  align-items: center !important;
  justify-content: center !important;

  backdrop-filter: blur(14px) !important;
}

/* BADGE PROTEGIDO */
.protected-badge,
.download-code-badge {
  position: absolute !important;
  top: 14px !important;
  right: 14px !important;
  z-index: 10 !important;

  padding: 8px 12px !important;
  border-radius: 999px !important;

  background: rgba(0,0,0,.50) !important;
  border: 1px solid rgba(255,255,255,.12) !important;

  color: white !important;
  font-size: 11px !important;
  font-weight: 800 !important;
  letter-spacing: .4px !important;

  backdrop-filter: blur(14px) !important;
}

/* RESPONSIVO */
@media (max-width: 980px) {
  .about-stats {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}

@media (max-width: 620px) {
  .about-stats {
    grid-template-columns: 1fr !important;
  }

  .photo .info strong,
  .photo-info strong,
  .photo-content strong {
    font-size: 18px !important;
    max-width: 100% !important;
  }
}


/* V20 — EXIF automático + manual */

.exif-box {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 8px;
  margin: 12px auto 0;
  width: min(760px, 92vw);
}

.exif-box span {
  padding: 8px 11px;
  border-radius: 999px;
  background: rgba(255,255,255,.09);
  border: 1px solid rgba(255,255,255,.12);
  color: rgba(255,255,255,.78);
  font-size: 12px;
  backdrop-filter: blur(12px);
}

.exif-box b {
  color: white;
  margin-right: 4px;
}

.exif-form {
  display: grid;
  gap: 14px;
  padding: 16px;
  border-radius: 22px;
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.12);
}

.exif-form h3 {
  font-size: 18px;
  margin-bottom: 0;
}

.exif-form p {
  color: rgba(255,255,255,.62);
  margin: -4px 0 4px;
  font-size: 13px;
}


/* V21 — Anti-print visual + Contrate-me em breve */

.hire-section {
  position: relative;
  z-index: 2;
  width: min(1120px, calc(100% - 32px));
  margin: 0 auto 28px;
}

.hire-card {
  position: relative;
  overflow: hidden;
  padding: 32px;
  border-radius: 36px;
  background:
    radial-gradient(circle at top right, rgba(255,0,0,.16), transparent 34%),
    rgba(12,14,20,.58);
  border: 1px solid rgba(255,255,255,.12);
  backdrop-filter: blur(20px);
  box-shadow: 0 30px 90px rgba(0,0,0,.35);
}

.hire-card h2 {
  margin-top: 12px;
  font-size: clamp(34px, 6vw, 60px);
  letter-spacing: -2px;
}

.hire-card p {
  max-width: 720px;
  margin-top: 12px;
  color: rgba(255,255,255,.72);
  line-height: 1.6;
}

.coming-soon-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-top: 22px;
  padding: 12px 18px;
  border-radius: 999px;
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.13);
  color: white;
  font-size: 13px;
  font-weight: 900;
  letter-spacing: 1.4px;
  box-shadow: 0 0 28px rgba(255,0,0,.16);
}

.anti-print-overlay {
  position: fixed;
  inset: 0;
  z-index: 999999;
  display: none;
  place-items: center;
  background: rgba(0,0,0,.92);
  backdrop-filter: blur(24px);
  color: white;
  font-size: clamp(26px, 5vw, 54px);
  font-weight: 900;
  letter-spacing: -1px;
  text-align: center;
}

body.protect-visual .anti-print-overlay {
  display: grid;
}

.protected-img,
.photo img,
.lightbox img {
  -webkit-user-drag: none;
  user-select: none;
}

@media print {
  body * {
    visibility: hidden !important;
  }

  body::before {
    content: "Conteúdo protegido";
    visibility: visible !important;
    position: fixed;
    inset: 0;
    display: grid;
    place-items: center;
    background: #000;
    color: #fff;
    font-size: 32px;
  }
}


/* force-loader-v23 */
#cinematicLoader.hidden,
.cinematic-loader.hidden {
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
  display: none !important;
}


/* V24 — Página Contrate-me separada */

.contract-page {
  min-height: 100vh;
}

.contract-wrapper {
  position: relative;
  z-index: 2;
  width: min(1120px, calc(100% - 32px));
  margin: 0 auto;
  padding: 42px 0 60px;
}

.back-home {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  margin-bottom: 26px;
  padding: 12px 16px;
  border-radius: 999px;
  color: white;
  text-decoration: none;
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.12);
  backdrop-filter: blur(16px);
  transition: .25s ease;
}

.back-home:hover {
  transform: translateY(-2px);
  background: rgba(255,255,255,.14);
}

.contract-hero {
  position: relative;
  overflow: hidden;
  min-height: 460px;
  padding: clamp(34px, 7vw, 70px);
  border-radius: 42px;
  background:
    radial-gradient(circle at top right, rgba(255,0,0,.20), transparent 34%),
    radial-gradient(circle at bottom left, rgba(120,140,255,.14), transparent 38%),
    rgba(12,14,20,.64);
  border: 1px solid rgba(255,255,255,.13);
  backdrop-filter: blur(22px);
  box-shadow: 0 35px 110px rgba(0,0,0,.42);
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.contract-hero::after {
  content: "";
  position: absolute;
  width: 340px;
  height: 340px;
  right: -80px;
  top: -80px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(255,255,255,.12), transparent 70%);
  filter: blur(10px);
  pointer-events: none;
}

.contract-hero h1 {
  margin-top: 18px;
  font-size: clamp(48px, 8vw, 96px);
  letter-spacing: -5px;
  line-height: .95;
}

.contract-hero p {
  max-width: 760px;
  margin-top: 22px;
  color: rgba(255,255,255,.72);
  font-size: 18px;
  line-height: 1.65;
}

.coming-soon-large {
  display: inline-flex;
  width: fit-content;
  align-items: center;
  justify-content: center;
  margin-top: 32px;
  padding: 15px 22px;
  border-radius: 999px;
  background: rgba(255,255,255,.09);
  border: 1px solid rgba(255,255,255,.14);
  color: white;
  font-size: 14px;
  font-weight: 900;
  letter-spacing: 1.8px;
  box-shadow: 0 0 38px rgba(255,0,0,.18);
}

.contract-cards {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
  margin-top: 20px;
}

.contract-cards div {
  padding: 24px;
  border-radius: 28px;
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.11);
  backdrop-filter: blur(18px);
  transition: .25s ease;
}

.contract-cards div:hover {
  transform: translateY(-4px);
  background: rgba(255,255,255,.10);
}

.contract-cards i {
  font-size: 26px;
  color: white;
}

.contract-cards h3 {
  margin-top: 16px;
  font-size: 22px;
}

.contract-cards p {
  margin-top: 8px;
  color: rgba(255,255,255,.64);
  line-height: 1.5;
}

@media (max-width: 800px) {
  .contract-cards {
    grid-template-columns: 1fr;
  }

  .contract-hero h1 {
    letter-spacing: -2px;
  }
}


/* V25 fix layout */

.social-icons {
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  gap: 14px !important;
  flex-wrap: wrap !important;
}

.about-animated {
  width: min(1120px, calc(100% - 32px)) !important;
  margin: 0 auto 30px !important;
}

.about-animated-card {
  padding: 34px !important;
}

.about-stats {
  display: grid !important;
  grid-template-columns: repeat(4,1fr) !important;
  gap: 14px !important;
  margin-top: 24px !important;
}

.about-stats div {
  padding: 22px !important;
  border-radius: 24px !important;
  background: rgba(255,255,255,.06) !important;
  border: 1px solid rgba(255,255,255,.10) !important;
}

.about-stats strong {
  display: block !important;
  font-size: 22px !important;
  line-height: 1.15 !important;
}

.about-stats span {
  display: block !important;
  margin-top: 8px !important;
  color: rgba(255,255,255,.66) !important;
}

.contract-page * {
  box-sizing: border-box !important;
}

.contract-wrapper {
  width: min(1120px, calc(100% - 32px)) !important;
  margin: 0 auto !important;
  padding: 40px 0 70px !important;
}

.contract-hero,
.contract-cards div {
  background: rgba(12,14,20,.72) !important;
}

.contract-cards {
  display: grid !important;
  grid-template-columns: repeat(3,1fr) !important;
  gap: 16px !important;
  margin-top: 18px !important;
}

.contract-cards div {
  padding: 24px !important;
  border-radius: 28px !important;
  border: 1px solid rgba(255,255,255,.10) !important;
}

.contract-cards h3 {
  margin-top: 14px !important;
}

@media (max-width: 900px) {
  .about-stats,
  .contract-cards {
    grid-template-columns: 1fr 1fr !important;
  }
}

@media (max-width: 640px) {
  .about-stats,
  .contract-cards {
    grid-template-columns: 1fr !important;
  }
}


/* V26 — Correção mobile do lightbox + anti-print visual */

html,
body {
  background: #030305 !important;
  min-height: 100%;
}

/* Lightbox mais seguro no celular */
.lightbox {
  position: fixed !important;
  inset: 0 !important;
  z-index: 99998 !important;

  width: 100vw !important;
  min-height: 100dvh !important;
  max-height: 100dvh !important;

  overflow-y: auto !important;
  overflow-x: hidden !important;

  padding: max(22px, env(safe-area-inset-top)) 14px max(34px, env(safe-area-inset-bottom)) !important;

  background: rgba(0,0,0,.96) !important;
  backdrop-filter: blur(18px) !important;
}

/* Quando abrir a foto, trava o fundo */
body.lightbox-open {
  overflow: hidden !important;
  touch-action: none !important;
}

/* Imagem no celular sem estourar */
.lightbox img {
  width: min(92vw, 760px) !important;
  max-width: 92vw !important;
  max-height: 68dvh !important;
  object-fit: contain !important;
  border-radius: 24px !important;
  margin-top: 48px !important;
  background: #050505 !important;
}

/* Vídeo também responsivo */
.lightbox video {
  width: min(92vw, 760px) !important;
  max-width: 92vw !important;
  max-height: 68dvh !important;
  object-fit: contain !important;
  border-radius: 24px !important;
  margin-top: 48px !important;
  background: #050505 !important;
}

/* X sempre visível */
#closeLightbox {
  position: fixed !important;
  top: max(14px, env(safe-area-inset-top)) !important;
  right: 14px !important;
  z-index: 100000 !important;

  width: 46px !important;
  height: 46px !important;

  display: flex !important;
  align-items: center !important;
  justify-content: center !important;

  border-radius: 50% !important;

  background: rgba(20,20,24,.82) !important;
  border: 1px solid rgba(255,255,255,.16) !important;
  color: white !important;

  font-size: 30px !important;
  line-height: 1 !important;
  font-weight: 400 !important;

  backdrop-filter: blur(16px) !important;
  box-shadow: 0 12px 40px rgba(0,0,0,.45) !important;
}

/* Texto do lightbox no mobile */
.lightbox h3,
#lightboxTitle {
  width: min(92vw, 760px) !important;
  margin: 18px auto 8px !important;
  text-align: center !important;
  font-size: clamp(24px, 7vw, 42px) !important;
  line-height: 1.1 !important;
}

.lightbox p,
#lightboxDesc {
  width: min(92vw, 720px) !important;
  margin-left: auto !important;
  margin-right: auto !important;
  text-align: center !important;
  color: rgba(255,255,255,.70) !important;
}

/* EXIF no celular */
.exif-box {
  width: min(92vw, 760px) !important;
  margin: 14px auto 0 !important;
  justify-content: center !important;
}

/* Anti-print visual mais forte */
.anti-print-overlay {
  position: fixed !important;
  inset: 0 !important;
  z-index: 999999 !important;
  display: none;
  place-items: center;
  background: rgba(0,0,0,.96) !important;
  backdrop-filter: blur(28px) !important;
  color: white !important;
  text-align: center !important;
  padding: 28px !important;
}

body.protect-visual .anti-print-overlay {
  display: grid !important;
}

body.protect-visual img,
body.protect-visual video,
body.protect-visual .gallery,
body.protect-visual .lightbox {
  filter: blur(26px) brightness(.15) !important;
}

@media (max-width: 640px) {
  .lightbox {
    align-items: flex-start !important;
  }

  .download-btn {
    margin-bottom: 26px !important;
  }
}


/* V29 loader fix */
.hidden,
.loader.hidden,
.intro-loader.hidden,
.cinematic-loader.hidden,
#loader.hidden,
#cinematicLoader.hidden {
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
  display: none !important;
}

body.loading {
  overflow: hidden;
}


/* V31 — Correção do ícone bugado no badge PROTEGIDO */

.download-code-badge,
.protected-badge {
  gap: 8px !important;
}

.download-code-badge::before,
.protected-badge::before {
  content: "▣" !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  width: 14px !important;
  height: 14px !important;

  font-size: 10px !important;
  line-height: 1 !important;

  color: rgba(255,255,255,.92) !important;
  opacity: .95 !important;

  background: transparent !important;
  box-shadow: none !important;
  margin: 0 !important;
  position: static !important;
}

/* impede ícones absolutos antigos atrás do badge */
.download-code-badge i,
.protected-badge i,
.download-code-badge svg,
.protected-badge svg {
  display: none !important;
}


/* V32 — Relatar bug + correção de hash da foto */

.bug-page {
  min-height: 100vh;
}

.bug-wrapper {
  position: relative;
  z-index: 2;
  width: min(900px, calc(100% - 32px));
  margin: 0 auto;
  padding: 42px 0 70px;
}

.bug-card {
  padding: clamp(28px, 5vw, 48px);
  border-radius: 38px;
  background:
    radial-gradient(circle at top right, rgba(255,0,0,.16), transparent 34%),
    rgba(12,14,20,.68);
  border: 1px solid rgba(255,255,255,.13);
  backdrop-filter: blur(22px);
  box-shadow: 0 35px 110px rgba(0,0,0,.42);
}

.bug-card h1 {
  margin-top: 16px;
  font-size: clamp(42px, 7vw, 76px);
  letter-spacing: -3px;
  line-height: .98;
}

.bug-card p {
  max-width: 720px;
  margin-top: 16px;
  color: rgba(255,255,255,.70);
  line-height: 1.6;
}

.bug-form {
  display: grid;
  gap: 16px;
  margin-top: 28px;
}

.bug-form label {
  display: grid;
  gap: 8px;
  color: rgba(255,255,255,.76);
  font-weight: 700;
}

.bug-form input,
.bug-form textarea {
  width: 100%;
  padding: 16px;
  border-radius: 18px;
  border: 1px solid rgba(255,255,255,.12);
  background: rgba(255,255,255,.07);
  color: white;
  outline: none;
  font: inherit;
}

.bug-form textarea {
  min-height: 150px;
  resize: vertical;
}

.bug-form input:focus,
.bug-form textarea:focus {
  border-color: rgba(255,255,255,.30);
  background: rgba(255,255,255,.10);
}

.bug-form button {
  width: fit-content;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 15px 20px;
  border-radius: 18px;
  border: 1px solid rgba(255,255,255,.14);
  background: rgba(255,255,255,.10);
  color: white;
  font-weight: 900;
  cursor: pointer;
  transition: .25s ease;
}

.bug-form button:hover {
  transform: translateY(-3px);
  background: rgba(255,255,255,.16);
}

#bugStatus {
  margin-top: 14px;
  color: rgba(255,255,255,.70);
}


/* V34 — Correção do badge EXCLUSIVO */

.exclusive-badge,
.exclusive-photo-badge {
  position: absolute !important;
  top: 14px !important;
  left: 14px !important;

  display: inline-flex !important;
  align-items: center !important;
  gap: 7px !important;

  padding: 9px 14px !important;

  border-radius: 999px !important;

  background: rgba(20,20,24,.72) !important;

  border: 1px solid rgba(255,255,255,.10) !important;

  color: white !important;

  font-size: 11px !important;
  font-weight: 800 !important;

  backdrop-filter: blur(18px) !important;

  box-shadow: 0 6px 18px rgba(0,0,0,.22) !important;

  z-index: 20 !important;
}

.exclusive-badge::before,
.exclusive-photo-badge::before {
  content: none !important;
}

.exclusive-badge i,
.exclusive-photo-badge i,
.exclusive-badge svg,
.exclusive-photo-badge svg {
  display: none !important;
}




/* V36 — remover sistema EXCLUSIVA */

.exclusive-badge,
.exclusive-photo-badge {
  display: none !important;
}


/* V37 — limpeza final de badges */

.exclusive-badge,
.exclusive-photo-badge,
.removed-exclusive-badge,
[class*="exclusive"] {
  display: none !important;
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

.download-code-badge,
.protected-badge {
  position: absolute !important;
  top: 14px !important;
  right: 14px !important;

  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  padding: 9px 14px !important;
  border-radius: 999px !important;

  background: rgba(45, 28, 20, .72) !important;
  border: 1px solid rgba(255,255,255,.10) !important;

  color: white !important;
  font-size: 11px !important;
  font-weight: 900 !important;
  letter-spacing: .6px !important;

  backdrop-filter: blur(16px) !important;
  box-shadow: 0 8px 22px rgba(0,0,0,.22) !important;

  z-index: 30 !important;
  width: auto !important;
  min-width: unset !important;
  max-width: fit-content !important;
}

.download-code-badge::before,
.protected-badge::before,
.download-code-badge::after,
.protected-badge::after {
  content: none !important;
  display: none !important;
}

.download-code-badge i,
.protected-badge i,
.download-code-badge svg,
.protected-badge svg {
  display: none !important;
}

/* remove quadradinhos/ícones pequenos que ficam dentro do badge */
.download-code-badge > *:not(span),
.protected-badge > *:not(span) {
  display: none !important;
}


/* V38 — Turnstile no Relatar Bug */

.bug-wrapper {
  position: relative !important;
  z-index: 2 !important;
  width: min(920px, calc(100% - 32px)) !important;
  margin: 0 auto !important;
  padding: 90px 0 80px !important;
}

.bug-card {
  padding: 42px !important;
  border-radius: 34px !important;
  background:
    radial-gradient(circle at top right, rgba(90,90,255,.10), transparent 35%),
    rgba(10,12,18,.74) !important;
  border: 1px solid rgba(255,255,255,.08) !important;
  backdrop-filter: blur(24px) !important;
  box-shadow: 0 30px 90px rgba(0,0,0,.38) !important;
  overflow: hidden !important;
}

.bug-card h1 {
  font-size: clamp(54px, 7vw, 86px) !important;
  line-height: .95 !important;
  letter-spacing: -4px !important;
  margin-bottom: 18px !important;
}

.bug-card p {
  color: rgba(255,255,255,.68) !important;
  line-height: 1.7 !important;
  margin-bottom: 28px !important;
}

.turnstile-wrapper {
  margin: 8px 0 4px;
  display: flex;
  justify-content: flex-start;
}

.hidden-field {
  position: absolute !important;
  left: -9999px !important;
  opacity: 0 !important;
  pointer-events: none !important;
  height: 0 !important;
  width: 0 !important;
}

#bugStatus {
  margin-top: 16px !important;
  color: rgba(255,255,255,.76) !important;
  font-weight: 600 !important;
}


/* V39 — Painel admin com edição e organização */

.admin-tools {
  display: grid;
  gap: 14px;
  margin: 20px 0;
}

.admin-tools input {
  width: 100%;
  padding: 15px 16px;
  border-radius: 18px;
  border: 1px solid rgba(255,255,255,.12);
  background: rgba(255,255,255,.07);
  color: white;
  outline: none;
}

.admin-filter-buttons {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}

.admin-filter-buttons button {
  padding: 10px 13px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.12);
  background: rgba(255,255,255,.07);
  color: rgba(255,255,255,.72);
  cursor: pointer;
  font-weight: 700;
  transition: .25s ease;
}

.admin-filter-buttons button.active,
.admin-filter-buttons button:hover {
  color: white;
  background: rgba(255,255,255,.14);
}

.admin-photo {
  display: grid !important;
  grid-template-columns: 92px 1fr auto !important;
  gap: 16px !important;
  align-items: center !important;
}

.admin-photo img,
.admin-photo video {
  width: 92px !important;
  height: 92px !important;
  object-fit: cover !important;
  border-radius: 18px !important;
  background: #050505 !important;
}

.admin-photo-info {
  display: grid;
  gap: 5px;
}

.admin-photo-info strong {
  color: white;
  font-size: 16px;
}

.admin-photo-info span {
  color: rgba(255,255,255,.62);
  font-size: 13px;
}

.admin-photo-actions {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  justify-content: flex-end;
}

.admin-photo-actions button,
.edit-actions button {
  padding: 10px 12px;
  border-radius: 13px;
  border: 1px solid rgba(255,255,255,.12);
  background: rgba(255,255,255,.08);
  color: white;
  cursor: pointer;
  font-weight: 800;
}

.edit-photo-btn {
  background: rgba(120,140,255,.18) !important;
}

.edit-modal {
  position: fixed;
  inset: 0;
  z-index: 999999;
  display: none;
  place-items: center;
  padding: 20px;
  background: rgba(0,0,0,.72);
  backdrop-filter: blur(18px);
}

.edit-modal.show {
  display: grid;
}

.edit-box {
  position: relative;
  width: min(680px, 94vw);
  max-height: 92vh;
  overflow-y: auto;
  padding: 30px;
  border-radius: 30px;
  background: rgba(14,16,22,.96);
  border: 1px solid rgba(255,255,255,.12);
  box-shadow: 0 30px 90px rgba(0,0,0,.48);
}

.edit-close {
  position: absolute;
  top: 18px;
  right: 18px;
  width: 42px;
  height: 42px;
  border-radius: 50%;
  border: 1px solid rgba(255,255,255,.12);
  background: rgba(255,255,255,.08);
  color: white;
  font-size: 26px;
  cursor: pointer;
}

.edit-box h2 {
  margin: 12px 0 18px;
  font-size: 34px;
}

.edit-box form {
  display: grid;
  gap: 14px;
}

.edit-box label {
  display: grid;
  gap: 8px;
  color: rgba(255,255,255,.76);
  font-weight: 700;
}

.edit-box input,
.edit-box textarea,
.edit-box select {
  width: 100%;
  padding: 14px;
  border-radius: 16px;
  border: 1px solid rgba(255,255,255,.12);
  background: rgba(255,255,255,.07);
  color: white;
  outline: none;
}

.edit-box textarea {
  min-height: 110px;
  resize: vertical;
}

.edit-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 12px;
}

.edit-actions {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}

#editMessage {
  color: rgba(255,255,255,.72);
  font-weight: 700;
}

@media (max-width: 760px) {
  .admin-photo {
    grid-template-columns: 1fr !important;
  }

  .admin-photo img,
  .admin-photo video {
    width: 100% !important;
    height: 190px !important;
  }

  .admin-photo-actions {
    justify-content: flex-start;
  }

  .edit-grid {
    grid-template-columns: 1fr;
  }
}


/* V40 — Aba Vídeos + correção dos botões em vídeos */

.photo video,
.gallery video,
.gallery-item video {
  width: 100% !important;
  display: block !important;
  object-fit: cover !important;
  position: relative !important;
  z-index: 1 !important;
  pointer-events: none !important;
}

.photo video::-webkit-media-controls,
.gallery video::-webkit-media-controls,
.gallery-item video::-webkit-media-controls {
  display: none !important;
  opacity: 0 !important;
}

.photo video::-webkit-media-controls-start-playback-button {
  display: none !important;
  opacity: 0 !important;
}

.photo-actions,
.like-btn,
.quick-download,
.download-code-badge,
.protected-badge {
  z-index: 40 !important;
}

.video-badge {
  display: none !important;
}


/* V41 — Modo manutenção */

.maintenance-overlay {
  position: fixed;
  inset: 0;
  z-index: 999998;
  display: none;
  place-items: center;
  padding: 24px;
  background:
    radial-gradient(circle at top, rgba(120,140,255,.12), transparent 36%),
    rgba(0,0,0,.94);
  backdrop-filter: blur(24px);
}

.maintenance-overlay.show {
  display: grid;
}

.maintenance-card {
  width: min(720px, 92vw);
  padding: clamp(32px, 6vw, 56px);
  border-radius: 38px;
  background:
    radial-gradient(circle at top right, rgba(255,0,0,.12), transparent 35%),
    rgba(12,14,20,.78);
  border: 1px solid rgba(255,255,255,.12);
  box-shadow: 0 35px 110px rgba(0,0,0,.55);
  text-align: center;
}

.maintenance-card h1 {
  margin-top: 16px;
  font-size: clamp(44px, 8vw, 82px);
  letter-spacing: -4px;
  line-height: .95;
}

.maintenance-card p {
  margin-top: 20px;
  color: rgba(255,255,255,.72);
  line-height: 1.7;
  font-size: 18px;
}

body.maintenance-active > *:not(.maintenance-overlay) {
  pointer-events: none;
}

#maintenanceForm {
  display: grid;
  gap: 14px;
  margin-top: 18px;
}

#maintenanceForm textarea {
  min-height: 120px;
  resize: vertical;
}

#maintenanceStatus {
  color: rgba(255,255,255,.72);
  font-weight: 700;
}


/* V45 — esconder manutenção antes do login */
#maintenancePanel.hidden-panel {
  display: none !important;
}


/* V45 — Visual cinematográfico urbano + premium minimalista */

:root {
  --bg-main: #030306;
  --bg-card: rgba(13, 15, 21, .58);
  --bg-card-strong: rgba(16, 18, 25, .70);
  --border-soft: rgba(255,255,255,.095);
  --text-soft: rgba(255,255,255,.68);
  --text-mid: rgba(255,255,255,.78);
  --shadow-soft: 0 26px 80px rgba(0,0,0,.34);
}

html,
body {
  background:
    radial-gradient(circle at 20% 12%, rgba(90, 95, 150, .09), transparent 28%),
    radial-gradient(circle at 82% 30%, rgba(100, 25, 40, .055), transparent 30%),
    linear-gradient(180deg, #040407, #020203 70%) !important;
  color: white !important;
}

.grain {
  opacity: .11 !important;
}

.blur-light.one,
.blur-light.two {
  opacity: .25 !important;
  filter: blur(90px) !important;
}

.hero {
  padding-top: 72px !important;
}

.hero-card,
.about-animated-card,
.container,
.admin-card,
.published-card,
.bug-card,
.contract-hero,
.contract-cards div,
.maintenance-card {
  background:
    linear-gradient(135deg, rgba(255,255,255,.055), rgba(255,255,255,.025)),
    var(--bg-card) !important;
  border: 1px solid var(--border-soft) !important;
  backdrop-filter: blur(24px) saturate(120%) !important;
  box-shadow: var(--shadow-soft) !important;
}

.hero-card {
  width: min(780px, calc(100% - 34px)) !important;
  border-radius: 34px !important;
  padding: clamp(34px, 5vw, 54px) !important;
}

.hero-card h1,
.about-animated-card h2,
.top h2,
.bug-card h1,
.contract-hero h1 {
  letter-spacing: -3.8px !important;
  text-shadow: none !important;
}

.hero-card p,
.about-animated-card p,
.top p,
.bug-card p,
.contract-hero p {
  color: var(--text-soft) !important;
}

.tag {
  background: rgba(255,255,255,.075) !important;
  border: 1px solid rgba(255,255,255,.12) !important;
  color: rgba(255,255,255,.78) !important;
  box-shadow: none !important;
}

.social-btn,
.music-btn,
.back-home,
.filters button,
.admin-filter-buttons button,
.download-btn,
.bug-form button,
.contract-cards div {
  background: rgba(255,255,255,.065) !important;
  border: 1px solid rgba(255,255,255,.105) !important;
  box-shadow: 0 14px 38px rgba(0,0,0,.22) !important;
  backdrop-filter: blur(18px) !important;
}

.social-btn {
  color: white !important;
  box-shadow:
    0 14px 34px rgba(0,0,0,.26),
    inset 0 1px 0 rgba(255,255,255,.07) !important;
}

.social-btn:hover,
.filters button:hover,
.filters button.active,
.admin-filter-buttons button.active,
.admin-filter-buttons button:hover {
  background: rgba(255,255,255,.115) !important;
  border-color: rgba(255,255,255,.18) !important;
  transform: translateY(-2px) !important;
}

.about-animated {
  margin-top: 46px !important;
}

.about-animated-card {
  border-radius: 34px !important;
  padding: clamp(28px, 5vw, 46px) !important;
}

.about-stats {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 14px !important;
}

.about-stats div {
  min-height: 112px !important;
  padding: 20px !important;
  border-radius: 22px !important;
  background:
    linear-gradient(135deg, rgba(255,255,255,.065), rgba(255,255,255,.028)) !important;
  border: 1px solid rgba(255,255,255,.09) !important;
  box-shadow: none !important;
}

.about-stats strong {
  color: rgba(255,255,255,.94) !important;
}

.about-stats span {
  color: rgba(255,255,255,.58) !important;
}

/* Galeria: fotos com mais destaque */
.gallery,
.timeline-gallery {
  gap: 22px !important;
}

.photo,
.gallery-item {
  border-radius: 28px !important;
  overflow: hidden !important;
  background: rgba(255,255,255,.04) !important;
  border: 1px solid rgba(255,255,255,.075) !important;
  box-shadow: 0 20px 56px rgba(0,0,0,.28) !important;
}

.photo img,
.photo video,
.gallery-item img,
.gallery-item video {
  filter: contrast(1.03) saturate(.96) !important;
}

.photo::after {
  background: linear-gradient(
    to top,
    rgba(0,0,0,.82) 0%,
    rgba(0,0,0,.36) 34%,
    transparent 62%
  ) !important;
}

/* Botões minimalistas */
.like-btn,
.quick-download,
.download-code-badge,
.protected-badge {
  background: rgba(14, 15, 18, .54) !important;
  border: 1px solid rgba(255,255,255,.10) !important;
  box-shadow:
    0 10px 26px rgba(0,0,0,.24),
    inset 0 1px 0 rgba(255,255,255,.06) !important;
  backdrop-filter: blur(16px) !important;
}

.download-code-badge,
.protected-badge {
  background: rgba(22, 20, 18, .58) !important;
  color: rgba(255,255,255,.95) !important;
  letter-spacing: .7px !important;
}

.download-code-badge::before,
.protected-badge::before,
.download-code-badge::after,
.protected-badge::after {
  content: none !important;
  display: none !important;
}

/* Inputs */
input,
textarea,
select {
  background: rgba(255,255,255,.055) !important;
  border: 1px solid rgba(255,255,255,.105) !important;
  color: white !important;
}

input:focus,
textarea:focus,
select:focus {
  border-color: rgba(255,255,255,.24) !important;
  box-shadow: 0 0 0 4px rgba(255,255,255,.045) !important;
}

/* Vermelho mais discreto */
.blur-light,
.toast,
.coming-soon-badge,
.coming-soon-large {
  box-shadow: none !important;
}

@media (max-width: 980px) {
  .about-stats {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 620px) {
  .hero {
    padding-top: 54px !important;
  }

  .about-stats {
    grid-template-columns: 1fr !important;
  }

  .hero-card h1,
  .about-animated-card h2 {
    letter-spacing: -2px !important;
  }
}


/* V46 — Apple / VisionOS glass style */

:root {
  --vision-bg: #030407;
  --vision-glass: rgba(255,255,255,.072);
  --vision-glass-strong: rgba(255,255,255,.105);
  --vision-border: rgba(255,255,255,.16);
  --vision-border-soft: rgba(255,255,255,.09);
  --vision-text: rgba(255,255,255,.92);
  --vision-muted: rgba(255,255,255,.64);
  --vision-shadow: 0 26px 80px rgba(0,0,0,.34);
}

html,
body {
  background:
    radial-gradient(circle at 18% 8%, rgba(145,165,255,.16), transparent 30%),
    radial-gradient(circle at 88% 18%, rgba(255,255,255,.075), transparent 28%),
    radial-gradient(circle at 50% 88%, rgba(90,105,180,.12), transparent 35%),
    linear-gradient(180deg, #05060a 0%, #020204 100%) !important;
}

.blur-light.one {
  background: rgba(140,160,255,.20) !important;
  opacity: .45 !important;
}

.blur-light.two {
  background: rgba(255,255,255,.08) !important;
  opacity: .35 !important;
}

.hero-card,
.about-animated-card,
.container,
.admin-card,
.published-card,
.bug-card,
.contract-hero,
.contract-cards div,
.maintenance-card,
.photo,
.gallery-item,
.lightbox img,
.lightbox video {
  background:
    linear-gradient(135deg, rgba(255,255,255,.105), rgba(255,255,255,.035)) !important;
  border: 1px solid var(--vision-border-soft) !important;
  backdrop-filter: blur(30px) saturate(150%) !important;
  -webkit-backdrop-filter: blur(30px) saturate(150%) !important;
  box-shadow:
    var(--vision-shadow),
    inset 0 1px 0 rgba(255,255,255,.13) !important;
}

.hero-card,
.about-animated-card,
.container {
  border-radius: 38px !important;
}

.hero-card {
  transform: translateZ(0);
  animation: visionFloatIn .8s ease both;
}

.about-animated-card {
  animation: visionFloatIn .9s ease both;
}

.hero-card h1,
.about-animated-card h2,
.top h2 {
  color: var(--vision-text) !important;
  letter-spacing: -4px !important;
}

.hero-card p,
.about-animated-card p,
.top p {
  color: var(--vision-muted) !important;
}

.about-animated-card > .tag,
.about-animated-card > span.tag {
  display: none !important;
}

.about-stats div {
  background:
    linear-gradient(135deg, rgba(255,255,255,.09), rgba(255,255,255,.035)) !important;
  border: 1px solid rgba(255,255,255,.11) !important;
  border-radius: 26px !important;
  box-shadow:
    0 18px 48px rgba(0,0,0,.20),
    inset 0 1px 0 rgba(255,255,255,.10) !important;
  transition: transform .28s ease, background .28s ease, border-color .28s ease;
}

.about-stats div:hover {
  transform: translateY(-4px);
  background: rgba(255,255,255,.11) !important;
  border-color: rgba(255,255,255,.18) !important;
}

.social-btn,
.music-btn,
.filters button,
.admin-filter-buttons button,
.download-btn,
.back-home,
.bug-form button,
.edit-actions button,
.admin-photo-actions button {
  background:
    linear-gradient(135deg, rgba(255,255,255,.105), rgba(255,255,255,.04)) !important;
  border: 1px solid rgba(255,255,255,.13) !important;
  backdrop-filter: blur(22px) saturate(140%) !important;
  -webkit-backdrop-filter: blur(22px) saturate(140%) !important;
  box-shadow:
    0 14px 36px rgba(0,0,0,.22),
    inset 0 1px 0 rgba(255,255,255,.11) !important;
  transition: transform .24s ease, background .24s ease, border-color .24s ease;
}

.social-btn:hover,
.music-btn:hover,
.filters button:hover,
.filters button.active,
.admin-filter-buttons button:hover,
.admin-filter-buttons button.active,
.download-btn:hover,
.back-home:hover {
  transform: translateY(-3px) scale(1.02) !important;
  background: rgba(255,255,255,.14) !important;
  border-color: rgba(255,255,255,.22) !important;
}

.photo,
.gallery-item {
  transition:
    transform .32s ease,
    box-shadow .32s ease,
    border-color .32s ease,
    filter .32s ease !important;
}

.photo:hover,
.gallery-item:hover {
  transform: translateY(-6px) scale(1.01) !important;
  border-color: rgba(255,255,255,.18) !important;
  box-shadow:
    0 34px 90px rgba(0,0,0,.40),
    inset 0 1px 0 rgba(255,255,255,.13) !important;
}

.photo img,
.photo video,
.gallery-item img,
.gallery-item video {
  transition: transform .45s ease, filter .45s ease !important;
}

.photo:hover img,
.photo:hover video,
.gallery-item:hover img,
.gallery-item:hover video {
  transform: scale(1.035) !important;
  filter: contrast(1.04) saturate(1.02) brightness(.94) !important;
}

.like-btn,
.quick-download,
.download-code-badge,
.protected-badge {
  background: rgba(255,255,255,.105) !important;
  border: 1px solid rgba(255,255,255,.15) !important;
  backdrop-filter: blur(24px) saturate(160%) !important;
  -webkit-backdrop-filter: blur(24px) saturate(160%) !important;
  box-shadow:
    0 12px 34px rgba(0,0,0,.26),
    inset 0 1px 0 rgba(255,255,255,.12) !important;
}

.download-code-badge,
.protected-badge {
  color: rgba(255,255,255,.92) !important;
  background: rgba(15,16,20,.46) !important;
}

input,
textarea,
select {
  background: rgba(255,255,255,.08) !important;
  border: 1px solid rgba(255,255,255,.13) !important;
  backdrop-filter: blur(18px) !important;
}

input:focus,
textarea:focus,
select:focus {
  background: rgba(255,255,255,.115) !important;
  border-color: rgba(255,255,255,.25) !important;
  box-shadow: 0 0 0 5px rgba(255,255,255,.055) !important;
}

.cinematic-loader {
  background:
    radial-gradient(circle at 50% 20%, rgba(160,180,255,.18), transparent 38%),
    rgba(0,0,0,.92) !important;
}

.loader-logo {
  background: rgba(255,255,255,.10) !important;
  border: 1px solid rgba(255,255,255,.16) !important;
  backdrop-filter: blur(24px) !important;
}

@keyframes visionFloatIn {
  from {
    opacity: 0;
    transform: translateY(18px) scale(.985);
  }
  to {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}

@media (prefers-reduced-motion: reduce) {
  .hero-card,
  .about-animated-card,
  .photo,
  .gallery-item,
  .social-btn,
  .filters button {
    animation: none !important;
    transition: none !important;
  }
}


/* V47 — Animações de entrada */

body {
  animation: pageFadeIn 1s ease forwards;
}

.hero-card,
.about-animated-card,
.top,
.filters,
.timeline-gallery,
.gallery,
footer {
  opacity: 0;
  transform: translateY(24px) scale(.985);
  filter: blur(12px);
  animation: visionReveal .95s cubic-bezier(.22,.9,.24,1) forwards;
}

.hero-card {
  animation-delay: .12s;
}

.about-animated-card {
  animation-delay: .28s;
}

.top {
  animation-delay: .42s;
}

.filters {
  animation-delay: .55s;
}

.timeline-gallery,
.gallery {
  animation-delay: .68s;
}

footer {
  animation-delay: .9s;
}

.photo,
.gallery-item {
  opacity: 0;
  transform: translateY(18px) scale(.985);
  animation: photoReveal .75s cubic-bezier(.22,.9,.24,1) forwards;
}

.photo:nth-child(1),
.gallery-item:nth-child(1) { animation-delay: .12s; }

.photo:nth-child(2),
.gallery-item:nth-child(2) { animation-delay: .18s; }

.photo:nth-child(3),
.gallery-item:nth-child(3) { animation-delay: .24s; }

.photo:nth-child(4),
.gallery-item:nth-child(4) { animation-delay: .30s; }

.photo:nth-child(5),
.gallery-item:nth-child(5) { animation-delay: .36s; }

.photo:nth-child(6),
.gallery-item:nth-child(6) { animation-delay: .42s; }

.social-btn {
  opacity: 0;
  transform: translateY(10px);
  animation: socialReveal .55s ease forwards;
}

.social-btn:nth-child(1) { animation-delay: .32s; }
.social-btn:nth-child(2) { animation-delay: .38s; }
.social-btn:nth-child(3) { animation-delay: .44s; }
.social-btn:nth-child(4) { animation-delay: .50s; }
.social-btn:nth-child(5) { animation-delay: .56s; }

@keyframes pageFadeIn {
  from {
    background-position: center top;
    opacity: .96;
  }
  to {
    opacity: 1;
  }
}

@keyframes visionReveal {
  from {
    opacity: 0;
    transform: translateY(24px) scale(.985);
    filter: blur(14px);
  }

  to {
    opacity: 1;
    transform: translateY(0) scale(1);
    filter: blur(0);
  }
}

@keyframes photoReveal {
  from {
    opacity: 0;
    transform: translateY(18px) scale(.985);
    filter: blur(10px);
  }

  to {
    opacity: 1;
    transform: translateY(0) scale(1);
    filter: blur(0);
  }
}

@keyframes socialReveal {
  from {
    opacity: 0;
    transform: translateY(10px) scale(.94);
  }

  to {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}

@media (prefers-reduced-motion: reduce) {
  body,
  .hero-card,
  .about-animated-card,
  .top,
  .filters,
  .timeline-gallery,
  .gallery,
  footer,
  .photo,
  .gallery-item,
  .social-btn {
    animation: none !important;
    opacity: 1 !important;
    transform: none !important;
    filter: none !important;
  }
}


/* V48 — Timeline visual, vídeos cinematográficos, glow e proteção */

.dynamic-glow {
  position: fixed;
  inset: -20%;
  z-index: 0;
  pointer-events: none;
  opacity: 0;
  background:
    radial-gradient(circle at 50% 35%, var(--glow-color, rgba(140,160,255,.20)), transparent 42%);
  filter: blur(34px);
  transition: opacity .65s ease, background .65s ease;
}

.dynamic-glow.active {
  opacity: 1;
}

.timeline-gallery {
  display: grid;
  gap: 34px;
}

.timeline-year {
  position: relative;
  display: grid;
  gap: 18px;
}

.timeline-year-header {
  display: flex;
  align-items: center;
  gap: 14px;
  color: white;
}

.timeline-year-header span {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: rgba(255,255,255,.72);
  box-shadow: 0 0 24px rgba(255,255,255,.25);
}

.timeline-year-header h3 {
  font-size: clamp(30px, 5vw, 56px);
  letter-spacing: -2px;
}

.timeline-year-header p {
  color: rgba(255,255,255,.58);
  margin-left: auto;
}

.timeline-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
  gap: 18px;
}

.timeline-photo {
  min-height: 360px;
  cursor: pointer;
}

.timeline-photo img,
.timeline-photo video {
  height: 100%;
  min-height: 360px;
  object-fit: cover;
}

.cinema-video-badge {
  position: absolute;
  top: 14px;
  right: 14px;
  z-index: 45;
  padding: 8px 12px;
  border-radius: 999px;
  background: rgba(255,255,255,.10);
  border: 1px solid rgba(255,255,255,.14);
  color: white;
  font-size: 10px;
  font-weight: 900;
  letter-spacing: 1.2px;
  backdrop-filter: blur(18px);
}

.timeline-photo .download-code-badge + .cinema-video-badge {
  right: auto;
  left: 14px;
}

.cinematic-video-player {
  background: black;
  animation: cinematicVideoIn .55s ease both;
}

@keyframes cinematicVideoIn {
  from {
    opacity: 0;
    filter: blur(14px) brightness(.7);
    transform: scale(.985);
  }

  to {
    opacity: 1;
    filter: blur(0) brightness(1);
    transform: scale(1);
  }
}

/* Watermark invisível/dinâmica */
.invisible-watermark {
  position: fixed;
  left: -9999px;
  top: -9999px;
  opacity: .015;
  pointer-events: none;
  user-select: none;
}

.dynamic-watermark {
  position: absolute;
  right: 14px;
  bottom: 78px;
  z-index: 10;
  padding: 7px 10px;
  border-radius: 999px;
  background: rgba(0,0,0,.30);
  border: 1px solid rgba(255,255,255,.08);
  color: rgba(255,255,255,.34);
  font-size: 11px;
  font-weight: 700;
  backdrop-filter: blur(14px);
  pointer-events: none;
  user-select: none;
}

/* Proteção visual */
body.protect-visual img,
body.protect-visual video,
body.protect-visual .gallery,
body.protect-visual .timeline-gallery,
body.protect-visual .lightbox {
  filter: blur(24px) brightness(.18) !important;
}

body.protect-visual .anti-print-overlay {
  display: grid !important;
}

/* Vídeo no card sem controles nativos */
.timeline-photo video,
.photo video,
.gallery video {
  pointer-events: none;
}

.timeline-photo video::-webkit-media-controls,
.photo video::-webkit-media-controls,
.gallery video::-webkit-media-controls {
  display: none !important;
  opacity: 0 !important;
}

@media (max-width: 680px) {
  .timeline-grid {
    grid-template-columns: 1fr;
  }

  .timeline-year-header {
    align-items: flex-start;
    flex-direction: column;
    gap: 6px;
  }

  .timeline-year-header p {
    margin-left: 0;
  }
}


/* V49 — Correção mobile, registros e watermark */

#invisibleWatermark,
.invisible-watermark {
  display: none !important;
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
  position: absolute !important;
  left: -999999px !important;
  top: -999999px !important;
  width: 0 !important;
  height: 0 !important;
  overflow: hidden !important;
}

.timeline-gallery {
  display: grid !important;
  gap: 34px !important;
  width: 100% !important;
}

.timeline-grid {
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)) !important;
  gap: 18px !important;
}

.timeline-photo {
  min-height: 360px !important;
}

.timeline-photo img,
.timeline-photo video {
  width: 100% !important;
  height: 100% !important;
  min-height: 360px !important;
  object-fit: cover !important;
}

@media (max-width: 680px) {
  .timeline-grid {
    grid-template-columns: 1fr !important;
  }

  .timeline-photo {
    min-height: 420px !important;
  }

  .timeline-photo img,
  .timeline-photo video {
    min-height: 420px !important;
  }

  .timeline-year-header {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 6px !important;
  }

  .timeline-year-header h3 {
    font-size: 38px !important;
  }

  .timeline-year-header p {
    margin-left: 0 !important;
  }
}


/* V51 — Animação das abas/cards principais */

.hero-card,
.about-animated-card,
.container {
  opacity: 0;
  transform: translateY(28px) scale(.975);
  filter: blur(14px);
  animation: v51SectionReveal .95s cubic-bezier(.22,.9,.24,1) forwards;
}

.hero-card {
  animation-delay: .12s;
}

.about-animated-card {
  animation-delay: .34s;
}

.container {
  animation-delay: .55s;
}

.about-stats div {
  opacity: 0;
  transform: translateY(20px) scale(.96);
  filter: blur(10px);
  animation: v51CardReveal .75s cubic-bezier(.22,.9,.24,1) forwards;
}

.about-stats div:nth-child(1) {
  animation-delay: .62s;
}

.about-stats div:nth-child(2) {
  animation-delay: .72s;
}

.about-stats div:nth-child(3) {
  animation-delay: .82s;
}

.about-stats div:nth-child(4) {
  animation-delay: .92s;
}

.social-btn {
  opacity: 0;
  transform: translateY(12px) scale(.90);
  filter: blur(6px);
  animation: v51IconReveal .55s cubic-bezier(.22,.9,.24,1) forwards;
}

.social-btn:nth-child(1) { animation-delay: .42s; }
.social-btn:nth-child(2) { animation-delay: .50s; }
.social-btn:nth-child(3) { animation-delay: .58s; }
.social-btn:nth-child(4) { animation-delay: .66s; }
.social-btn:nth-child(5) { animation-delay: .74s; }

.filters button {
  opacity: 0;
  transform: translateY(14px) scale(.94);
  animation: v51FilterReveal .55s ease forwards;
}

.filters button:nth-child(1) { animation-delay: .72s; }
.filters button:nth-child(2) { animation-delay: .80s; }
.filters button:nth-child(3) { animation-delay: .88s; }
.filters button:nth-child(4) { animation-delay: .96s; }
.filters button:nth-child(5) { animation-delay: 1.04s; }
.filters button:nth-child(6) { animation-delay: 1.12s; }

.timeline-year,
.timeline-photo {
  opacity: 0;
  transform: translateY(22px) scale(.985);
  filter: blur(10px);
  animation: v51CardReveal .75s cubic-bezier(.22,.9,.24,1) forwards;
}

.timeline-year:nth-child(1) { animation-delay: .85s; }
.timeline-year:nth-child(2) { animation-delay: .98s; }
.timeline-year:nth-child(3) { animation-delay: 1.11s; }

.timeline-photo:nth-child(1) { animation-delay: .90s; }
.timeline-photo:nth-child(2) { animation-delay: .98s; }
.timeline-photo:nth-child(3) { animation-delay: 1.06s; }
.timeline-photo:nth-child(4) { animation-delay: 1.14s; }
.timeline-photo:nth-child(5) { animation-delay: 1.22s; }
.timeline-photo:nth-child(6) { animation-delay: 1.30s; }

@keyframes v51SectionReveal {
  from {
    opacity: 0;
    transform: translateY(28px) scale(.975);
    filter: blur(14px);
  }

  to {
    opacity: 1;
    transform: translateY(0) scale(1);
    filter: blur(0);
  }
}

@keyframes v51CardReveal {
  from {
    opacity: 0;
    transform: translateY(20px) scale(.96);
    filter: blur(10px);
  }

  to {
    opacity: 1;
    transform: translateY(0) scale(1);
    filter: blur(0);
  }
}

@keyframes v51IconReveal {
  from {
    opacity: 0;
    transform: translateY(12px) scale(.90);
    filter: blur(6px);
  }

  to {
    opacity: 1;
    transform: translateY(0) scale(1);
    filter: blur(0);
  }
}

@keyframes v51FilterReveal {
  from {
    opacity: 0;
    transform: translateY(14px) scale(.94);
  }

  to {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}

/* efeito premium ao passar o mouse */
.about-stats div,
.hero-card,
.about-animated-card,
.container {
  transition:
    transform .28s ease,
    border-color .28s ease,
    background .28s ease,
    box-shadow .28s ease;
}

.about-stats div:hover {
  transform: translateY(-5px) scale(1.015);
}

@media (prefers-reduced-motion: reduce) {
  .hero-card,
  .about-animated-card,
  .container,
  .about-stats div,
  .social-btn,
  .filters button,
  .timeline-year,
  .timeline-photo {
    animation: none !important;
    opacity: 1 !important;
    transform: none !important;
    filter: none !important;
  }
}


/* V52 — Animação forçada por classe JS */

body:not(.page-ready) .hero-card,
body:not(.page-ready) .about-animated-card,
body:not(.page-ready) .container,
body:not(.page-ready) .about-stats div,
body:not(.page-ready) .social-btn,
body:not(.page-ready) .filters button {
  opacity: 0 !important;
  transform: translateY(32px) scale(.965) !important;
  filter: blur(16px) !important;
}

body.page-ready .hero-card {
  animation: v52GlassEnter .9s cubic-bezier(.18,.95,.22,1) .08s both !important;
}

body.page-ready .about-animated-card {
  animation: v52GlassEnter .9s cubic-bezier(.18,.95,.22,1) .26s both !important;
}

body.page-ready .container {
  animation: v52GlassEnter .9s cubic-bezier(.18,.95,.22,1) .44s both !important;
}

body.page-ready .about-stats div {
  animation: v52SmallCardEnter .7s cubic-bezier(.18,.95,.22,1) both !important;
}

body.page-ready .about-stats div:nth-child(1) { animation-delay: .50s !important; }
body.page-ready .about-stats div:nth-child(2) { animation-delay: .60s !important; }
body.page-ready .about-stats div:nth-child(3) { animation-delay: .70s !important; }
body.page-ready .about-stats div:nth-child(4) { animation-delay: .80s !important; }

body.page-ready .social-btn {
  animation: v52IconPop .55s cubic-bezier(.18,.95,.22,1) both !important;
}

body.page-ready .social-btn:nth-child(1) { animation-delay: .32s !important; }
body.page-ready .social-btn:nth-child(2) { animation-delay: .40s !important; }
body.page-ready .social-btn:nth-child(3) { animation-delay: .48s !important; }
body.page-ready .social-btn:nth-child(4) { animation-delay: .56s !important; }
body.page-ready .social-btn:nth-child(5) { animation-delay: .64s !important; }

body.page-ready .filters button {
  animation: v52FilterEnter .55s ease both !important;
}

body.page-ready .filters button:nth-child(1) { animation-delay: .62s !important; }
body.page-ready .filters button:nth-child(2) { animation-delay: .70s !important; }
body.page-ready .filters button:nth-child(3) { animation-delay: .78s !important; }
body.page-ready .filters button:nth-child(4) { animation-delay: .86s !important; }
body.page-ready .filters button:nth-child(5) { animation-delay: .94s !important; }
body.page-ready .filters button:nth-child(6) { animation-delay: 1.02s !important; }

@keyframes v52GlassEnter {
  0% {
    opacity: 0;
    transform: translateY(36px) scale(.955);
    filter: blur(18px);
  }

  60% {
    opacity: 1;
    transform: translateY(-4px) scale(1.01);
    filter: blur(0);
  }

  100% {
    opacity: 1;
    transform: translateY(0) scale(1);
    filter: blur(0);
  }
}

@keyframes v52SmallCardEnter {
  0% {
    opacity: 0;
    transform: translateY(24px) scale(.94);
    filter: blur(12px);
  }

  100% {
    opacity: 1;
    transform: translateY(0) scale(1);
    filter: blur(0);
  }
}

@keyframes v52IconPop {
  0% {
    opacity: 0;
    transform: translateY(16px) scale(.82);
    filter: blur(8px);
  }

  70% {
    opacity: 1;
    transform: translateY(-3px) scale(1.08);
    filter: blur(0);
  }

  100% {
    opacity: 1;
    transform: translateY(0) scale(1);
    filter: blur(0);
  }
}

@keyframes v52FilterEnter {
  from {
    opacity: 0;
    transform: translateY(18px) scale(.92);
    filter: blur(8px);
  }

  to {
    opacity: 1;
    transform: translateY(0) scale(1);
    filter: blur(0);
  }
}


/* V53 — animação segura */
body:not(.page-ready) .hero-card,
body:not(.page-ready) .about-animated-card,
body:not(.page-ready) .container {
  opacity: 1;
  transform: none;
  filter: none;
}

body.page-ready .hero-card,
body.page-ready .about-animated-card,
body.page-ready .container {
  opacity: 1 !important;
}


/* V56 — galeria clicável e visível */

.gallery {
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)) !important;
  gap: 22px !important;
  width: 100% !important;
}

.photo {
  cursor: pointer !important;
  position: relative !important;
  min-height: 360px !important;
  overflow: hidden !important;
}

.photo img,
.photo video {
  width: 100% !important;
  height: 100% !important;
  min-height: 360px !important;
  object-fit: cover !important;
  display: block !important;
  pointer-events: none !important;
}

.photo-actions,
.like-btn,
.quick-download,
.download-code-badge,
.protected-badge {
  pointer-events: auto !important;
}

.timeline-gallery {
  display: none !important;
}


/* V57 — Comunidade, contas, loja e perfis */

.hidden {
  display: none !important;
}

.community-wrapper,
.store-wrapper,
.profile-wrapper {
  position: relative;
  z-index: 2;
  width: min(1180px, calc(100% - 32px));
  margin: 0 auto;
  padding: 42px 0 70px;
}

.community-hero,
.store-hero,
.profile-apple-card,
.community-card,
.community-post,
.product-card,
.library-item,
.store-empty {
  background:
    linear-gradient(135deg, rgba(255,255,255,.10), rgba(255,255,255,.035));
  border: 1px solid rgba(255,255,255,.12);
  backdrop-filter: blur(26px) saturate(150%);
  -webkit-backdrop-filter: blur(26px) saturate(150%);
  box-shadow:
    0 26px 80px rgba(0,0,0,.34),
    inset 0 1px 0 rgba(255,255,255,.12);
  border-radius: 34px;
}

.community-hero,
.store-hero,
.profile-apple-card {
  padding: clamp(32px, 6vw, 64px);
  margin-bottom: 22px;
}

.community-hero h1,
.store-hero h1,
.profile-apple-card h1 {
  margin-top: 16px;
  font-size: clamp(44px, 8vw, 92px);
  line-height: .95;
  letter-spacing: -4px;
}

.community-hero p,
.store-hero p,
.profile-apple-card p {
  color: rgba(255,255,255,.68);
  max-width: 780px;
  line-height: 1.7;
  margin-top: 18px;
}

.community-auth-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 18px;
  margin-bottom: 28px;
}

.community-card {
  padding: 26px;
}

.community-card h2 {
  margin: 12px 0 18px;
  font-size: 30px;
}

.community-card form,
.bug-form,
#communityPostForm {
  display: grid;
  gap: 14px;
}

.community-card label {
  display: grid;
  gap: 8px;
  color: rgba(255,255,255,.74);
  font-weight: 700;
}

.community-card input,
.community-card textarea,
.community-card select {
  width: 100%;
  padding: 14px;
  border-radius: 16px;
  border: 1px solid rgba(255,255,255,.12);
  background: rgba(255,255,255,.07);
  color: white;
  outline: none;
}

.community-card textarea {
  min-height: 100px;
  resize: vertical;
}

.community-card button,
.product-card button,
.library-item a {
  width: fit-content;
  padding: 13px 16px;
  border-radius: 16px;
  border: 1px solid rgba(255,255,255,.13);
  background: rgba(255,255,255,.09);
  color: white;
  font-weight: 900;
  cursor: pointer;
  text-decoration: none;
}

.community-feed-section {
  margin-top: 18px;
}

.section-title {
  margin: 26px 0 18px;
}

.section-title h2 {
  font-size: clamp(34px, 5vw, 60px);
  letter-spacing: -2px;
}

.section-title p {
  color: rgba(255,255,255,.62);
}

.community-feed,
.products-grid,
.library-box {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
  gap: 18px;
}

.community-post {
  overflow: hidden;
}

.community-author {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 16px;
}

.avatar {
  width: 44px;
  height: 44px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: rgba(255,255,255,.12);
  border: 1px solid rgba(255,255,255,.12);
  font-weight: 900;
}

.community-author strong {
  display: flex;
  align-items: center;
  gap: 7px;
}

.community-author span {
  display: block;
  color: rgba(255,255,255,.55);
  font-size: 13px;
}

.verified-badge {
  display: inline-grid;
  place-items: center;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background: linear-gradient(135deg, #4aa3ff, #0868ff);
  color: white;
  font-size: 12px;
  font-weight: 900;
  box-shadow: 0 0 18px rgba(70,145,255,.45);
}

.community-media img,
.community-media video,
.product-card img {
  width: 100%;
  height: 360px;
  object-fit: cover;
  display: block;
}

.community-post-content {
  padding: 16px;
}

.community-post-content p {
  color: rgba(255,255,255,.78);
  line-height: 1.55;
}

.community-actions {
  display: flex;
  gap: 8px;
  margin-top: 14px;
}

.community-actions button {
  padding: 10px 12px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.11);
  background: rgba(255,255,255,.08);
  color: white;
  font-weight: 800;
  cursor: pointer;
}

.comments-box {
  display: none;
  margin-top: 14px;
  padding-top: 14px;
  border-top: 1px solid rgba(255,255,255,.09);
}

.comments-box.show {
  display: grid;
  gap: 12px;
}

.comment-item {
  display: grid;
  gap: 4px;
  padding: 10px;
  border-radius: 14px;
  background: rgba(255,255,255,.06);
}

.comment-item strong {
  display: flex;
  gap: 7px;
  align-items: center;
}

.comment-item span,
.muted {
  color: rgba(255,255,255,.66);
}

.comment-form {
  display: flex;
  gap: 8px;
}

.comment-form input {
  flex: 1;
}

.product-card,
.library-item,
.store-empty {
  padding: 22px;
  overflow: hidden;
}

.product-card {
  display: grid;
  gap: 16px;
}

.product-card h3,
.library-item h3,
.store-empty h3 {
  font-size: 24px;
  margin: 10px 0;
}

.product-card p,
.library-item p,
.store-empty p {
  color: rgba(255,255,255,.65);
  line-height: 1.6;
}

.product-card strong {
  display: block;
  margin: 14px 0;
  font-size: 22px;
}

.profile-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 14px;
  margin-top: 28px;
}

.profile-grid div {
  padding: 20px;
  border-radius: 24px;
  background: rgba(255,255,255,.07);
  border: 1px solid rgba(255,255,255,.10);
}

.profile-grid h3 {
  margin-bottom: 8px;
}

@media (max-width: 820px) {
  .community-auth-grid,
  .profile-grid {
    grid-template-columns: 1fr;
  }

  .community-feed,
  .products-grid,
  .library-box {
    grid-template-columns: 1fr;
  }

  .community-media img,
  .community-media video {
    height: 420px;
  }
}


/* V58 — Navbar flutuante VisionOS */

.floating-nav {
  position: fixed;
  top: 22px;
  right: 24px;
  z-index: 9990;

  display: flex;
  align-items: center;
  gap: 8px;

  padding: 8px;

  border-radius: 999px;

  background:
    linear-gradient(135deg, rgba(255,255,255,.12), rgba(255,255,255,.045));

  border: 1px solid rgba(255,255,255,.14);

  backdrop-filter: blur(26px) saturate(160%);
  -webkit-backdrop-filter: blur(26px) saturate(160%);

  box-shadow:
    0 18px 55px rgba(0,0,0,.34),
    inset 0 1px 0 rgba(255,255,255,.13);

  animation: navFloatIn .75s cubic-bezier(.18,.95,.22,1) .25s both;
}

.floating-nav-item {
  position: relative;

  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;

  width: 44px;
  height: 44px;

  border-radius: 999px;

  color: rgba(255,255,255,.78);
  text-decoration: none;

  background: transparent;
  border: 1px solid transparent;

  transition:
    width .28s ease,
    background .28s ease,
    color .28s ease,
    border-color .28s ease,
    transform .28s ease;
}

.floating-nav-item i {
  font-size: 16px;
  line-height: 1;
}

.floating-nav-item span {
  max-width: 0;
  opacity: 0;
  overflow: hidden;
  white-space: nowrap;

  font-size: 13px;
  font-weight: 800;

  transition:
    max-width .28s ease,
    opacity .22s ease;
}

.floating-nav-item:hover,
.floating-nav-item.active {
  width: auto;
  padding: 0 15px;

  color: white;

  background: rgba(255,255,255,.11);
  border-color: rgba(255,255,255,.14);

  transform: translateY(-2px);
}

.floating-nav-item:hover span,
.floating-nav-item.active span {
  max-width: 120px;
  opacity: 1;
}

.floating-nav-item.active {
  box-shadow:
    0 10px 26px rgba(0,0,0,.22),
    inset 0 1px 0 rgba(255,255,255,.10);
}

@keyframes navFloatIn {
  from {
    opacity: 0;
    transform: translateY(-12px) scale(.94);
    filter: blur(10px);
  }

  to {
    opacity: 1;
    transform: translateY(0) scale(1);
    filter: blur(0);
  }
}

/* Ajusta o botão de música para não brigar com a navbar */
.music-btn {
  top: 22px !important;
  left: 24px !important;
}

/* Os ícones sociais do hero ficam só para contatos principais */
.hero .social-icons {
  gap: 12px !important;
}

.hero .social-icons .social-btn {
  width: 48px !important;
  height: 48px !important;
  border-radius: 18px !important;
}

@media (max-width: 760px) {
  .floating-nav {
    top: auto;
    right: 50%;
    bottom: max(18px, env(safe-area-inset-bottom));
    transform: translateX(50%);

    width: calc(100% - 32px);
    max-width: 430px;

    justify-content: space-between;
    border-radius: 26px;
  }

  .floating-nav-item {
    width: 46px;
    height: 46px;
  }

  .floating-nav-item:hover,
  .floating-nav-item.active {
    width: 46px;
    padding: 0;
    transform: translateY(-2px);
  }

  .floating-nav-item span {
    display: none;
  }

  body {
    padding-bottom: 84px;
  }
}


/* V59 — Login/Cadastro premium */

.community-auth-grid {
  grid-template-columns: minmax(320px, 560px) 1fr !important;
  align-items: start !important;
}

.auth-premium {
  padding: 30px !important;
  overflow: hidden;
}

.auth-header {
  margin-bottom: 22px;
}

.auth-header h2 {
  margin: 14px 0 10px !important;
  font-size: clamp(30px, 4vw, 46px) !important;
  letter-spacing: -1.8px !important;
  line-height: 1 !important;
}

.auth-header p {
  color: rgba(255,255,255,.62);
  line-height: 1.55;
  max-width: 420px;
}

.auth-tabs {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
  padding: 6px;
  margin-bottom: 20px;

  border-radius: 999px;
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.10);
}

.auth-tabs button {
  border: 0;
  padding: 12px 14px;
  border-radius: 999px;
  background: transparent;
  color: rgba(255,255,255,.62);
  font-weight: 900;
  cursor: pointer;
  transition: .25s ease;
}

.auth-tabs button.active {
  background:
    linear-gradient(135deg, rgba(255,255,255,.18), rgba(255,255,255,.07));
  color: white;
  box-shadow:
    0 12px 30px rgba(0,0,0,.25),
    inset 0 1px 0 rgba(255,255,255,.14);
}

.auth-form {
  display: none !important;
  gap: 15px !important;
  animation: authFormIn .35s ease both;
}

.auth-form.active {
  display: grid !important;
}

.auth-form label {
  display: grid !important;
  gap: 8px !important;
  font-size: 14px;
  color: rgba(255,255,255,.74);
}

.auth-form input {
  height: 54px;
  padding: 0 16px !important;
  border-radius: 18px !important;
  background:
    linear-gradient(135deg, rgba(255,255,255,.11), rgba(255,255,255,.045)) !important;
  border: 1px solid rgba(255,255,255,.13) !important;
  color: white !important;
  outline: none !important;
}

.auth-form input:focus {
  border-color: rgba(255,255,255,.28) !important;
  box-shadow: 0 0 0 5px rgba(255,255,255,.06) !important;
}

.auth-main-btn {
  width: 100% !important;
  height: 54px;
  margin-top: 4px;
  border-radius: 18px !important;
  background:
    linear-gradient(135deg, rgba(255,255,255,.20), rgba(255,255,255,.08)) !important;
  border: 1px solid rgba(255,255,255,.16) !important;
  color: white !important;
  font-weight: 950 !important;
  cursor: pointer;
  box-shadow:
    0 16px 38px rgba(0,0,0,.28),
    inset 0 1px 0 rgba(255,255,255,.14);
  transition: .25s ease;
}

.auth-main-btn:hover {
  transform: translateY(-2px);
  background: rgba(255,255,255,.16) !important;
}

#communityMessage {
  margin-top: 14px;
  min-height: 20px;
  color: rgba(255,255,255,.68);
  font-weight: 700;
}

.community-card hr {
  display: none;
}

@keyframes authFormIn {
  from {
    opacity: 0;
    transform: translateY(10px);
    filter: blur(6px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
    filter: blur(0);
  }
}

@media (max-width: 900px) {
  .community-auth-grid {
    grid-template-columns: 1fr !important;
  }

  .auth-premium {
    padding: 24px !important;
  }
}


/* V60 — Perfil dinâmico real */

.profile-user-head {
  display: flex;
  align-items: center;
  gap: 22px;
}

.profile-avatar {
  width: 92px;
  height: 92px;
  display: grid;
  place-items: center;
  border-radius: 28px;
  background:
    linear-gradient(135deg, rgba(255,255,255,.18), rgba(255,255,255,.06));
  border: 1px solid rgba(255,255,255,.14);
  box-shadow:
    0 18px 48px rgba(0,0,0,.28),
    inset 0 1px 0 rgba(255,255,255,.14);
  font-size: 42px;
  font-weight: 950;
}

.profile-actions {
  margin-top: 26px;
}

.profile-btn,
.profile-logout {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 14px 18px;
  border-radius: 18px;
  border: 1px solid rgba(255,255,255,.13);
  background: rgba(255,255,255,.09);
  color: white;
  text-decoration: none;
  font-weight: 900;
  cursor: pointer;
}

.profile-edit-form {
  display: grid;
  gap: 14px;
  margin-top: 28px;
  padding: 24px;
  border-radius: 26px;
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.09);
}

.profile-edit-form h2 {
  font-size: 28px;
  letter-spacing: -1px;
}

.profile-edit-form label {
  display: grid;
  gap: 8px;
  color: rgba(255,255,255,.74);
  font-weight: 700;
}

.profile-edit-form input,
.profile-edit-form textarea {
  width: 100%;
  padding: 14px;
  border-radius: 16px;
  border: 1px solid rgba(255,255,255,.12);
  background: rgba(255,255,255,.07);
  color: white;
  outline: none;
}

.profile-edit-form textarea {
  min-height: 110px;
  resize: vertical;
}

.profile-edit-form button {
  width: fit-content;
  padding: 13px 16px;
  border-radius: 16px;
  border: 1px solid rgba(255,255,255,.13);
  background: rgba(255,255,255,.11);
  color: white;
  font-weight: 900;
  cursor: pointer;
}

.profile-logout {
  margin-top: 18px;
  background: rgba(255,80,80,.10);
}

#profileMessage {
  color: rgba(255,255,255,.70);
  font-weight: 700;
}

@media (max-width: 700px) {
  .profile-user-head {
    align-items: flex-start;
    flex-direction: column;
  }

  .profile-avatar {
    width: 78px;
    height: 78px;
    border-radius: 24px;
    font-size: 34px;
  }
}


/* V61 — Esqueci minha senha */

.forgot-password-btn {
  width: fit-content !important;
  padding: 0 !important;
  border: none !important;
  background: transparent !important;
  color: rgba(255,255,255,.68) !important;
  font-weight: 800 !important;
  cursor: pointer;
  box-shadow: none !important;
}

.forgot-password-btn:hover {
  color: white !important;
  text-decoration: underline;
}

.auth-modal {
  position: fixed;
  inset: 0;
  z-index: 99999;
  display: none;
  place-items: center;
  padding: 22px;
  background: rgba(0,0,0,.72);
  backdrop-filter: blur(18px);
}

.auth-modal.show {
  display: grid;
}

.auth-modal-box,
.reset-card {
  width: min(560px, 94vw);
  padding: 32px;
  border-radius: 34px;
  background:
    linear-gradient(135deg, rgba(255,255,255,.11), rgba(255,255,255,.04));
  border: 1px solid rgba(255,255,255,.13);
  backdrop-filter: blur(28px) saturate(150%);
  box-shadow:
    0 26px 80px rgba(0,0,0,.40),
    inset 0 1px 0 rgba(255,255,255,.13);
}

.auth-modal-close {
  float: right;
  width: 42px;
  height: 42px;
  border-radius: 50%;
  border: 1px solid rgba(255,255,255,.13);
  background: rgba(255,255,255,.08);
  color: white;
  font-size: 24px;
  cursor: pointer;
}

.auth-modal-box h2,
.reset-card h1 {
  margin: 16px 0 10px;
  font-size: clamp(34px, 6vw, 58px);
  line-height: .95;
  letter-spacing: -2px;
}

.auth-modal-box p,
.reset-card p {
  color: rgba(255,255,255,.66);
  line-height: 1.6;
}

#forgotPasswordForm,
#resetPasswordForm {
  display: grid;
  gap: 14px;
  margin-top: 22px;
}

#forgotPasswordForm label,
#resetPasswordForm label {
  display: grid;
  gap: 8px;
  color: rgba(255,255,255,.74);
  font-weight: 700;
}

#forgotPasswordForm input,
#resetPasswordForm input {
  height: 54px;
  padding: 0 16px;
  border-radius: 18px;
  border: 1px solid rgba(255,255,255,.13);
  background: rgba(255,255,255,.08);
  color: white;
  outline: none;
}

#forgotPasswordForm button,
#resetPasswordForm button {
  height: 54px;
  border-radius: 18px;
  border: 1px solid rgba(255,255,255,.15);
  background: rgba(255,255,255,.12);
  color: white;
  font-weight: 950;
  cursor: pointer;
}

#forgotPasswordMessage,
#resetPasswordMessage {
  min-height: 22px;
  margin-top: 14px;
  color: rgba(255,255,255,.72);
  font-weight: 700;
}

.reset-wrapper {
  position: relative;
  z-index: 2;
  width: min(720px, calc(100% - 32px));
  margin: 0 auto;
  padding: 42px 0 80px;
}
