/* Site público. As cores/fontes vêm do tema (variáveis --c-*, --f-*, --s-*) aplicado pelo JS. */
:root {
  --c-pageBg: #fffaf6; --c-stripeA: #eef7e2; --c-stripeB: #fffdf9;
  --c-text: #6e4b5c; --c-muted: #a88596; --c-heading: #c2577f; --c-link: #e0679a;
  --c-accent: #f6a5c4; --c-accent2: #b9dd9c; --c-panelBg: #fff0f6; --c-panelBorder: #f7c6da;
  --c-menuBg: #fbd3e3; --c-menuText: #a1476f; --c-menuActive: #fff; --c-headerBg: #fde4ee; --c-headerText: #5b3a4a;
  --c-starOn: #f7b500; --c-starOff: #ecd9e2;
  --f-body: 'Delius', cursive, sans-serif; --f-heading: 'Dancing Script', cursive; --f-title: 'Sacramento', cursive; --f-menu: var(--f-body);
  --s-body: 15px; --s-heading: 26px; --s-title: 76px; --s-menu: 15px;
  --panel-radius: 14px; --panel-bw: 2px; --panel-bs: solid; --panel-shadow: none;
  --page-bg: var(--c-pageBg); --grid-max: 1180px;
}

* { box-sizing: border-box; }
html { background: var(--c-pageBg); }
body {
  margin: 0;
  min-height: 100vh;
  position: relative;
  background: var(--c-pageBg);
  color: var(--c-text);
  font-family: var(--f-body);
  font-size: var(--s-body);
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
}
a { color: var(--c-link); text-decoration: none; }
a:hover { text-decoration: underline dotted; }
img { max-width: 100%; }

.page {
  position: relative; z-index: 1;
  max-width: var(--grid-max); margin: var(--grid-top, 10px) auto 60px;
  padding: var(--ct-pad, 0);
  background: var(--ct-bg, transparent); border-radius: var(--ct-radius, 0); border: var(--ct-border, 0);
}
#page-bg { position: absolute; inset: 0; z-index: 0; pointer-events: none; overflow: hidden; }
#page-bg .bg-layer { position: absolute; inset: 0; }
.grid-wrap { position: relative; margin: 0 6px; }
.grid-stack { position: relative; z-index: 2; }
.grid-stack { pointer-events: none; }
.grid-stack > .grid-stack-item, .mobile-stack > * { pointer-events: auto; }
html { overflow-x: clip; }
.topic-list--list { flex-direction: column; gap: 2px; }
.topic-list--list a { background: none; border: 0; padding: 0; }
.topic-list--cloud { gap: 4px 10px; align-items: baseline; }
.topic-list--cloud a { background: none; border: 0; padding: 0; }

/* ---------- Adesivos (decor) ---------- */
.decor-layer { position: absolute; inset: 0; pointer-events: none; }
.decor-layer--back { z-index: 1; }
.decor-layer--front { z-index: 5; }
.decor { position: absolute; transform-origin: center; pointer-events: none; user-select: none; }
.decor img { display: block; width: 100%; height: auto; pointer-events: none; -webkit-user-drag: none; }
.decor a { pointer-events: auto; }
.decor-text { white-space: pre; line-height: 1.1; }
@keyframes d-float { 0%,100% { translate: 0 0; } 50% { translate: 0 -10px; } }
@keyframes d-spin { to { rotate: 360deg; } }
@keyframes d-pulse { 0%,100% { scale: 1; } 50% { scale: 1.08; } }
@keyframes d-swing { 0%,100% { rotate: -6deg; } 50% { rotate: 6deg; } }
@keyframes d-blink { 0%,100% { opacity: 1; } 50% { opacity: .35; } }
.anim-float { animation: d-float 3s ease-in-out infinite; }
.anim-spin { animation: d-spin 8s linear infinite; }
.anim-pulse { animation: d-pulse 1.8s ease-in-out infinite; }
.anim-swing { animation: d-swing 2.4s ease-in-out infinite; }
.anim-blink { animation: d-blink 1.4s ease-in-out infinite; }
.grid-stack { min-height: 200px; }
.grid-stack > .grid-stack-item > .grid-stack-item-content { overflow: visible; }
.grid-stack-item.w-scroll > .grid-stack-item-content { overflow-y: auto; overflow-x: hidden; }
.grid-stack-item.auto-h .w { height: auto; }
.grid-stack-item.auto-h > .grid-stack-item-content { overflow: hidden; }

