/*
Theme Name: FaceFantasyAi
Theme URI: https://example.com/facefantasyai
Author: OpenAI
Author URI: https://openai.com
Description: Tema responsivo em roxo neon para catálogo de imagens e GIFs/vídeos com envio de foto e futura integração de API.
Version: 3.6.45
Requires at least: 6.2
Tested up to: 6.8
Requires PHP: 7.4
Text Domain: deepfakesex
*/

:root {
  --dfs-bg: #07050c;
  --dfs-bg-soft: #0f0a18;
  --dfs-card: #120c1d;
  --dfs-card-2: #181024;
  --dfs-text: #f8f4ff;
  --dfs-muted: #a99db7;
  --dfs-border: rgba(203, 154, 255, .20);
  --dfs-purple: #a34dff;
  --dfs-purple-2: #7c2cff;
  --dfs-pink: #ff4fd8;
  --dfs-cyan: #43e7ff;
  --dfs-success: #5ef2ae;
  --dfs-warning: #ffc95f;
  --dfs-shadow: 0 20px 55px rgba(0,0,0,.38);
  --dfs-radius: 22px;
  --dfs-container: 1260px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  color: var(--dfs-text);
  background:
    radial-gradient(circle at 12% 5%, rgba(163,77,255,.16), transparent 28rem),
    radial-gradient(circle at 90% 22%, rgba(255,79,216,.08), transparent 22rem),
    var(--dfs-bg);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  -webkit-font-smoothing: antialiased;
  padding-bottom: 92px;
}
body.admin-bar .dfs-header { top: 32px; }
@media (max-width: 782px) { body.admin-bar .dfs-header { top: 46px; } }
body.dfs-legal-page-body { padding-bottom: 0; }

a { color: inherit; text-decoration: none; }
img, video { max-width: 100%; display: block; }
button, input, select, textarea { font: inherit; }
button { color: inherit; }

.dfs-container { width: min(100% - 28px, var(--dfs-container)); margin-inline: auto; }
.dfs-hidden { display: none !important; }
.dfs-screen-reader-text { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; }