/* ---------- Janelas (painéis) ---------- */
.w { height: 100%; }
.w-panel {
  background: var(--w-bg, var(--c-panelBg));
  border: var(--panel-bw) var(--panel-bs) var(--c-panelBorder);
  border-radius: var(--panel-radius);
  box-shadow: var(--panel-shadow);
  padding: var(--panel-pad, 15px);
}
.w-frameless .w-panel, .w-frameless .post { background: transparent; border: 0; box-shadow: none; }
.w-frameless .w-panel { padding: 0; }
.w-plain { background: transparent; border: 0; box-shadow: none; padding: 0; }
.w-title {
  font-family: var(--w-title-font, var(--f-heading));
  font-size: calc(var(--s-heading) * .85);
  color: var(--c-heading);
  margin: 0 0 8px;
  line-height: 1.2;
  font-weight: 700;
}
.w-empty { color: var(--c-muted); font-size: .9em; text-align: center; padding: 12px 0; }

/* ---------- Menu em abas ---------- */
.w-menu { display: flex; align-items: flex-end; height: 100%; }
.menu-tabs { display: flex; flex-wrap: wrap; gap: 6px; list-style: none; margin: 0; padding: 0 8px; }
.menu-tabs a {
  display: block;
  padding: 7px 18px 6px;
  background: var(--c-menuBg);
  color: var(--c-menuText);
  font-family: var(--f-menu);
  font-size: var(--s-menu);
  border: var(--panel-bw) solid var(--c-panelBorder);
  border-bottom: 0;
  border-radius: 12px 12px 0 0;
  transition: transform .15s, background .15s;
}
.menu-tabs a:hover { text-decoration: none; transform: translateY(-2px); }
.menu-tabs a[aria-current='page'] { background: var(--c-menuActive); }
.w-menu--center { justify-content: center; } .w-menu--center .menu-tabs { justify-content: center; }
.w-menu--right { justify-content: flex-end; } .w-menu--right .menu-tabs { justify-content: flex-end; }
.w-menu--pills { align-items: center; } .w-menu--pills .menu-tabs a { border-radius: 999px; border-bottom: var(--panel-bw) solid var(--c-panelBorder); }
.w-menu--plain { align-items: center; } .w-menu--plain .menu-tabs a { background: none; border: 0; padding: 4px 10px; }
.w-menu--plain .menu-tabs a[aria-current='page'] { text-decoration: underline wavy var(--c-accent); }
.w-menu--buttons { align-items: center; } .w-menu--buttons .menu-tabs a { border-radius: 8px; border-bottom: var(--panel-bw) solid var(--c-panelBorder); box-shadow: 0 3px 0 var(--c-panelBorder); }
.w-menu--vertical .menu-tabs { flex-direction: column; width: 100%; }
.w-menu--vertical .menu-tabs a { border-radius: 10px; border-bottom: var(--panel-bw) solid var(--c-panelBorder); }