/* Cabeçalho */
.dfs-header {
  position: sticky;
  top: 0;
  z-index: 50;
  backdrop-filter: blur(18px);
  background: rgba(7,5,12,.82);
  border-bottom: 1px solid var(--dfs-border);
}
.dfs-header__inner {
  min-height: 68px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
}
.dfs-brand { display:flex; align-items:center; gap:10px; min-width:0; }
.dfs-logo-mark {
  width: 38px; height: 38px; border-radius: 13px;
  display:grid; place-items:center;
  background: linear-gradient(135deg, var(--dfs-purple), var(--dfs-pink));
  box-shadow: 0 0 30px rgba(163,77,255,.38);
  font-weight: 900;
}
.dfs-brand__text { font-weight: 900; letter-spacing: -.04em; font-size: clamp(18px, 3vw, 24px); white-space:nowrap; }
.dfs-brand__text span { color: var(--dfs-pink); }
.dfs-header__actions { display:flex; align-items:center; gap:10px; }
.dfs-header-language {
  position: relative;
  display: flex;
  align-items: center;
}
.dfs-header-language__toggle {
  width: 42px;
  min-height: 42px;
  padding: 0;
  border: 1px solid var(--dfs-border);
  border-radius: 999px;
  background: rgba(255,255,255,.055);
  display: grid;
  place-items: center;
  font-size: 20px;
  line-height: 1;
  cursor: pointer;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.05);
}
.dfs-header-language__toggle:hover,
.dfs-header-language__toggle[aria-expanded="true"] {
  border-color: rgba(184,106,255,.68);
  background: rgba(91,39,130,.76);
}
.dfs-header-language__panel {
  position: absolute;
  top: calc(100% + 10px);
  right: 0;
  z-index: 90;
  display: grid;
  grid-template-columns: repeat(2, 34px);
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 10px;
  border: 1px solid rgba(184,106,255,.35);
  border-radius: 20px;
  background: rgba(13,8,20,.96);
  box-shadow: 0 18px 45px rgba(0,0,0,.45), 0 0 28px rgba(163,77,255,.16);
  backdrop-filter: blur(16px);
}
.dfs-header-language__option {
  width: 34px;
  height: 34px;
  padding: 0;
  border: 1px solid rgba(255,255,255,.10);
  border-radius: 999px;
  background: rgba(255,255,255,.055);
  display: grid;
  place-items: center;
  font-size: 18px;
  line-height: 1;
  cursor: pointer;
  transition: .18s ease;
}
.dfs-header-language__option:hover,
.dfs-header-language__option.is-selected {
  border-color: rgba(218,151,255,.92);
  background: linear-gradient(135deg, rgba(124,44,255,.42), rgba(255,79,216,.24));
  box-shadow: 0 0 18px rgba(163,77,255,.20);
  transform: translateY(-1px);
}
.dfs-icon-button, .dfs-balance {
  border: 1px solid var(--dfs-border);
  background: rgba(255,255,255,.055);
  border-radius: 999px;
  min-height: 42px;
  display:flex;
  align-items:center;
  justify-content:center;
}
.dfs-icon-button { width:42px; padding:0; cursor:pointer; }
.dfs-balance { padding:0 15px; gap:8px; font-weight:800; }
.dfs-coin { width:23px; height:23px; border-radius:50%; background:linear-gradient(135deg,#fff7b0,#ffb800); color:#6b4100; display:grid; place-items:center; font-size:12px; box-shadow:0 0 18px rgba(255,201,95,.28); }

/* Categorias */
.dfs-category-bar { border-top:1px solid rgba(255,255,255,.035); }
.dfs-category-list {
  display:flex;
  align-items:center;
  gap:9px;
  padding: 10px 0 12px;
  overflow-x:auto;
  scrollbar-width:none;
}
.dfs-category-list::-webkit-scrollbar { display:none; }
.dfs-category-chip {
  flex: 0 0 auto;
  padding: 9px 14px;
  border:1px solid var(--dfs-border);
  background:rgba(255,255,255,.045);
  border-radius:999px;
  color:var(--dfs-muted);
  font-size:13px;
  font-weight:750;
  cursor:pointer;
  transition:.2s ease;
}
.dfs-category-chip:hover,
.dfs-category-chip.is-active { color:white; border-color:rgba(163,77,255,.8); background:rgba(163,77,255,.18); box-shadow:0 0 22px rgba(163,77,255,.13); }
.dfs-category-chip--more { color:#fff; background:linear-gradient(135deg,rgba(163,77,255,.25),rgba(255,79,216,.14)); }

body.dfs-category-modal-open { overflow:hidden; }
.dfs-category-modal {
  position:fixed;
  inset:0;
  z-index:120;
  display:grid;
  place-items:center;
  padding:16px;
}
.dfs-category-modal__backdrop {
  position:absolute;
  inset:0;
  background:rgba(4,2,8,.72);
  backdrop-filter:blur(9px);
}
.dfs-category-modal__dialog {
  position:relative;
  width:min(370px, calc(100vw - 30px));
  max-height:min(680px, calc(100vh - 32px));
  display:flex;
  flex-direction:column;
  padding:14px 12px 12px;
  border:1px solid rgba(184,106,255,.32);
  border-radius:24px;
  background:linear-gradient(180deg, rgba(31,15,48,.98), rgba(13,8,20,.98));
  box-shadow:0 28px 80px rgba(0,0,0,.66), 0 0 44px rgba(163,77,255,.18);
}
.dfs-category-modal__head {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:2px 4px 12px;
}
.dfs-category-modal__head h2 {
  margin:0;
  font-size:18px;
  line-height:1.2;
  letter-spacing:-.03em;
}
.dfs-category-modal__close {
  width:34px;
  height:34px;
  flex:0 0 auto;
  border:1px solid rgba(255,255,255,.08);
  border-radius:50%;
  background:rgba(163,77,255,.14);
  color:#e7d8ff;
  font-size:24px;
  line-height:1;
  cursor:pointer;
}
.dfs-category-modal__close:hover {
  background:rgba(163,77,255,.24);
  color:#fff;
}
.dfs-category-modal__list {
  min-height:0;
  overflow-y:auto;
  display:grid;
  gap:8px;
  padding:0 4px 12px;
  scrollbar-color:rgba(184,106,255,.62) transparent;
}
.dfs-category-modal__option {
  width:100%;
  min-height:43px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  padding:10px 13px;
  border:1px solid rgba(255,255,255,.10);
  border-radius:12px;
  background:linear-gradient(180deg, rgba(255,255,255,.055), rgba(255,255,255,.035));
  color:#d3cbdc;
  font-weight:850;
  text-align:left;
  cursor:pointer;
}
.dfs-category-modal__option:hover,
.dfs-category-modal__option.is-selected {
  border-color:rgba(184,106,255,.9);
  background:linear-gradient(180deg, rgba(163,77,255,.25), rgba(255,79,216,.10));
  color:#fff;
  box-shadow:0 0 24px rgba(163,77,255,.12);
}
.dfs-category-modal__check {
  width:18px;
  height:18px;
  flex:0 0 auto;
  color:#c278ff;
  opacity:0;
}
.dfs-category-modal__option.is-selected .dfs-category-modal__check { opacity:1; }
.dfs-category-modal__confirm {
  width:100%;
  min-height:46px;
  border:0;
  border-radius:999px;
  background:linear-gradient(135deg,#7c2cff,#b23cff);
  color:#fff;
  font-weight:950;
  cursor:pointer;
  box-shadow:0 16px 34px rgba(124,44,255,.32);
}
.dfs-category-modal__confirm:hover {
  filter:brightness(1.08);
}
.dfs-category-modal__confirm:focus-visible,
.dfs-category-modal__option:focus-visible,
.dfs-category-modal__close:focus-visible {
  outline:2px solid rgba(218,151,255,.92);
  outline-offset:2px;
}


/* Hero */
.dfs-hero { padding: 34px 0 22px; }
.dfs-hero__eyebrow { color:var(--dfs-cyan); font-weight:850; font-size:12px; text-transform:uppercase; letter-spacing:.13em; }
.dfs-hero h1 { max-width:850px; margin:10px 0 12px; font-size:clamp(34px,7vw,70px); line-height:.98; letter-spacing:-.055em; }
.dfs-hero h1 span { background:linear-gradient(90deg,var(--dfs-purple),var(--dfs-pink)); -webkit-background-clip:text; background-clip:text; color:transparent; }
.dfs-hero p { max-width:680px; margin:0; color:var(--dfs-muted); line-height:1.65; font-size:clamp(15px,2vw,18px); }
.dfs-hero__notice { margin-top:16px; display:inline-flex; align-items:center; gap:8px; color:#d8c8e9; font-size:12px; padding:8px 11px; border:1px solid var(--dfs-border); border-radius:999px; background:rgba(255,255,255,.035); }

/* Conteúdo e grade */
.dfs-section { padding: 10px 0 34px; }
.dfs-section-head { display:flex; justify-content:space-between; align-items:end; gap:16px; margin-bottom:18px; }
.dfs-section-head h2 { margin:0; font-size:clamp(24px,4vw,38px); letter-spacing:-.035em; }
.dfs-section-head p { margin:5px 0 0; color:var(--dfs-muted); }
.dfs-result-count { color:var(--dfs-muted); font-size:13px; white-space:nowrap; }
.dfs-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:18px; }
@media (max-width:1050px){ .dfs-grid{grid-template-columns:repeat(3,minmax(0,1fr));} }
@media (max-width:760px){ .dfs-grid{grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px;} }
@media (max-width:460px){ .dfs-grid{grid-template-columns:1fr; gap:16px;} }

/* Cards */
.dfs-card {
  position:relative;
  min-width:0;
  border-radius:var(--dfs-radius);
  border:1px solid var(--dfs-border);
  background:linear-gradient(180deg,var(--dfs-card-2),var(--dfs-card));
  overflow:hidden;
  box-shadow:var(--dfs-shadow);
  transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease;
}
.dfs-card:hover { transform:translateY(-4px); border-color:rgba(163,77,255,.65); box-shadow:0 24px 60px rgba(0,0,0,.46),0 0 35px rgba(163,77,255,.12); }
.dfs-card__media { position:relative; aspect-ratio:9/13; overflow:hidden; background:linear-gradient(145deg,#2b1740,#10091a); }
.dfs-card__media img,.dfs-card__media video { width:100%; height:100%; object-fit:cover; }
.dfs-card__media::after { content:""; position:absolute; inset:auto 0 0; height:46%; background:linear-gradient(transparent,rgba(7,5,12,.92)); pointer-events:none; }
.dfs-card__placeholder { width:100%; height:100%; display:grid; place-items:center; text-align:center; padding:30px; color:#d7c4ec; background:radial-gradient(circle at 50% 20%,rgba(163,77,255,.40),transparent 48%),linear-gradient(145deg,#271338,#0b0710); }
.dfs-card__top { position:absolute; z-index:3; inset:12px 12px auto; display:flex; justify-content:space-between; gap:8px; }
.dfs-badge { display:inline-flex; align-items:center; gap:6px; min-height:29px; padding:0 10px; border-radius:999px; background:rgba(7,5,12,.72); border:1px solid rgba(255,255,255,.14); backdrop-filter:blur(10px); font-size:11px; font-weight:850; text-transform:uppercase; letter-spacing:.06em; }
.dfs-badge--type { background:linear-gradient(135deg,rgba(124,44,255,.88),rgba(255,79,216,.70)); }
.dfs-favorite { width:32px; height:32px; border:1px solid rgba(255,255,255,.15); background:rgba(7,5,12,.68); border-radius:50%; display:grid; place-items:center; }
.dfs-card__overlay { position:absolute; z-index:3; inset:auto 14px 14px; }
.dfs-card__title { margin:0 0 9px; font-size:clamp(18px,2.2vw,23px); letter-spacing:-.025em; }
.dfs-card__meta { display:flex; gap:8px; flex-wrap:wrap; color:#e9dcf7; font-size:12px; }
.dfs-card__meta span { border:1px solid rgba(255,255,255,.12); background:rgba(7,5,12,.56); padding:5px 8px; border-radius:999px; }
.dfs-card__footer { padding:12px; }
.dfs-upload-button {
  width:100%; min-height:48px; border:0; border-radius:15px; cursor:pointer;
  display:flex; align-items:center; justify-content:center; gap:9px;
  color:#fff; font-weight:900;
  background:linear-gradient(90deg,var(--dfs-purple-2),var(--dfs-purple),var(--dfs-pink));
  box-shadow:0 12px 28px rgba(124,44,255,.28);
  transition:filter .2s ease,transform .2s ease;
}
.dfs-upload-button:hover { filter:brightness(1.12); transform:translateY(-1px); }



/* Badge de tipo para conteúdos de imagem v3.6.16 */
.dfs-card__content-badge {
  position: absolute;
  z-index: 8;
  top: 12px;
  left: 12px;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-height: 27px;
  padding: 0 10px;
  border-radius: 999px;
  color: #ffffff;
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .055em;
  line-height: 1;
  text-transform: uppercase;
  background: linear-gradient(135deg, rgba(54, 22, 88, .96), rgba(22, 10, 36, .96));
  border: 1px solid rgba(186, 122, 255, .48);
  box-shadow: 0 10px 26px rgba(0, 0, 0, .38), 0 0 18px rgba(163, 77, 255, .20);
  backdrop-filter: blur(10px);
  pointer-events: none;
}
.dfs-card__content-badge svg {
  width: 13px;
  height: 13px;
  flex: 0 0 auto;
  color: #ffffff;
}
.dfs-card__content-badge--image {
  color: #ffffff;
}
@media (max-width: 560px) {
  .dfs-card__content-badge {
    top: 9px;
    left: 9px;
    min-height: 25px;
    padding: 0 9px;
    font-size: 9px;
  }
}

/* Estado vazio */
.dfs-empty { grid-column:1/-1; border:1px dashed var(--dfs-border); border-radius:var(--dfs-radius); padding:46px 24px; text-align:center; color:var(--dfs-muted); background:rgba(255,255,255,.025); }
.dfs-empty h3 { margin:0 0 8px; color:#fff; }

/* Navegação inferior */
.dfs-bottom-nav-wrap { position:fixed; z-index:70; left:0; right:0; bottom:0; pointer-events:none; }
.dfs-bottom-nav {
  pointer-events:auto;
  width:min(100% - 20px,760px);
  margin:0 auto 10px;
  padding:8px;
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:6px;
  border:1px solid rgba(203,154,255,.25);
  border-radius:22px;
  background:rgba(13,8,20,.91);
  backdrop-filter:blur(22px);
  box-shadow:0 20px 55px rgba(0,0,0,.5),0 0 40px rgba(163,77,255,.10);
}
.dfs-bottom-nav__item {
  min-width:0;
  min-height:58px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:4px;
  border-radius:16px;
  color:var(--dfs-muted);
  font-size:10px;
  font-weight:850;
  cursor:pointer;
  border:0;
  background:transparent;
  padding:4px 3px;
}
.dfs-bottom-nav__item svg { width:20px; height:20px; }
.dfs-bottom-nav__item:hover,.dfs-bottom-nav__item.is-active { color:#fff; background:linear-gradient(145deg,rgba(124,44,255,.38),rgba(255,79,216,.18)); box-shadow:inset 0 0 0 1px rgba(203,154,255,.24); }

/* Single */
.dfs-single { padding:30px 0 54px; }
.dfs-single-grid { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(320px,.9fr); gap:24px; align-items:start; }
.dfs-single-media { border-radius:28px; overflow:hidden; border:1px solid var(--dfs-border); background:#0b0710; box-shadow:var(--dfs-shadow); }
.dfs-single-media img,.dfs-single-media video { width:100%; max-height:82vh; object-fit:contain; background:#050307; }
.dfs-single-panel { position:sticky; top:92px; padding:24px; border-radius:26px; border:1px solid var(--dfs-border); background:linear-gradient(180deg,rgba(25,16,38,.94),rgba(12,8,18,.95)); box-shadow:var(--dfs-shadow); }
.dfs-single-panel h1 { margin:8px 0 10px; font-size:clamp(30px,5vw,48px); line-height:1; letter-spacing:-.045em; }
.dfs-single-panel__content { color:var(--dfs-muted); line-height:1.65; }
.dfs-upload-box { margin-top:22px; border:1px dashed rgba(163,77,255,.55); border-radius:20px; padding:18px; background:rgba(163,77,255,.06); }
.dfs-upload-box label { display:block; font-weight:850; margin-bottom:9px; }
.dfs-upload-box input[type=file] { width:100%; padding:13px; border:1px solid var(--dfs-border); border-radius:14px; background:#0c0712; color:var(--dfs-muted); }
.dfs-photo-preview { margin-top:12px; border-radius:16px; overflow:hidden; display:none; }
.dfs-photo-preview img { width:100%; max-height:270px; object-fit:cover; }
.dfs-upload-status { color:var(--dfs-muted); font-size:12px; line-height:1.5; margin:10px 0 0; }
.dfs-button-secondary { margin-top:12px; width:100%; min-height:46px; border-radius:14px; border:1px solid var(--dfs-border); background:rgba(255,255,255,.05); color:#d8c8e9; font-weight:800; }
@media(max-width:860px){ .dfs-single-grid{grid-template-columns:1fr;} .dfs-single-panel{position:static;} }

/* Drawer */
.dfs-drawer-backdrop { position:fixed; z-index:90; inset:0; background:rgba(0,0,0,.66); opacity:0; visibility:hidden; transition:.2s ease; }
.dfs-drawer { position:fixed; z-index:91; top:0; left:0; bottom:0; width:min(86vw,360px); padding:24px; background:#0d0814; border-right:1px solid var(--dfs-border); transform:translateX(-102%); transition:.24s ease; }
body.dfs-drawer-open .dfs-drawer-backdrop { opacity:1; visibility:visible; }
body.dfs-drawer-open .dfs-drawer { transform:none; }
.dfs-drawer__head { display:flex; justify-content:space-between; align-items:center; margin-bottom:25px; }
.dfs-drawer nav { display:grid; gap:8px; }
.dfs-drawer nav a { padding:14px; border-radius:14px; color:var(--dfs-muted); background:rgba(255,255,255,.035); }
.dfs-drawer nav a:hover { color:#fff; background:rgba(163,77,255,.14); }
.dfs-drawer__legal { margin-top:24px; color:#857891; font-size:12px; line-height:1.6; }

/* Footer */
.dfs-footer { padding:20px 0 110px; color:#74697f; font-size:12px; }
.dfs-footer__inner { border-top:1px solid var(--dfs-border); padding-top:20px; display:flex; flex-direction:column; justify-content:center; align-items:center; gap:6px; flex-wrap:wrap; text-align:center; }

/* WordPress */
.alignwide { width:min(100% - 28px,var(--dfs-container)); margin-inline:auto; }
.wp-caption { max-width:100%; }

@media(max-width:620px){
  .dfs-container{width:min(100% - 20px,var(--dfs-container));}
  .dfs-header__inner{min-height:60px;}
  .dfs-logo-mark{width:34px;height:34px;}
  .dfs-balance{padding:0 11px;min-height:38px;}
  .dfs-icon-button{width:38px;min-height:38px;}
  .dfs-hero{padding:24px 0 16px;}
  .dfs-section-head{align-items:start;flex-direction:column;gap:6px;}
  .dfs-bottom-nav{width:calc(100% - 12px);margin-bottom:6px;border-radius:18px;padding:6px;gap:2px;}
  .dfs-bottom-nav__item{min-height:55px;font-size:9px;border-radius:13px;}
}

/* =========================================================
   Ajustes de interface v1.1.0
   ========================================================= */

/* O cabeçalho não acompanha mais a rolagem. */
.dfs-header {
  position: relative;
  top: auto;
  backdrop-filter: none;
  background: #09060f;
}
body.admin-bar .dfs-header { top: auto; }

/* Marca textual sem ícone DF. */
.dfs-brand-wrap { display:flex; align-items:center; gap:10px; min-width:0; }
.dfs-brand { gap:0; }
.dfs-logo-mark { display:none !important; }

/* A grade começa imediatamente após as categorias. */
.dfs-section--catalog { padding-top: 18px; }

/* Cards sem etiqueta GIF/Vídeo/Imagem. */
.dfs-card__top,
.dfs-badge--type { display:none !important; }

.dfs-card__media { cursor:default; }
.dfs-card__overlay {
  left:14px;
  right:112px;
  bottom:16px;
}
.dfs-card__title {
  margin-bottom:8px;
  text-shadow:0 2px 15px rgba(0,0,0,.85);
}
.dfs-favorite {
  position:absolute;
  z-index:5;
  top:12px;
  right:12px;
  color:#fff;
  cursor:pointer;
}

/* Botão pequeno sobre a mídia, no canto inferior direito. */
.dfs-card__quick-upload {
  position:absolute;
  z-index:5;
  right:12px;
  bottom:12px;
  width:88px;
  min-height:92px;
  padding:10px 7px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:7px;
  border:1px dashed rgba(255,255,255,.72);
  border-radius:15px;
  background:rgba(12,8,18,.68);
  color:#fff;
  font-size:11px;
  font-weight:850;
  line-height:1.2;
  cursor:pointer;
  backdrop-filter:blur(10px);
  transition:.2s ease;
}
.dfs-card__quick-upload:hover {
  border-color:var(--dfs-pink);
  background:rgba(77,27,105,.82);
  transform:translateY(-2px);
}
.dfs-card__quick-upload svg { width:24px; height:24px; }

/* Miniatura da foto escolhida, exibida sobre o card. */
.dfs-card__user-preview {
  position:absolute;
  z-index:6;
  top:12px;
  left:12px;
  width:68px;
  height:86px;
  padding:3px;
  overflow:hidden;
  border-radius:14px;
  border:1px solid rgba(255,255,255,.82);
  background:rgba(10,7,15,.85);
  box-shadow:0 8px 25px rgba(0,0,0,.45),0 0 18px rgba(163,77,255,.28);
}
.dfs-card__user-preview img { width:100%; height:100%; object-fit:cover; border-radius:10px; }

.dfs-card__footer { padding:10px; }
.dfs-card__progress {
  display:flex;
  align-items:center;
  gap:10px;
  margin:10px 2px 0;
}
.dfs-card__progress-track {
  flex:1;
  height:8px;
  overflow:hidden;
  border-radius:999px;
  background:rgba(255,255,255,.09);
  box-shadow:inset 0 0 0 1px rgba(198,118,255,.10);
}
.dfs-card__progress-track span {
  display:block;
  width:0;
  height:100%;
  border-radius:999px;
  background:linear-gradient(90deg,#34d399 0%,#22c55e 100%);
  box-shadow:0 0 18px rgba(34,197,94,.34);
  transition:width .35s ease;
}
.dfs-card__progress-value {
  min-width:40px;
  text-align:right;
  color:#e7d9ff;
  font-size:11px;
  font-weight:900;
}
.dfs-card__upload-status {
  min-height:0;
  margin:7px 2px 0;
  color:#cbbbd9;
  font-size:11px;
  text-align:center;
}
.dfs-card__upload-status:empty { display:none; }

/* Página individual fica apenas como visualização, sem formulário de envio. */
.dfs-back-link { display:inline-flex; margin-bottom:18px; color:#d6c4e8; font-weight:750; }
.dfs-single-grid--simple { grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr); }
.dfs-single-copy {
  border:1px solid var(--dfs-border);
  border-radius:24px;
  background:linear-gradient(180deg,var(--dfs-card-2),var(--dfs-card));
  padding:26px;
}
.dfs-single-copy h1 { margin:0 0 15px; font-size:clamp(30px,5vw,52px); letter-spacing:-.04em; }
.dfs-single-copy .dfs-upload-button { margin-top:22px; }

@media (max-width:760px) {
  .dfs-section--catalog { padding-top:10px; }
  .dfs-grid { grid-template-columns:1fr; gap:14px; }
  .dfs-card { border-radius:18px; }
  .dfs-card__media { aspect-ratio:9/13.5; }
  .dfs-card__quick-upload { width:82px; min-height:88px; }
  .dfs-card__overlay { right:104px; }
  .dfs-single-grid--simple { grid-template-columns:1fr; }
}

@media (max-width:430px) {
  .dfs-container { width:min(100% - 14px,var(--dfs-container)); }
  .dfs-header__inner { min-height:62px; }
  .dfs-brand__text { font-size:20px; }
  .dfs-icon-button { width:38px; min-height:38px; }
  .dfs-balance { min-height:38px; padding-inline:12px; }
  .dfs-category-list { padding:8px 0 10px; gap:7px; }
  .dfs-category-chip { padding:8px 12px; font-size:12px; }
  .dfs-card__footer { padding:9px; }
  .dfs-upload-button { min-height:46px; border-radius:13px; }
}


/* =========================================================
   Ajustes de interface v1.2.0
   ========================================================= */

/* Miniatura do rosto que foi utilizado no GIF ou vídeo. */
.dfs-card__source-face {
  position:absolute;
  z-index:6;
  top:12px;
  left:12px;
  width:68px;
  height:86px;
  padding:3px;
  overflow:hidden;
  border-radius:14px;
  border:1px solid rgba(255,255,255,.82);
  background:rgba(10,7,15,.88);
  box-shadow:0 8px 25px rgba(0,0,0,.45),0 0 18px rgba(163,77,255,.28);
  pointer-events:none;
}
.dfs-card__source-face img {
  width:100%;
  height:100%;
  object-fit:cover;
  border-radius:10px;
}

/* A foto selecionada pelo usuário fica acima da miniatura do rosto. */
.dfs-card__user-preview { z-index:7; }

@media(max-width:620px){
  .dfs-card__source-face,
  .dfs-card__user-preview {
    width:64px;
    height:81px;
    top:10px;
    left:10px;
  }
}

/* =========================================================
   Ajustes de interface v1.3.0
   ========================================================= */

/* O menu hambúrguer permanece visível no computador e no celular. */
.dfs-brand-wrap > [data-drawer-open] {
  display: flex;
}

/* Miniatura do rosto: discreta no computador e preservada no celular. */
.dfs-card__source-face,
.dfs-card__user-preview {
  width: 65px;
  height: 80px;
  border-radius: 12px;
  padding: 2px;
  background: linear-gradient(180deg, rgba(118,41,255,.26), rgba(255,64,214,.14));
  border: 1px solid rgba(191,120,255,.88);
  box-shadow: 0 8px 20px rgba(0,0,0,.24), 0 0 0 1px rgba(120,56,255,.16), 0 0 14px rgba(183,93,255,.34);
  animation: dfsFaceWiggle 3.2s ease-in-out infinite;
  transform-origin: center center;
}

.dfs-card__source-face img,
.dfs-card__user-preview img {
  border-radius: 10px;
}


@keyframes dfsFaceWiggle {
  0%, 100% { transform: translate3d(0,0,0) rotate(0deg); }
  20% { transform: translate3d(0.5px,-1px,0) rotate(-1.2deg); }
  40% { transform: translate3d(-0.5px,0.5px,0) rotate(1deg); }
  60% { transform: translate3d(0.5px,1px,0) rotate(-0.8deg); }
  80% { transform: translate3d(-0.5px,-0.5px,0) rotate(0.8deg); }
}

@media (max-width: 760px) {
  .dfs-card__source-face,
  .dfs-card__user-preview {
    width: 90px;
    height: 114px;
    top: 10px;
    left: 10px;
    background: linear-gradient(180deg, rgba(118,41,255,.26), rgba(255,64,214,.14));
    border: 1px solid rgba(191,120,255,.88);
    box-shadow: 0 8px 20px rgba(0,0,0,.24), 0 0 0 1px rgba(120,56,255,.16), 0 0 14px rgba(183,93,255,.34);
    animation: dfsFaceWiggle 3.2s ease-in-out infinite;
  }
}

@media (max-width: 380px) {
  .dfs-card__source-face,
  .dfs-card__user-preview {
    width: 84px;
    height: 106px;
    background: linear-gradient(180deg, rgba(118,41,255,.26), rgba(255,64,214,.14));
    border: 1px solid rgba(191,120,255,.88);
    box-shadow: 0 8px 20px rgba(0,0,0,.24), 0 0 0 1px rgba(120,56,255,.16), 0 0 14px rgba(183,93,255,.34);
    animation: dfsFaceWiggle 3.2s ease-in-out infinite;
  }
}



/* =========================================================
   Login e cadastro do usuário v2.2.0
   ========================================================= */
body.dfs-auth-open { overflow: hidden; }
.dfs-auth-modal {
  position: fixed;
  inset: 0;
  z-index: 100000;
  display: grid;
  place-items: center;
  padding: 18px;
  background: rgba(5, 3, 10, .82);
  backdrop-filter: blur(10px);
}
.dfs-auth-modal.dfs-hidden { display: none; }
.dfs-auth-card {
  position: relative;
  width: min(430px, 100%);
  max-height: calc(100vh - 36px);
  overflow: auto;
  border: 1px solid rgba(183, 93, 255, .34);
  border-radius: 24px;
  padding: 24px;
  color: #fff;
  background:
    radial-gradient(circle at 100% 0%, rgba(255, 65, 217, .12), transparent 42%),
    radial-gradient(circle at 0% 100%, rgba(126, 47, 255, .16), transparent 42%),
    linear-gradient(160deg, #18121f, #0e0b14 68%);
  box-shadow: 0 30px 90px rgba(0, 0, 0, .6), 0 0 34px rgba(145, 62, 255, .12);
}
.dfs-auth-close {
  position: absolute;
  top: 16px;
  right: 16px;
  width: 38px;
  height: 38px;
  border: 1px solid rgba(255,255,255,.13);
  border-radius: 50%;
  color: #c9bdcf;
  background: rgba(255,255,255,.055);
  font-size: 26px;
  line-height: 1;
  cursor: pointer;
}
.dfs-auth-close:hover { color: #fff; border-color: rgba(196,120,255,.55); }
.dfs-auth-brand {
  display: inline-flex;
  align-items: center;
  margin: 0 48px 24px 0;
  padding: 9px 14px;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 999px;
  background: rgba(255,255,255,.055);
  font-weight: 900;
  font-size: 18px;
  letter-spacing: -.02em;
}
.dfs-auth-brand span { color: #ff4fd8; }
.dfs-auth-title {
  margin: 0;
  font-size: clamp(28px, 7vw, 38px);
  line-height: 1.08;
  letter-spacing: -.045em;
}
.dfs-auth-title span { color: #d88aff; }
.dfs-auth-copy {
  margin: 10px 0 20px;
  color: #c6b9cf;
  font-size: 14px;
  line-height: 1.55;
}
.dfs-auth-tabs {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 6px;
  margin-bottom: 20px;
  padding: 5px;
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 14px;
  background: rgba(0,0,0,.22);
}
.dfs-auth-tab {
  min-height: 42px;
  border: 0;
  border-radius: 10px;
  color: #a99bb3;
  background: transparent;
  font-weight: 800;
  cursor: pointer;
}
.dfs-auth-tab.is-active {
  color: #fff;
  background: linear-gradient(135deg, rgba(126,47,255,.72), rgba(255,65,217,.64));
  box-shadow: 0 6px 20px rgba(129,47,255,.22);
}
.dfs-auth-field { margin-top: 15px; }
.dfs-auth-field label {
  display: block;
  margin-bottom: 7px;
  color: #fff;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .045em;
  text-transform: uppercase;
}
.dfs-auth-input-wrap { position: relative; }
.dfs-auth-field input {
  width: 100%;
  height: 52px;
  border: 1px solid rgba(205, 151, 255, .2);
  border-radius: 14px;
  padding: 0 15px;
  color: #17111d;
  background: #f1eaff;
  font: inherit;
  font-weight: 750;
  outline: 0;
  box-sizing: border-box;
}
.dfs-auth-field input:focus {
  border-color: #b76bff;
  box-shadow: 0 0 0 3px rgba(159, 66, 255, .18);
}
.dfs-auth-password input { padding-right: 52px; }
.dfs-auth-toggle-password {
  position: absolute;
  top: 50%;
  right: 8px;
  transform: translateY(-50%);
  width: 38px;
  height: 38px;
  border: 0;
  border-radius: 9px;
  color: #7b6686;
  background: transparent;
  cursor: pointer;
  font-size: 17px;
}
.dfs-auth-hint { margin: 7px 0 0; color: #a99db2; font-size: 11px; }
.dfs-auth-status {
  display: none;
  margin: 14px 0 0;
  padding: 10px 12px;
  border-radius: 11px;
  font-size: 13px;
  line-height: 1.45;
}
.dfs-auth-status.is-visible { display: block; }
.dfs-auth-status.is-error { color: #ffd4dc; background: rgba(211, 45, 79, .18); border: 1px solid rgba(255, 92, 126, .28); }
.dfs-auth-status.is-success { color: #d7ffe9; background: rgba(25, 164, 99, .18); border: 1px solid rgba(70, 230, 149, .24); }
.dfs-auth-submit {
  width: 100%;
  min-height: 52px;
  margin-top: 18px;
  border: 0;
  border-radius: 14px;
  color: #fff;
  background: linear-gradient(100deg, #7f2cff, #ff45d0);
  box-shadow: 0 14px 30px rgba(132, 43, 255, .24);
  font: inherit;
  font-weight: 900;
  cursor: pointer;
}
.dfs-auth-submit:hover { filter: brightness(1.08); transform: translateY(-1px); }
.dfs-auth-submit:disabled { opacity: .65; cursor: wait; transform: none; }
.dfs-auth-switch-copy {
  margin: 15px 0 0;
  color: #a99db2;
  font-size: 13px;
  text-align: center;
}
.dfs-auth-switch-copy button {
  border: 0;
  padding: 0;
  color: #d890ff;
  background: transparent;
  font: inherit;
  font-weight: 850;
  cursor: pointer;
}
/* Confirmação de senha: exibida somente no modo de cadastro. */
.dfs-auth-confirm-password { margin-top: 13px; }

@media (max-width: 520px) {
  .dfs-auth-modal {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 100dvh;
    overflow-y: auto;
    padding: max(12px, env(safe-area-inset-top)) 10px max(12px, env(safe-area-inset-bottom));
  }
  .dfs-auth-card {
    width: 100%;
    max-height: calc(100dvh - 24px);
    margin: auto 0;
    overflow-y: auto;
    border-radius: 20px;
    padding: 18px 16px 20px;
    overscroll-behavior: contain;
  }
  .dfs-auth-close {
    top: 13px;
    right: 13px;
    width: 36px;
    height: 36px;
  }
  .dfs-auth-brand {
    margin: 0 46px 15px 0;
    padding: 8px 12px;
    font-size: 16px;
  }
  .dfs-auth-title {
    font-size: 27px;
    line-height: 1.06;
  }
  .dfs-auth-copy {
    margin: 8px 0 15px;
    font-size: 13px;
  }
  .dfs-auth-tabs {
    margin-bottom: 14px;
  }
  .dfs-auth-field {
    margin-top: 12px;
  }
  .dfs-auth-field input {
    height: 50px;
    font-size: 16px;
  }
  .dfs-auth-submit {
    min-height: 50px;
    margin-top: 15px;
  }
  .dfs-auth-switch-copy {
    margin-top: 12px;
  }
}


/* =========================================================
   Seleção da foto e geração diretamente no card v2.6.0
   ========================================================= */
.dfs-card__quick-upload { overflow:hidden; }
.dfs-card__quick-upload-default {
  width:100%;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:7px;
}
.dfs-card__quick-upload-preview {
  position:absolute;
  inset:4px;
  overflow:hidden;
  border-radius:11px;
  background:#12091c;
  box-shadow:inset 0 0 0 1px rgba(205,139,255,.74),0 0 18px rgba(157,61,255,.22);
}
.dfs-card__quick-upload-preview img {
  width:100%;
  height:100%;
  object-fit:cover;
  border-radius:10px;
}
.dfs-card.has-selected-photo .dfs-card__quick-upload {
  border-style:solid;
  border-color:rgba(203,132,255,.9);
  background:rgba(31,11,45,.92);
  box-shadow:0 0 0 1px rgba(131,49,255,.20),0 0 20px rgba(184,69,255,.26);
}
.dfs-card.is-generating .dfs-upload-button {
  cursor:wait;
  filter:saturate(.75);
  animation:dfsGeneratePulse 1.25s ease-in-out infinite;
}
.dfs-card__upload-status.is-error { color:#ff9fae; }
.dfs-card__upload-status.is-success { color:#99f7c5; }
.dfs-card__generated-result { width:100%;height:100%;object-fit:cover; }
@keyframes dfsGeneratePulse {
  0%,100% { box-shadow:0 12px 28px rgba(124,44,255,.25); }
  50% { box-shadow:0 12px 34px rgba(255,79,216,.52),0 0 22px rgba(151,67,255,.30); }
}

.dfs-action-icon--generate { display:none; }
.dfs-card.has-selected-photo .dfs-action-icon--upload { display:none; }
.dfs-card.has-selected-photo .dfs-action-icon--generate { display:block; }

/* =========================================================
   Conta, menu lateral e Minhas gerações v2.7.0
   ========================================================= */
.dfs-drawer {
  width: min(92vw, 390px);
  padding: 18px 18px 26px;
  overflow-y: auto;
  background:
    radial-gradient(circle at 85% 4%, rgba(255,194,74,.09), transparent 180px),
    linear-gradient(180deg, #100b17 0%, #09060e 100%);
  border-right: 1px solid rgba(190,113,255,.28);
  box-shadow: 28px 0 70px rgba(0,0,0,.52);
}
.dfs-drawer__head { margin-bottom: 16px; }
.dfs-drawer__brand {
  font-size: 19px;
  line-height: 1;
  font-weight: 950;
  letter-spacing: -.045em;
}
.dfs-drawer__brand span { color: var(--dfs-pink); }

.dfs-account-card,
.dfs-account-login-card {
  width: 100%;
  display: block;
  padding: 16px;
  border: 1px solid rgba(255,203,91,.18);
  border-radius: 18px;
  text-align: left;
  color: #fff;
  background:
    radial-gradient(circle at 90% 20%, rgba(255,174,40,.10), transparent 130px),
    linear-gradient(145deg, rgba(74,48,24,.62), rgba(31,21,27,.90));
  box-shadow: inset 0 1px 0 rgba(255,255,255,.04), 0 14px 30px rgba(0,0,0,.24);
}
.dfs-account-login-card { cursor: pointer; }
.dfs-account-login-card:hover { border-color: rgba(255,203,91,.42); }
.dfs-account-card__label {
  display: block;
  margin-bottom: 5px;
  color: #ffd36f;
  font-size: 10px;
  font-weight: 950;
  letter-spacing: .09em;
  text-transform: uppercase;
}
.dfs-account-card__email,
.dfs-account-login-card strong {
  display: block;
  overflow: hidden;
  color: #fff;
  font-size: 14px;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.dfs-account-login-card small {
  display: block;
  margin-top: 6px;
  color: #aa9eb4;
  font-size: 11px;
}
.dfs-account-card__id-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-top: 8px;
  color: #918596;
  font-size: 11px;
  font-weight: 800;
}
.dfs-account-card__id-row b { color: #bfb3c7; letter-spacing: .025em; }
.dfs-account-copy {
  width: 30px;
  height: 30px;
  flex: 0 0 auto;
  display: grid;
  place-items: center;
  border: 0;
  border-radius: 9px;
  color: #ffd164;
  background: rgba(255,205,91,.11);
  cursor: pointer;
}
.dfs-account-copy svg { width: 16px; height: 16px; }

.dfs-account-menu {
  display: grid;
  gap: 8px;
  margin-top: 13px;
}
.dfs-account-menu--secondary {
  margin-top: 20px;
  padding-top: 16px;
  border-top: 1px solid rgba(255,255,255,.08);
}
.dfs-account-menu__item {
  width: 100%;
  min-height: 58px;
  display: grid;
  grid-template-columns: 32px minmax(0,1fr) auto 14px;
  align-items: center;
  gap: 10px;
  padding: 10px 13px;
  border: 1px solid transparent;
  border-radius: 15px;
  color: #a99eaf;
  text-align: left;
  background: rgba(255,255,255,.025);
  cursor: pointer;
  transition: border-color .18s ease, background .18s ease, color .18s ease, transform .18s ease;
}
a.dfs-account-menu__item { text-decoration: none; }
.dfs-account-menu__item:hover {
  color: #fff;
  border-color: rgba(184,104,255,.20);
  background: rgba(164,73,255,.08);
  transform: translateX(2px);
}
.dfs-account-menu__item--coins {
  color: #fff;
  background: linear-gradient(145deg, rgba(74,43,15,.72), rgba(47,27,14,.70));
  border-color: rgba(255,191,54,.12);
}
.dfs-account-menu__icon {
  width: 30px;
  height: 30px;
  display: grid;
  place-items: center;
  color: #aaa0b2;
}
.dfs-account-menu__icon svg { width: 22px; height: 22px; }
.dfs-account-menu__icon--coin {
  border-radius: 50%;
  color: #7a4500;
  background: linear-gradient(135deg,#fff2a7,#ffac00);
  box-shadow: 0 0 16px rgba(255,181,25,.24);
  font-size: 12px;
}
.dfs-account-menu__text { min-width: 0; font-size: 14px; font-weight: 800; }
.dfs-account-menu__value {
  min-width: 30px;
  height: 30px;
  display: grid;
  place-items: center;
  padding: 0 8px;
  border-radius: 999px;
  color: #fff;
  background: linear-gradient(135deg,#ffbd23,#ff8b00);
  font-size: 13px;
  font-weight: 950;
}
.dfs-account-menu__arrow { color: #9e94a5; font-size: 24px; line-height: 1; }
.dfs-account-menu__item--logout { color: #b5aab9; }
.dfs-drawer__notice {
  min-height: 18px;
  margin: 14px 4px 0;
  color: #c99cff;
  font-size: 11px;
  line-height: 1.45;
}


.dfs-creations-warning {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  margin-bottom: 18px;
  padding: 16px 18px;
  border: 1px solid rgba(255,189,35,.34);
  border-radius: 18px;
  color: #fff3c4;
  background: linear-gradient(135deg,rgba(255,189,35,.14),rgba(255,79,216,.08));
  box-shadow: 0 16px 40px rgba(0,0,0,.22);
}
.dfs-creations-warning strong {
  flex: 0 0 auto;
  color: #fff;
  font-size: 14px;
  font-weight: 950;
}
.dfs-creations-warning span {
  color: #e8d9ef;
  font-size: 13px;
  line-height: 1.45;
}
.dfs-creation-card__expiry {
  margin: 8px 0 0;
  color: #e6cfff;
  font-size: 11px;
  font-weight: 800;
}
@media (max-width: 620px) {
  .dfs-creations-warning { flex-direction: column; gap: 6px; padding: 14px; }
}

/* Cards que exibem o histórico real do usuário. */
.dfs-creation-card {
  position: relative;
  min-width: 0;
  overflow: hidden;
  border: 1px solid rgba(197,126,255,.24);
  border-radius: var(--dfs-radius);
  background: linear-gradient(180deg,var(--dfs-card-2),var(--dfs-card));
  box-shadow: var(--dfs-shadow);
}
.dfs-creation-card__media {
  position: relative;
  aspect-ratio: 9/13;
  overflow: hidden;
  background: linear-gradient(145deg,#2b1740,#10091a);
}
.dfs-creation-card__media > img,
.dfs-creation-card__media > video {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.dfs-creation-card__video {
  background: #000;
}
.dfs-creation-card__video::-webkit-media-controls-panel {
  background-color: rgba(7,5,12,.72);
}
.dfs-creation-card__media::after {
  content: "";
  position: absolute;
  inset: auto 0 0;
  height: 35%;
  pointer-events: none;
  background: linear-gradient(transparent,rgba(7,5,12,.72));
}
.dfs-creation-card__status {
  position: absolute;
  z-index: 3;
  top: 12px;
  left: 12px;
  min-height: 28px;
  display: inline-flex;
  align-items: center;
  padding: 0 10px;
  border: 1px solid rgba(142,255,205,.32);
  border-radius: 999px;
  color: #a9ffd8;
  background: rgba(8,24,19,.76);
  backdrop-filter: blur(10px);
  font-size: 10px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .05em;
}
.dfs-creation-card__status.is-error {
  color: #ffb2bd;
  border-color: rgba(255,92,119,.30);
  background: rgba(42,10,18,.78);
}
.dfs-creation-card__loading {
  position: absolute;
  z-index: 2;
  inset: 0;
  display: grid;
  place-items: center;
  background: rgba(8,4,13,.34);
  backdrop-filter: blur(2px);
}
.dfs-creation-card__loading span {
  width: 44px;
  height: 44px;
  border: 3px solid rgba(255,255,255,.16);
  border-top-color: #d157ff;
  border-radius: 50%;
  animation: dfsCreationSpin .85s linear infinite;
}
@keyframes dfsCreationSpin { to { transform: rotate(360deg); } }
.dfs-creation-card__body { padding: 13px 14px 15px; }
.dfs-creation-card__progress {
  display:flex;
  align-items:center;
  gap:10px;
  margin-top:11px;
}
.dfs-creation-card__progress-track {
  flex:1;
  height:8px;
  overflow:hidden;
  border-radius:999px;
  background:rgba(255,255,255,.10);
  box-shadow:inset 0 0 0 1px rgba(195,116,255,.10);
}
.dfs-creation-card__progress-track span {
  display:block;
  width:0;
  height:100%;
  border-radius:999px;
  background:linear-gradient(90deg,#34d399 0%,#22c55e 100%);
  box-shadow:0 0 18px rgba(34,197,94,.32);
  transition:width .35s ease;
}
.dfs-creation-card__progress-value {
  min-width:40px;
  text-align:right;
  color:#ecdfff;
  font-size:11px;
  font-weight:900;
}
.dfs-creation-card__body h3 {
  margin: 0;
  color: #fff;
  font-size: 17px;
  letter-spacing: -.025em;
}
.dfs-creation-card__body time {
  display: block;
  margin-top: 5px;
  color: #8e8298;
  font-size: 11px;
}
.dfs-creation-card__actions {
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin-top: 11px;
}
.dfs-creation-card__open {
  min-height: 39px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(194,115,255,.30);
  border-radius: 12px;
  color: #fff;
  background: linear-gradient(90deg,rgba(124,44,255,.40),rgba(255,79,216,.28));
  font-size: 12px;
  font-weight: 900;
}
.dfs-creation-card__trash {
  position:absolute;
  z-index:4;
  top:12px;
  right:12px;
  width:34px;
  height:34px;
  display:grid;
  place-items:center;
  border:1px solid rgba(255,92,119,.38);
  border-radius:999px;
  color:#ff6f86;
  background:rgba(48,8,17,.76);
  backdrop-filter:blur(10px);
  cursor:pointer;
  transition:.2s ease;
}
.dfs-creation-card__trash svg { width:18px;height:18px; }
.dfs-creation-card__trash:hover {
  color:#fff;
  background:#e53855;
  border-color:#ff8c9e;
  transform:scale(1.04);
}
.dfs-creation-card__trash:disabled { opacity:.55;cursor:wait; }

.dfs-creation-card__preview {
  position: absolute;
  z-index: 4;
  right: 12px;
  bottom: 12px;
  width: 36px;
  height: 36px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(255,255,255,.18);
  border-radius: 10px;
  color: #fff;
  background: rgba(14,10,24,.72);
  backdrop-filter: blur(10px);
  cursor: pointer;
  transition: .2s ease;
}
.dfs-creation-card__preview svg { width: 18px; height: 18px; }
.dfs-creation-card__preview:hover {
  transform: scale(1.04);
  border-color: rgba(255,255,255,.34);
  background: rgba(28,18,45,.86);
}
.dfs-image-preview {
  position: fixed;
  inset: 0;
  z-index: 9999;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px;
  background: rgba(4,2,8,.86);
  backdrop-filter: blur(10px);
}
.dfs-image-preview.dfs-hidden { display: none; }
.dfs-image-preview__dialog {
  position: relative;
  width: min(92vw, 1100px);
  max-height: 92vh;
  display: flex;
  align-items: center;
  justify-content: center;
}
.dfs-image-preview__image {
  display: block;
  max-width: 100%;
  max-height: 92vh;
  width: auto;
  height: auto;
  object-fit: contain;
  border-radius: 18px;
  border: 1px solid rgba(201,152,255,.22);
  box-shadow: 0 24px 60px rgba(0,0,0,.45);
  background: #0b0712;
}
.dfs-image-preview__close {
  position: absolute;
  top: 14px;
  right: 14px;
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(255,255,255,.16);
  border-radius: 12px;
  color: #fff;
  background: rgba(10,7,18,.76);
  backdrop-filter: blur(10px);
  cursor: pointer;
  transition: .2s ease;
}
.dfs-image-preview__close svg { width: 20px; height: 20px; }
.dfs-image-preview__close:hover {
  transform: scale(1.04);
  background: rgba(28,18,45,.90);
  border-color: rgba(255,255,255,.30);
}
body.dfs-image-preview-open { overflow: hidden; }

@media (max-width: 620px) {
  .dfs-drawer { width: min(94vw, 390px); padding: 14px 14px 24px; }
  .dfs-drawer__head { margin-bottom: 14px; }
  .dfs-account-menu__item { min-height: 56px; }
}


/* =========================================================
   Favoritos e moeda visual v2.8.0
   ========================================================= */
.dfs-price-coin {
  width:17px;
  height:17px;
  flex:0 0 17px;
  display:inline-grid;
  place-items:center;
  margin-right:5px;
  border-radius:50%;
  font-style:normal;
  font-size:8px;
  line-height:1;
  color:#704100;
  background:radial-gradient(circle at 34% 28%,#fff8ba 0 20%,#ffd64e 21% 50%,#f1a400 51% 76%,#8d5500 77% 100%);
  border:1px solid rgba(255,233,140,.85);
  box-shadow:0 0 8px rgba(255,190,35,.38),inset 0 0 0 1px rgba(125,72,0,.16);
}
.dfs-card__price { display:inline-flex!important; align-items:center; }
.dfs-favorite {
  transition:transform .18s ease,border-color .18s ease,background .18s ease,color .18s ease,box-shadow .18s ease;
}
.dfs-favorite:hover { transform:scale(1.08); border-color:rgba(207,132,255,.72); }
.dfs-favorite.is-active {
  color:#ffe66d;
  border-color:rgba(255,221,90,.72);
  background:linear-gradient(145deg,rgba(115,59,0,.88),rgba(24,12,31,.92));
  box-shadow:0 0 18px rgba(255,206,65,.24),inset 0 0 0 1px rgba(255,232,145,.12);
}
.dfs-favorite.is-loading { pointer-events:none; opacity:.62; }


/* =========================================================
   Seletor visual de idiomas v2.9.0
   ========================================================= */
.dfs-language-panel {
  position: absolute;
  z-index: 8;
  inset: 0;
  min-height: 100%;
  padding: 24px 18px 28px;
  overflow-y: auto;
  background:
    radial-gradient(circle at 85% 4%, rgba(255,194,74,.08), transparent 190px),
    linear-gradient(180deg, #100b17 0%, #09060e 100%);
}
.dfs-language-panel__head {
  display: flex;
  align-items: center;
  gap: 13px;
  margin-bottom: 22px;
}
.dfs-language-panel__back {
  width: 36px;
  height: 36px;
  display: grid;
  place-items: center;
  padding: 0;
  border: 0;
  border-radius: 50%;
  color: #fff;
  background: transparent;
  cursor: pointer;
}
.dfs-language-panel__back:hover { background: rgba(255,255,255,.06); }
.dfs-language-panel__back svg { width: 23px; height: 23px; }
.dfs-language-panel__head h2 {
  margin: 0;
  color: #fff;
  font-size: 24px;
  font-weight: 950;
  letter-spacing: -.035em;
}
.dfs-language-list {
  display: grid;
  gap: 12px;
}
.dfs-language-option {
  width: 100%;
  min-height: 58px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 14px 16px;
  border: 1px solid rgba(195,112,255,.18);
  border-radius: 16px;
  color: #f7f1fb;
  text-align: left;
  background: rgba(255,255,255,.045);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.025);
  cursor: pointer;
  transition: border-color .18s ease, background .18s ease, transform .18s ease;
}
.dfs-language-option:hover {
  border-color: rgba(195,112,255,.48);
  background: rgba(164,73,255,.10);
  transform: translateY(-1px);
}
.dfs-language-option span {
  font-size: 15px;
  font-weight: 850;
}
.dfs-language-option__check {
  width: 22px;
  height: 22px;
  flex: 0 0 auto;
  color: #d956ff;
  opacity: 0;
  transform: scale(.78);
  transition: opacity .18s ease, transform .18s ease;
}
.dfs-language-option.is-selected {
  border-color: rgba(190,101,255,.60);
  background: linear-gradient(145deg, rgba(104,36,160,.18), rgba(255,77,216,.06));
  box-shadow: 0 0 0 1px rgba(162,70,255,.08), 0 0 22px rgba(154,70,255,.08);
}
.dfs-language-option.is-selected .dfs-language-option__check {
  opacity: 1;
  transform: scale(1);
}
.dfs-language-panel__note {
  margin: 18px 4px 0;
  color: #8f8298;
  font-size: 11px;
  line-height: 1.55;
}
@media (max-width: 620px) {
  .dfs-language-panel { padding: 20px 14px 26px; }
  .dfs-language-panel__head { margin-bottom: 18px; }
  .dfs-language-panel__head h2 { font-size: 22px; }
  .dfs-language-option { min-height: 56px; border-radius: 15px; }
}


/* =========================================================
   Guia de exemplos de foto v3.0
   ========================================================= */
body.dfs-photo-guide-open { overflow: hidden; }

.dfs-photo-guide {
  position: fixed;
  inset: 0;
  z-index: 100050;
  display: grid;
  place-items: center;
  padding: 18px;
  background: rgba(5, 4, 9, .80);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}

.dfs-photo-guide.dfs-hidden { display: none !important; }

.dfs-photo-guide__dialog {
  width: min(390px, 100%);
  max-height: calc(100dvh - 36px);
  overflow: auto;
  padding: 14px;
  border: 1px solid rgba(185, 104, 255, .34);
  border-radius: 22px;
  background:
    radial-gradient(circle at 100% 0, rgba(255, 166, 35, .10), transparent 34%),
    linear-gradient(160deg, #1b171d 0%, #0e0d12 72%);
  box-shadow: 0 24px 80px rgba(0,0,0,.58), 0 0 36px rgba(137, 53, 255, .13);
  scrollbar-width: thin;
  scrollbar-color: rgba(190, 115, 255, .45) transparent;
}

.dfs-photo-guide__header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  padding: 1px 1px 10px;
}

.dfs-photo-guide__header h2 {
  margin: 0 0 3px;
  color: #fff;
  font-size: 19px;
  line-height: 1.15;
  letter-spacing: -.02em;
}

.dfs-photo-guide__header p {
  margin: 0;
  color: #b9b2c0;
  font-size: 12px;
  line-height: 1.4;
}

.dfs-photo-guide__close {
  flex: 0 0 34px;
  width: 34px;
  height: 34px;
  display: grid;
  place-items: center;
  padding: 0;
  border: 1px solid rgba(255,255,255,.07);
  border-radius: 50%;
  color: #d8d1db;
  background: rgba(255,255,255,.07);
  font-size: 27px;
  line-height: 1;
  cursor: pointer;
  transition: .18s ease;
}

.dfs-photo-guide__close:hover {
  color: #fff;
  border-color: rgba(204, 122, 255, .55);
  background: rgba(151, 62, 226, .18);
}

.dfs-photo-guide__examples {
  display: grid;
  gap: 10px;
}

.dfs-photo-guide__example {
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.10);
  border-radius: 14px;
  background: #202024;
}

.dfs-photo-guide__media {
  position: relative;
  aspect-ratio: 16 / 7.1;
  overflow: hidden;
  background: #18171b;
}

.dfs-photo-guide__media img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}

.dfs-photo-guide__media.is-empty {
  display: grid;
  place-items: center;
  padding: 24px;
  color: #8f8795;
  font-size: 12px;
  text-align: center;
  background: linear-gradient(135deg, #26222c, #17151c);
}

.dfs-photo-guide__wrong {
  position: absolute;
  top: 8px;
  right: 8px;
  width: 28px;
  height: 28px;
  display: grid;
  place-items: center;
  border: 2px solid #fff;
  border-radius: 50%;
  color: #fff;
  background: #f12b37;
  box-shadow: 0 4px 12px rgba(0,0,0,.38);
  font-size: 24px;
  font-weight: 500;
  line-height: 1;
}

.dfs-photo-guide__caption {
  display: grid;
  grid-template-columns: 22px 1fr;
  align-items: start;
  gap: 8px;
  padding: 10px;
}

.dfs-photo-guide__number {
  width: 20px;
  height: 20px;
  display: grid;
  place-items: center;
  border-radius: 6px;
  color: #111;
  background: linear-gradient(135deg, #ffd468, #ff9f08);
  font-size: 12px;
  font-weight: 900;
}

.dfs-photo-guide__caption h3 {
  margin: 0 0 2px;
  color: #fff;
  font-size: 13px;
  line-height: 1.25;
}

.dfs-photo-guide__caption p {
  margin: 0;
  color: #b9b4bd;
  font-size: 11px;
  line-height: 1.35;
}

.dfs-photo-guide__confirm {
  width: 100%;
  min-height: 42px;
  margin-top: 12px;
  border: 0;
  border-radius: 11px;
  color: #171008;
  background: linear-gradient(100deg, #ffd267, #ff9c0d);
  box-shadow: 0 10px 25px rgba(255, 161, 20, .18);
  font-size: 14px;
  font-weight: 900;
  cursor: pointer;
  transition: transform .18s ease, filter .18s ease;
}

.dfs-photo-guide__confirm:hover {
  transform: translateY(-1px);
  filter: brightness(1.04);
}

@media (max-width: 480px) {
  .dfs-photo-guide {
    align-items: center;
    padding: 14px;
  }
  .dfs-photo-guide__dialog {
    width: 100%;
    max-height: calc(100dvh - 28px);
    border-radius: 19px;
  }
}


.dfs-generation-notice {
  position: fixed;
  inset: 0;
  z-index: 1200;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px;
  background: rgba(5, 4, 12, .58);
  backdrop-filter: blur(8px);
  opacity: 0;
  pointer-events: none;
  transition: opacity .18s ease;
}
.dfs-generation-notice.is-visible {
  opacity: 1;
  pointer-events: auto;
}
.dfs-generation-notice__card {
  position: relative;
  width: min(420px, 100%);
  padding: 28px 24px 22px;
  border-radius: 24px;
  border: 1px solid rgba(158, 103, 255, .35);
  background: linear-gradient(180deg, rgba(28,16,45,.96), rgba(14,10,24,.98));
  box-shadow: 0 22px 60px rgba(0,0,0,.45), 0 0 35px rgba(122,58,255,.18);
  text-align: center;
}
.dfs-generation-notice__close {
  position: absolute;
  top: 12px;
  right: 12px;
  width: 36px;
  height: 36px;
  border: 0;
  border-radius: 999px;
  background: rgba(255,255,255,.08);
  color: #fff;
  font-size: 24px;
  line-height: 1;
  cursor: pointer;
}
.dfs-generation-notice__icon {
  width: 64px;
  height: 64px;
  margin: 0 auto 14px;
  border-radius: 999px;
  display: grid;
  place-items: center;
  background: linear-gradient(180deg, #34d399 0%, #16a34a 100%);
  color: #08170f;
  font-size: 34px;
  font-weight: 900;
  box-shadow: 0 0 30px rgba(34,197,94,.35);
}
.dfs-generation-notice__card h3 {
  margin: 0 0 8px;
  color: #fff;
  font-size: clamp(24px, 4vw, 32px);
}
.dfs-generation-notice__card p {
  margin: 0;
  color: #ddd2ef;
  font-size: 15px;
  line-height: 1.55;
}
.dfs-generation-notice__actions { margin-top: 18px; }
.dfs-generation-notice__action {
  min-width: 220px;
  border: 0;
  border-radius: 999px;
  padding: 14px 20px;
  background: linear-gradient(90deg,#7c2cff 0%,#ff4fd8 100%);
  color: #fff;
  font-weight: 800;
  cursor: pointer;
  box-shadow: 0 14px 34px rgba(181, 82, 255, .28);
}
@media (max-width: 760px) {
  .dfs-generation-notice__card {
    padding: 24px 18px 18px;
    border-radius: 20px;
  }
  .dfs-generation-notice__action { width: 100%; min-width: 0; }
}


/* =========================================================
   Carrossel opcional de conteúdos v3.6.0
   ========================================================= */
.dfs-card__slides,
.dfs-card__slide {
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
}
.dfs-card__slide {
  visibility:hidden;
  opacity:0;
  pointer-events:none;
  transition:opacity .2s ease;
}
.dfs-card__slide.is-active {
  visibility:visible;
  opacity:1;
  pointer-events:auto;
}
.dfs-card__slide > img,
.dfs-card__slide > video,
.dfs-card__slide > .dfs-card__placeholder {
  width:100%;
  height:100%;
  object-fit:cover;
}
.dfs-card__carousel-arrow {
  position:absolute;
  z-index:9;
  top:50%;
  width:34px;
  height:34px;
  padding:0;
  display:grid;
  place-items:center;
  border:1px solid rgba(255,255,255,.2);
  border-radius:50%;
  color:#fff;
  background:rgba(8,5,13,.67);
  box-shadow:0 7px 18px rgba(0,0,0,.34);
  backdrop-filter:blur(9px);
  cursor:pointer;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transform:translateY(-50%) scale(.92);
  transition:background .18s ease,border-color .18s ease,transform .18s ease,opacity .18s ease,visibility .18s ease;
}
@media (hover:hover) and (pointer:fine) {
  .dfs-card:hover .dfs-card__carousel-arrow,
  .dfs-card:focus-within .dfs-card__carousel-arrow {
    opacity:1;
    visibility:visible;
    pointer-events:auto;
    transform:translateY(-50%) scale(1);
  }
}
@media (hover:none), (pointer:coarse) {
  .dfs-card.is-carousel-controls-visible .dfs-card__carousel-arrow {
    opacity:1;
    visibility:visible;
    pointer-events:auto;
    transform:translateY(-50%) scale(1);
  }
}
.dfs-card__carousel-arrow:hover {
  border-color:rgba(209,145,255,.76);
  background:rgba(75,27,105,.86);
  transform:translateY(-50%) scale(1.06);
}
.dfs-card__carousel-arrow svg { width:19px;height:19px; }
.dfs-card__carousel-arrow--prev { left:9px; }
.dfs-card__carousel-arrow--next { right:9px; }
.dfs-card.is-generating .dfs-card__carousel-arrow { cursor:not-allowed; }
.dfs-card.is-generating:hover .dfs-card__carousel-arrow,
.dfs-card.is-generating:focus-within .dfs-card__carousel-arrow,
.dfs-card.is-generating.is-carousel-controls-visible .dfs-card__carousel-arrow { opacity:.46; }
@media(max-width:760px){
  .dfs-card__carousel-arrow{width:32px;height:32px}
  .dfs-card__carousel-arrow--prev{left:8px}
  .dfs-card__carousel-arrow--next{right:8px}
}


/* =========================================================
   Paginação do catálogo v3.6.5
   ========================================================= */
.dfs-pagination {
  width: 100%;
  margin: 30px auto 4px;
  display: flex;
  justify-content: center;
}
.dfs-pagination .page-numbers {
  margin: 0;
  padding: 0;
  list-style: none;
}
.dfs-pagination > .page-numbers,
.dfs-pagination .nav-links {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 8px;
}
.dfs-pagination .page-numbers li {
  margin: 0;
}
.dfs-pagination a.page-numbers,
.dfs-pagination span.page-numbers {
  min-width: 42px;
  height: 42px;
  padding: 0 13px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 12px;
  color: #e9e3f3;
  background: rgba(24,17,34,.86);
  box-shadow: 0 8px 24px rgba(0,0,0,.18);
  font-size: 14px;
  font-weight: 800;
  line-height: 1;
  text-decoration: none;
  transition: transform .16s ease, border-color .16s ease, background .16s ease, color .16s ease;
}
.dfs-pagination a.page-numbers:hover,
.dfs-pagination a.page-numbers:focus-visible {
  border-color: rgba(194,120,255,.7);
  color: #fff;
  background: rgba(91,39,130,.92);
  transform: translateY(-1px);
  outline: none;
}
.dfs-pagination span.page-numbers.current {
  border-color: rgba(218,151,255,.92);
  color: #fff;
  background: linear-gradient(135deg, #7c2cff, #b23cff);
  box-shadow: 0 10px 26px rgba(124,44,255,.3);
}
.dfs-pagination span.page-numbers.dots {
  min-width: 28px;
  padding: 0 4px;
  border-color: transparent;
  background: transparent;
  box-shadow: none;
}
.dfs-pagination .prev.page-numbers,
.dfs-pagination .next.page-numbers {
  padding-inline: 15px;
}
.dfs-pagination--native .navigation.pagination {
  margin: 0;
}
@media (max-width: 560px) {
  .dfs-pagination {
    margin-top: 24px;
  }
  .dfs-pagination > .page-numbers,
  .dfs-pagination .nav-links {
    gap: 6px;
  }
  .dfs-pagination a.page-numbers,
  .dfs-pagination span.page-numbers {
    min-width: 38px;
    height: 38px;
    padding: 0 10px;
    border-radius: 10px;
    font-size: 13px;
  }
  .dfs-pagination__label {
    display: none;
  }
}


/* =========================================================
   Layout desktop wide + menu lateral fixo + abas superiores
   ========================================================= */

@media (min-width: 1024px) {
  body {
    --dfs-desktop-sidebar-width: 312px;
    padding-left: calc(var(--dfs-desktop-sidebar-width) + 24px);
    padding-bottom: 0;
  }

  .dfs-drawer-backdrop,
  .dfs-header [data-drawer-open],
  .dfs-drawer__head .dfs-icon-button {
    display: none !important;
  }

  .dfs-drawer {
    width: var(--dfs-desktop-sidebar-width);
    transform: none;
    padding: 22px 16px 26px;
    overflow-y: auto;
    box-shadow: 14px 0 34px rgba(0,0,0,.26);
  }

  .dfs-header {
    background: transparent;
    border-bottom: 0;
  }

  .dfs-bottom-nav-wrap {
    position: static;
    width: calc(100% - 40px);
    margin: 0 20px 14px;
    pointer-events: auto;
  }

  .dfs-bottom-nav {
    width: 100%;
    max-width: none;
    margin: 0;
    padding: 7px;
    gap: 8px;
    border-radius: 22px;
    background: rgba(13,8,20,.86);
    box-shadow: 0 14px 38px rgba(0,0,0,.24), 0 0 32px rgba(163,77,255,.08);
  }

  .dfs-bottom-nav__item {
    min-height: 50px;
    flex-direction: row;
    gap: 9px;
    padding: 0 14px;
    font-size: 13px;
    border-radius: 16px;
  }

  .dfs-bottom-nav__item svg {
    width: 19px;
    height: 19px;
  }

  .dfs-container,
  .alignwide {
    width: calc(100% - 40px);
    max-width: none;
    margin-inline: 20px;
  }

  .dfs-section {
    padding-top: 16px;
  }

  .dfs-section--catalog {
    padding-top: 12px;
  }

  .dfs-grid {
    grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
    gap: 20px;
  }

  .dfs-footer {
    padding-bottom: 34px;
  }

  .dfs-drawer__head {
    margin-bottom: 18px;
  }

  .dfs-account-card,
  .dfs-account-login-card,
  .dfs-account-menu__item,
  .dfs-language-option {
    border-radius: 16px;
  }
}

@media (min-width: 1440px) {
  .dfs-grid {
    grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
  }
}



/* =========================================================
   Páginas legais + links fixos no menu lateral v3.6.19
   ========================================================= */
.dfs-drawer {
  display: flex;
  flex-direction: column;
}

.dfs-drawer__legal-links {
  display: grid;
  gap: 8px;
  margin-top: auto;
  padding-top: 18px;
}

.dfs-drawer__legal-links a {
  display: flex;
  align-items: center;
  min-height: 44px;
  padding: 11px 13px;
  border: 1px solid rgba(255,255,255,.07);
  border-radius: 14px;
  color: #91869a;
  background: rgba(255,255,255,.022);
  font-size: 12px;
  font-weight: 800;
  line-height: 1.25;
  text-decoration: none;
  transition: border-color .18s ease, background .18s ease, color .18s ease, transform .18s ease;
}

.dfs-drawer__legal-links a:hover {
  color: #fff;
  border-color: rgba(184,104,255,.22);
  background: rgba(164,73,255,.08);
  transform: translateX(2px);
}

.dfs-legal-page {
  min-height: calc(100vh - 68px);
  display: flex;
  align-items: center;
}

.dfs-legal-page .dfs-section {
  width: 100%;
  padding: clamp(28px, 5vw, 70px) 0;
}

.dfs-legal-page__container {
  width: min(980px, calc(100% - 40px));
  max-width: 980px;
  margin-inline: auto;
}

.dfs-legal-card {
  position: relative;
  width: 100%;
  padding: clamp(22px, 4vw, 44px);
  border: 1px solid rgba(184,104,255,.22);
  border-radius: 28px;
  color: #eee7f5;
  background:
    radial-gradient(circle at 90% 0%, rgba(255,78,216,.10), transparent 260px),
    radial-gradient(circle at 0% 10%, rgba(255,194,74,.08), transparent 240px),
    linear-gradient(180deg, rgba(19,12,30,.96), rgba(9,6,14,.98));
  box-shadow: 0 24px 70px rgba(0,0,0,.30);
}

.dfs-legal-actions {
  display: flex;
  justify-content: flex-start;
  margin-bottom: 22px;
}

.dfs-legal-close {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 42px;
  padding: 10px 15px;
  border: 1px solid rgba(184,104,255,.24);
  border-radius: 999px;
  color: #f3eaff;
  background: rgba(255,255,255,.045);
  font-size: 13px;
  font-weight: 900;
  line-height: 1;
  text-decoration: none;
  transition: border-color .18s ease, background .18s ease, transform .18s ease;
}

.dfs-legal-close span {
  display: grid;
  place-items: center;
  width: 20px;
  height: 20px;
  border-radius: 999px;
  color: #170c20;
  background: #fff;
  font-size: 17px;
  line-height: 1;
}

.dfs-legal-close:hover {
  border-color: rgba(255,79,216,.42);
  background: rgba(163,77,255,.13);
  transform: translateY(-1px);
}

.dfs-legal-header {
  padding-bottom: 24px;
  border-bottom: 1px solid rgba(255,255,255,.08);
}

.dfs-legal-eyebrow {
  display: inline-flex;
  margin-bottom: 12px;
  padding: 7px 11px;
  border: 1px solid rgba(255,204,86,.20);
  border-radius: 999px;
  color: #ffd675;
  background: rgba(255,204,86,.06);
  font-size: 11px;
  font-weight: 950;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.dfs-legal-header h1 {
  margin: 0;
  color: #fff;
  font-size: clamp(30px, 5vw, 52px);
  line-height: .98;
  font-weight: 950;
  letter-spacing: -.055em;
}

.dfs-legal-header p {
  max-width: 760px;
  margin: 16px 0 0;
  color: #c8bbd2;
  font-size: clamp(15px, 2.2vw, 18px);
  line-height: 1.65;
}

.dfs-legal-header small {
  display: block;
  margin-top: 16px;
  color: #85798e;
  font-size: 12px;
  font-weight: 750;
}

.dfs-legal-content {
  display: grid;
  gap: 24px;
  padding-top: 28px;
}

.dfs-legal-section h2 {
  margin: 0 0 10px;
  color: #fff;
  font-size: clamp(18px, 2.4vw, 23px);
  line-height: 1.2;
  font-weight: 950;
  letter-spacing: -.025em;
}

.dfs-legal-section p {
  margin: 10px 0 0;
  color: #c5b9cd;
  font-size: 15px;
  line-height: 1.72;
}

.dfs-legal-footer-note {
  margin-top: 30px;
  padding: 16px 18px;
  border: 1px solid rgba(255,189,35,.22);
  border-radius: 18px;
  color: #ffe7a1;
  background: rgba(255,189,35,.075);
  font-size: 13px;
  line-height: 1.6;
}

@media (min-width: 1024px) {
  .dfs-drawer__legal-links {
    padding-bottom: 4px;
  }

  .dfs-legal-page__container {
    width: min(980px, calc(100% - 40px));
  }
}

@media (max-width: 620px) {
  .dfs-drawer__legal-links {
    margin-top: auto;
  }

  .dfs-legal-card {
    border-radius: 22px;
  }
}


/* Correção v3.6.20: mantém políticas realmente no fim do menu mobile. */
.dfs-drawer {
  height: 100dvh;
  min-height: 100dvh;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
}

.dfs-drawer__legal-links {
  margin-top: auto !important;
  flex-shrink: 0;
  padding-bottom: max(0px, env(safe-area-inset-bottom));
}

@media (max-width: 620px) {
  .dfs-drawer__legal-links {
    margin-top: auto !important;
  }
}

.dfs-infinite-scroll {
  width: 100%;
  min-height: 96px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  color: rgba(255, 255, 255, 0.72);
  font-weight: 800;
  font-size: 14px;
  text-align: center;
  margin: 26px 0 10px;
}

.dfs-infinite-scroll__spinner {
  width: 22px;
  height: 22px;
  border-radius: 999px;
  border: 3px solid rgba(255, 255, 255, 0.18);
  border-top-color: rgba(255, 255, 255, 0.76);
  animation: dfsInfiniteSpin 0.8s linear infinite;
  opacity: 0;
}

.dfs-infinite-scroll.is-loading .dfs-infinite-scroll__spinner {
  opacity: 1;
}

@keyframes dfsInfiniteSpin {
  to { transform: rotate(360deg); }
}


@media (max-width: 620px) {
  .dfs-header__actions { gap: 7px; }
  .dfs-header-language__toggle {
    width: 38px;
    min-height: 38px;
    font-size: 18px;
  }
  .dfs-header-language__panel {
    right: 0;
    grid-template-columns: repeat(2, 32px);
    gap: 7px;
    padding: 9px;
    border-radius: 18px;
    max-width: calc(100vw - 18px);
    max-height: calc(100vh - 86px);
    overflow-y: auto;
    overflow-x: hidden;
    scrollbar-width: none;
  }
  .dfs-header-language__panel::-webkit-scrollbar { display: none; }
  .dfs-header-language__option {
    width: 32px;
    height: 32px;
    font-size: 17px;
  }
}


/* Bônus de cadastro */
.dfs-auth-bonus {
  margin: -2px 0 14px;
  padding: 10px 12px;
  border-radius: 14px;
  border: 1px solid rgba(255, 207, 84, .38);
  background: linear-gradient(135deg, rgba(255, 183, 27, .16), rgba(142, 45, 255, .10));
  color: #ffe7a8;
  font-size: 13px;
  font-weight: 900;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.04);
}

.dfs-signup-bonus-toast {
  position: fixed;
  right: 24px;
  bottom: 24px;
  z-index: 100080;
  width: min(380px, calc(100vw - 40px));
  transform: translateX(calc(100% + 44px));
  opacity: 0;
  pointer-events: none;
  text-align: left;
  display: grid;
  grid-template-columns: 54px minmax(0, 1fr);
  column-gap: 14px;
  align-items: center;
  padding: 18px 52px 18px 18px;
  border-radius: 22px;
  border: 1px solid rgba(255, 207, 84, .42);
  background: radial-gradient(circle at 0 0, rgba(255, 183, 27, .26), transparent 42%), linear-gradient(180deg, #21112e, #09070d);
  color: #fff;
  box-shadow: 0 28px 90px rgba(0,0,0,.65), 0 0 36px rgba(255, 184, 31, .16);
  transition: transform .58s cubic-bezier(.16,1,.3,1), opacity .28s ease;
}

.dfs-signup-bonus-toast.is-visible {
  opacity: 1;
  transform: translateX(0);
  pointer-events: auto;
}

.dfs-signup-bonus-toast__icon {
  grid-row: 1 / span 2;
  width: 52px;
  height: 52px;
  margin: 0;
  display: grid;
  place-items: center;
  border-radius: 18px;
  color: #fff5b9;
  background: radial-gradient(circle, #ffd868 0 28%, #ed9f00 29% 52%, #714500 54% 100%);
  border: 2px solid rgba(255,225,134,.52);
  box-shadow: 0 0 24px rgba(255,172,0,.38);
}

.dfs-signup-bonus-toast strong {
  display: block;
  font-size: 17px;
  line-height: 1.18;
  margin: 0 0 4px;
}

.dfs-signup-bonus-toast p {
  margin: 0;
  color: #dacde5;
  font-size: 13px;
  line-height: 1.45;
}


.dfs-signup-bonus-toast__close {
  position: absolute;
  top: 10px;
  right: 10px;
  width: 28px;
  height: 28px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(255,255,255,.14);
  border-radius: 999px;
  background: rgba(255,255,255,.07);
  color: #efe7f5;
  font-size: 20px;
  line-height: 1;
  cursor: pointer;
}

.dfs-signup-bonus-toast__close:hover {
  background: rgba(255,255,255,.13);
}


@media (max-width: 560px) {
  .dfs-signup-bonus-toast {
    right: 8px;
    bottom: calc(96px + env(safe-area-inset-bottom));
    width: min(300px, calc(100vw - 18px));
    grid-template-columns: 38px minmax(0, 1fr);
    column-gap: 10px;
    padding: 13px 42px 13px 13px;
    border-radius: 18px;
  }
  .dfs-signup-bonus-toast__icon {
    width: 38px;
    height: 38px;
    border-radius: 14px;
    font-size: 13px;
  }
  .dfs-signup-bonus-toast strong {
    font-size: 14px;
    margin-bottom: 3px;
  }
  .dfs-signup-bonus-toast p {
    font-size: 11.5px;
    line-height: 1.35;
  }
  .dfs-signup-bonus-toast__close {
    top: 8px;
    right: 8px;
    width: 24px;
    height: 24px;
    font-size: 17px;
  }
}


/* Botão de retorno em páginas filtradas */
.dfs-page-return {
  display: flex;
  justify-content: flex-start;
  margin: 0 0 18px;
}

.dfs-page-return__button {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 42px;
  padding: 0 16px;
  border-radius: 999px;
  border: 1px solid rgba(183, 91, 255, .38);
  background: rgba(122, 44, 202, .18);
  color: #f5ecff;
  font-size: 13px;
  font-weight: 900;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.04);
}

.dfs-page-return__button:hover {
  border-color: rgba(255, 203, 91, .56);
  background: rgba(122, 44, 202, .28);
  color: #fff;
}

@media (max-width: 620px) {
  .dfs-page-return {
    justify-content: center;
    margin-bottom: 14px;
  }

  .dfs-page-return__button {
    width: 100%;
    justify-content: center;
    min-height: 44px;
  }
}