/* ---------- Cabeçalho ---------- */
.w-header { position: relative; height: 100%; display: grid; place-items: center; text-align: center; overflow: hidden; }
.header-cloud { position: absolute; inset: 0; width: 100%; height: 100%; }
.header-text { position: relative; padding: 10px 40px; color: var(--c-headerText); }
.header-title {
  font-family: var(--w-title-font, var(--f-title));
  font-size: clamp(36px, 7vw, var(--s-title));
  line-height: 1;
  margin: 0;
  font-weight: 400;
  text-shadow: 2px 2px 0 rgba(255, 255, 255, .8);
}
.header-sub { font-family: var(--f-title); font-size: clamp(20px, 3vw, calc(var(--s-title) * .5)); margin: 4px 0 0; }
.header-deco { position: absolute; font-size: clamp(28px, 4vw, 52px); right: 8%; top: 50%; transform: translateY(-30%) rotate(12deg); }
.w-header--images { display: block; position: relative; overflow: hidden; height: 100%; }
.w-header--images.w-header--natural { height: auto; }
.w-header--images .header-text { position: absolute; inset: 0; display: grid; place-content: center; z-index: 1; }
.hdr-bg { position: absolute; inset: 0; }
.hdr-bg-img { display: block; width: 100%; height: auto; }
.hdr-front { position: absolute; z-index: 2; max-width: none; height: auto; pointer-events: none; }
.sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.w-header--banner { background: var(--c-headerBg); border: var(--panel-bw) var(--panel-bs) var(--c-panelBorder); border-radius: var(--panel-radius); }
.w-header--banner::after { content: ''; position: absolute; inset: 8px; border: 2px dashed rgba(255,255,255,.9); border-radius: calc(var(--panel-radius) - 4px); pointer-events: none; }

/* ---------- Pesquisa ---------- */
.search-form { display: flex; gap: 6px; }
.search-form input {
  flex: 1; min-width: 0;
  font: inherit; color: var(--c-text);
  padding: 6px 12px;
  border: 2px solid var(--c-panelBorder);
  border-radius: 999px;
  background: #fff;
  outline: none;
}
.search-form input:focus { border-color: var(--c-accent); box-shadow: 0 0 0 3px color-mix(in srgb, var(--c-accent) 30%, transparent); }
.btn {
  font: inherit; cursor: pointer;
  background: var(--c-accent); color: #fff;
  border: 0; border-radius: 999px;
  padding: 6px 14px;
  box-shadow: 0 2px 0 color-mix(in srgb, var(--c-accent) 60%, #000);
}
.btn:hover { filter: brightness(1.05); }
.btn:active { transform: translateY(1px); box-shadow: none; }

/* ---------- Perfil ---------- */
.w-profile { text-align: center; }
.profile-photo {
  --ring: var(--c-accent);
  display: block;
  width: 78%; max-width: 220px;
  aspect-ratio: 1;
  margin: 0 auto 8px;
  border-radius: 12px;
  object-fit: cover;
  background: #fff;
  border: 4px solid #fff;
  box-shadow: 0 0 0 2px var(--c-panelBorder), 0 4px 10px rgba(0,0,0,.08);
  transform: rotate(-2deg);
}
.w-profile { --photo-w: 78%; }
.w-profile .profile-photo { width: var(--photo-w); max-width: none; transform: rotate(var(--photo-tilt, -2deg)); }
.profile-photo.shape-round { border-radius: 50%; }
.profile-photo.shape-plain { border: 0; box-shadow: none; border-radius: 8px; }
.profile-photo.shape-polaroid { border-radius: 2px; border-width: 8px 8px 26px; }
.profile-photo.shape-heart { border: 0; box-shadow: none; border-radius: 0;
  -webkit-mask: radial-gradient(at 70% 31%, #000 29%, #0000 30%), radial-gradient(at 30% 31%, #000 29%, #0000 30%), linear-gradient(#000 0 0) bottom / 100% 50% no-repeat;
  clip-path: polygon(-41% 0, 50% 91%, 141% 0); }
.profile-photo.shape-ring { border-radius: 50%; box-shadow: 0 0 0 3px #fff, 0 0 0 6px var(--ring); }
.profile-photo.shape-original { aspect-ratio: auto; height: auto; object-fit: contain; border-radius: 8px; }
.w-profile--full { padding: 0; overflow: hidden; }
.w-profile--full .profile-photo-link, .w-profile--full > .profile-photo { display: block; }
.w-profile--full .profile-photo { width: 100%; aspect-ratio: auto; height: auto; margin: 0; border: 0; border-radius: 0; box-shadow: none; transform: none; display: block; }
.w-profile--full .profile-info { padding: 10px var(--panel-pad, 15px) var(--panel-pad, 15px); }
.w-profile--full .profile-info:empty { display: none; }
.profile-photo-link { display: block; }
.profile-extra { font-size: .92em; margin-top: 6px; }
.profile-extra > :last-child { margin-bottom: 0; }
.w-profile--row { display: flex; align-items: center; gap: 12px; text-align: left; }
.w-profile--row .profile-photo { margin: 0; flex-shrink: 0; }
.w-profile--row .profile-info { min-width: 0; }
.profile-photo--empty { display: grid; place-items: center; font-size: 48px; color: var(--c-accent); font-family: var(--f-title); }
.profile-name { font-family: var(--w-title-font, var(--f-heading)); font-size: calc(var(--s-heading) * .95); color: var(--c-heading); margin: 2px 0; font-weight: 700; }
.profile-bio { font-size: .92em; white-space: pre-line; margin: 0; }
.profile-link { font-size: .85em; }

/* ---------- Tópicos ---------- */
.topic-list { display: flex; flex-wrap: wrap; gap: 6px; list-style: none; margin: 0; padding: 0; }
.topic-list a {
  display: inline-block; padding: 2px 10px;
  border-radius: 999px; background: #fff;
  border: 1px solid var(--c-panelBorder);
  font-size: .9em;
}
.topic-list a small { color: var(--c-muted); }

/* ---------- Texto livre / imagem ---------- */
.w-text .w-body > :first-child { margin-top: 0; }
.w-image { display: grid; place-items: center; height: 100%; }
.w-image img { max-height: 100%; object-fit: contain; border-radius: calc(var(--panel-radius) - 4px); }
.w-image figcaption { font-size: .85em; color: var(--c-muted); text-align: center; }

/* ---------- Posts ---------- */
.feed { display: flex; flex-direction: column; gap: 14px; }
.feed-day {
  font-family: var(--f-body);
  text-transform: uppercase;
  letter-spacing: .04em;
  color: color-mix(in srgb, var(--c-accent2) 55%, #3a5a2a);
  font-size: .85em;
  font-weight: 700;
  margin: 6px 4px -6px;
}
.feed-head { padding: 10px 16px; }
.feed-head h2 { font-family: var(--f-heading); color: var(--c-heading); margin: 0; font-size: var(--s-heading); }
.feed-head p { margin: 2px 0 0; color: var(--c-muted); }

.post {
  background: var(--c-panelBg);
  border: var(--panel-bw) var(--panel-bs) var(--c-panelBorder);
  border-radius: var(--panel-radius);
  box-shadow: var(--panel-shadow);
  padding: 18px 22px;
}
.post-title { font-family: var(--f-heading); font-size: var(--s-heading); color: var(--c-heading); margin: 0; line-height: 1.2; }
.post-title a { color: inherit; }
.post-time { color: var(--c-muted); font-size: .85em; margin-top: 2px; }
.post-cover { display: block; margin: 14px auto 4px; border-radius: 8px; border: 4px solid #fff; box-shadow: 0 2px 8px rgba(0,0,0,.08); }
.post-body { overflow-wrap: anywhere; }
.post-body img { border-radius: 6px; height: auto; }
.post-body blockquote { margin: 1em 0; padding: 6px 14px; border-left: 4px solid var(--c-accent); background: rgba(255,255,255,.55); border-radius: 0 8px 8px 0; }
.post-body hr.ler-mais { display: none; }
.post-body h1, .post-body h2, .post-body h3 { font-family: var(--f-heading); color: var(--c-heading); line-height: 1.2; }
.post-body p { margin: 0 0 .8em; }
.read-more { text-align: center; margin: 10px 0 2px; }
.btn-read-more {
  display: inline-block; padding: 6px 20px;
  background: #fff; border: 2px dashed var(--c-accent); border-radius: 999px;
  color: var(--c-link); font-weight: 700;
}
.btn-read-more:hover { background: var(--c-accent); color: #fff; text-decoration: none; }
.post-footer {
  margin-top: 16px; padding-top: 12px;
  border-top: 2px dotted var(--c-panelBorder);
  display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px;
}
.author-card {
  display: inline-flex; align-items: center; gap: 10px;
  padding: 6px 14px 6px 6px;
  background: #fff; border-radius: 999px;
  border: 2px solid var(--author-color);
  color: var(--c-text);
}
.author-card:hover { text-decoration: none; transform: rotate(-1deg); }
.author-card img, .author-initial { width: 38px; height: 38px; border-radius: 50%; object-fit: cover; }
.author-initial { display: grid; place-items: center; background: var(--author-color); color: #fff; font-weight: 700; }
.author-card span { display: flex; flex-direction: column; line-height: 1.15; }
.author-card small { font-size: .72em; color: var(--c-muted); }
.post-tags { font-size: .85em; color: var(--c-muted); }

/* Review */
.review-head { display: flex; gap: 16px; align-items: flex-start; margin: 14px 0 10px; }
.review-poster {
  width: 140px; flex-shrink: 0; aspect-ratio: 2 / 3; object-fit: cover;
  border-radius: 6px; border: 4px solid #fff; box-shadow: 0 3px 10px rgba(0,0,0,.12);
  background: #fff;
}
.review-poster--empty { display: grid; place-items: center; font-size: 42px; }
.review-kind { display: inline-block; font-size: .78em; padding: 1px 10px; border-radius: 999px; background: var(--c-accent2); color: #2f4a22; }
.review-title { font-family: var(--f-heading); color: var(--c-heading); font-size: calc(var(--s-heading) * 1.05); margin: 6px 0 4px; line-height: 1.15; }
.review-rating { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.review-score { font-weight: 700; color: var(--c-text); }
.stars { display: inline-flex; gap: 1px; vertical-align: middle; }

/* Navegação entre páginas/posts */
.pager { display: flex; justify-content: space-between; gap: 10px; flex-wrap: wrap; }
.pager a, .pager span { padding: 6px 16px; border-radius: 999px; background: #fff; border: 2px solid var(--c-panelBorder); }
.pager span { opacity: 0; pointer-events: none; }
.chips { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 8px; }
.chips a { padding: 2px 12px; border-radius: 999px; background: #fff; border: 2px solid var(--c-panelBorder); font-size: .9em; }
.chips a[aria-current='true'] { background: var(--c-accent); color: #fff; border-color: var(--c-accent); }

/* Divisor, botão, HTML */
.w-divider { display: grid; place-items: center; height: 100%; color: var(--c-accent); font-size: 1.2em; letter-spacing: .3em; overflow: hidden; white-space: nowrap; }
.w-divider hr { width: 100%; border: 0; border-top: 2px var(--div-style, dashed) var(--c-panelBorder); margin: 0; }
.w-button { display: grid; place-items: center; height: 100%; }
.w-button a { display: inline-block; padding: 8px 22px; border-radius: 999px; background: var(--c-accent); color: #fff; font-weight: 700; box-shadow: 0 3px 0 color-mix(in srgb, var(--c-accent) 60%, #000); }
.w-button a:hover { text-decoration: none; filter: brightness(1.05); }
.w-html iframe { width: 100%; height: 100%; border: 0; display: block; background: transparent; }
.w-html { height: 100%; }
.hide-desktop { display: none !important; }
@media (max-width: 768px) { .hide-mobile { display: none !important; } .hide-desktop { display: block !important; } }

/* ---------- iPod ---------- */
.w-ipod { display: grid; place-items: center; padding: 4px 0; }
.ipod {
  position: relative; width: 100%; min-width: 236px; margin: 0 auto;
  background: linear-gradient(160deg, color-mix(in srgb, var(--ipod-body) 70%, #fff), var(--ipod-body) 60%, color-mix(in srgb, var(--ipod-body) 85%, #000));
  border-radius: 30px; padding: 16px 16px 24px;
  box-shadow: inset 0 2px 0 rgba(255,255,255,.75), inset 0 -4px 8px rgba(0,0,0,.08), 0 10px 24px rgba(0,0,0,.16);
  font-family: system-ui, -apple-system, 'Segoe UI', sans-serif;
}
.ipod-screen { background: var(--ipod-screen); border-radius: 8px; border: 3px solid rgba(0,0,0,.2); overflow: hidden; display: flex; flex-direction: column; box-shadow: inset 0 0 0 1px rgba(255,255,255,.4); }
.ipod-bar { display: flex; justify-content: space-between; align-items: center; font-size: 11px; font-weight: 700; padding: 4px 7px; background: linear-gradient(#ffffff, #d9dee5); color: #333; border-bottom: 1px solid #a9b0bb; }
.ipod-live { color: #e0457b; font-size: 10px; }
.ipod-video { position: relative; aspect-ratio: 1; min-height: 200px; background: #111; }
.ipod--image .ipod-video { min-height: 0; flex: 1; aspect-ratio: auto; }
.ipod-video iframe, .ipod-yt { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.ipod-cover { position: absolute; inset: 0; display: grid; place-items: center; background: #2b2b2b center / cover no-repeat; }
.ipod-hint { background: rgba(0,0,0,.6); color: #fff; font-size: 12px; font-weight: 700; padding: 6px 12px; border-radius: 999px; text-align: center; max-width: 85%; }
.ipod-title { font-size: 12px; font-weight: 600; line-height: 1.3; padding: 5px 8px; color: #222; white-space: nowrap; overflow: hidden; background: linear-gradient(#f5f7f9, #e2e6eb); }
.ipod-title span { display: inline-block; }
.ipod.is-playing .ipod-title.is-long span { animation: ipod-marquee 12s linear infinite; padding-left: 100%; }
@keyframes ipod-marquee { to { transform: translateX(-100%); } }
.ipod-wheel { position: relative; width: 72%; aspect-ratio: 1; margin: 18px auto 0; border-radius: 50%; background: var(--ipod-wheel); box-shadow: inset 0 3px 6px rgba(0,0,0,.08), 0 1px 0 rgba(255,255,255,.9); }
.ipod-btn { position: absolute; background: none; border: 0; color: var(--ipod-label); font-size: 13px; font-weight: 800; cursor: pointer; padding: 8px; line-height: 1; }
.ipod-btn:hover { filter: brightness(.85); }
.ipod-menu { top: 5%; left: 50%; transform: translateX(-50%); letter-spacing: .04em; font-size: 12px; }
.ipod-prev { left: 4%; top: 50%; transform: translateY(-50%); }
.ipod-next { right: 4%; top: 50%; transform: translateY(-50%); }
.ipod-play { bottom: 5%; left: 50%; transform: translateX(-50%); }
.ipod-center { position: absolute; left: 50%; top: 50%; width: 38%; height: 38%; transform: translate(-50%, -50%); border-radius: 50%; border: 0; cursor: pointer;
  background: linear-gradient(160deg, color-mix(in srgb, var(--ipod-center) 70%, #fff), var(--ipod-center)); box-shadow: inset 0 2px 3px rgba(255,255,255,.6), 0 1px 3px rgba(0,0,0,.15); }
.ipod-center:active { transform: translate(-50%, -50%) scale(.96); }
.ipod--image { background: none; box-shadow: none; padding: 0; border-radius: 0; min-width: 0; }
.ipod--image .ipod-skin { display: block; width: 100%; height: auto; pointer-events: none; }
.ipod--image .ipod-screen { border-width: 0; border-radius: 4px; }
.ipod--nolabels .ipod-btn { color: transparent; }
.ipod--image .ipod-center { background: transparent; box-shadow: none; }

/* ---------- Modo edição (painel) ---------- */
.is-edit a, .is-edit button, .is-edit input { cursor: inherit; }
.is-edit .grid-stack > .grid-stack-item > .grid-stack-item-content { cursor: move; }
.is-edit .grid-stack-item { outline: 1px dashed transparent; outline-offset: 2px; }
.is-edit .grid-stack-item:hover { outline-color: #8a7bff; }
.is-edit .grid-stack-item.is-selected { outline: 2px solid #6c5ce7; z-index: 30; }
.is-edit .grid-stack-item::before {
  content: attr(data-label); position: absolute; left: 4px; top: -18px; z-index: 40;
  font: 700 11px/16px system-ui, sans-serif; color: #fff; background: #6c5ce7; padding: 0 6px; border-radius: 4px;
  opacity: 0; pointer-events: none; white-space: nowrap;
}
.is-edit .grid-stack-item:hover::before, .is-edit .grid-stack-item.is-selected::before { opacity: 1; }
.is-edit .grid-stack-item.is-hidden-dev { opacity: .35; }
.is-edit .grid-stack > .grid-stack-item > .ui-resizable-handle { opacity: 0; }
.is-edit .grid-stack > .grid-stack-item.is-selected > .ui-resizable-handle { opacity: 1; }
.is-edit .ui-resizable-se, .is-edit .ui-resizable-sw, .is-edit .ui-resizable-ne, .is-edit .ui-resizable-nw {
  width: 12px !important; height: 12px !important; background: #fff; border: 2px solid #6c5ce7; border-radius: 3px; transform: none !important; }
.is-edit .ui-resizable-se { right: 0 !important; bottom: 0 !important; }
.is-edit .ui-resizable-sw { left: 0 !important; bottom: 0 !important; }
.is-edit .ui-resizable-ne { right: 0 !important; top: 0 !important; }
.is-edit .ui-resizable-nw { left: 0 !important; top: 0 !important; }
.is-edit .grid-stack-placeholder > .placeholder-content { background: rgba(108, 92, 231, .12); border: 2px dashed #6c5ce7; border-radius: 10px; }
.is-edit .decor-layer .decor { pointer-events: auto; cursor: move; }
.is-edit .decor:hover { outline: 1px dashed #8a7bff; }
.is-edit .decor.is-selected { outline: 2px solid #6c5ce7; z-index: 60; }
.is-edit .decor-layer--back .decor.is-selected { z-index: 60; }
.decor-handle { display: none; position: absolute; width: 14px; height: 14px; background: #fff; border: 2px solid #6c5ce7; border-radius: 50%; }
.is-edit .decor.is-selected .decor-handle { display: block; }
.decor-handle--size { right: -8px; bottom: -8px; cursor: nwse-resize; border-radius: 3px; }
.decor-handle--rot { left: 50%; top: -26px; margin-left: -7px; cursor: grab; }
.is-edit .decor-layer--back.lift { z-index: 6; }

/* Visualização (painel) */
.is-preview a { cursor: default; }

/* Ql (conteúdo gerado pelo editor) */
.ql-content .ql-align-center { text-align: center; }
.ql-content .ql-align-right { text-align: right; }
.ql-content .ql-align-justify { text-align: justify; }
.ql-content .ql-size-small { font-size: .8em; }
.ql-content .ql-size-large { font-size: 1.4em; }
.ql-content .ql-size-huge { font-size: 2em; }
.ql-content .ql-indent-1 { padding-left: 2em; }
.ql-content .ql-indent-2 { padding-left: 4em; }
.ql-content .ql-indent-3 { padding-left: 6em; }
.ql-content li[data-list='bullet'] { list-style-type: disc; }
.ql-content li[data-list='ordered'] { list-style-type: decimal; }
.ql-content .ql-ui { display: none; }
.ql-content .ql-font-title { font-family: var(--f-title); font-size: 1.6em; }
.ql-content .ql-font-heading { font-family: var(--f-heading); font-size: 1.2em; }

/* ---------- Celular ---------- */
@media (max-width: 768px) {
  .page { padding: 6px 6px 40px; }
  .post { padding: 14px; }
  .review-head { flex-direction: column; align-items: center; text-align: center; }
  .review-rating { justify-content: center; }
  .header-deco { display: none; }
}
@media (prefers-reduced-motion: reduce) { * { transition: none !important; animation: none !important; } }
