/* ============================================================
   Portal Mayer — BLOCOS (rendered output)
   Molduras decorativas + estilos extras dos blocos
============================================================ */

.blk-section {
  padding: 80px 48px;
  background: var(--bg-deep);
}
@media (max-width:720px) {
  .blk-section { padding: 56px 24px; }
}

/* ===== MOLDURAS (frames) ===== */

/* Sem moldura */
.fr-none { padding: 0; border: none; background: transparent; }

/* Linha dourada simples */
.fr-gold {
  padding: 12px;
  border: 1px solid var(--gold-primary);
  border-radius: 8px;
  background: linear-gradient(135deg, rgba(212,175,55,0.06), transparent);
  box-shadow: 0 0 24px var(--gold-glow);
}
.fr-gold img { border-radius: 4px; display: block; }

/* Ornamental vintage com cantos duplos */
.fr-ornate {
  padding: 18px;
  border: 2px solid var(--gold-primary);
  border-radius: 4px;
  position: relative;
  background:
    linear-gradient(135deg, rgba(212,175,55,0.08), transparent),
    radial-gradient(circle at 0% 0%, rgba(212,175,55,0.2), transparent 25%),
    radial-gradient(circle at 100% 100%, rgba(212,175,55,0.2), transparent 25%);
  outline: 1px solid var(--gold-primary);
  outline-offset: 4px;
}
.fr-ornate::before,
.fr-ornate::after {
  content: '◆';
  position: absolute;
  color: var(--gold-primary);
  font-size: 0.875rem;
  background: var(--bg-deep);
  padding: 0 6px;
}
.fr-ornate::before { top: -10px; left: 50%; transform: translateX(-50%); }
.fr-ornate::after  { bottom: -10px; left: 50%; transform: translateX(-50%); }
.fr-ornate img { border-radius: 2px; display: block; }

/* Polaroid */
.fr-polaroid {
  padding: 18px 18px 56px;
  background: #FAFAF7;
  box-shadow: 0 16px 40px rgba(0,0,0,0.5), 0 4px 8px rgba(0,0,0,0.3);
  transform: rotate(-1.5deg);
  display: inline-block;
  position: relative;
}
.fr-polaroid img { border-radius: 1px; display: block; max-width: 100%; }
.fr-polaroid .blk-image__caption {
  position: absolute;
  bottom: 16px; left: 0; right: 0;
  text-align: center;
  font-family: 'Caveat', cursive, sans-serif;
  color: #1A1500;
  font-size: 1.125rem;
}

/* Cinema (preto com perfurações) */
.fr-cinema {
  padding: 32px 14px;
  background: #000;
  border-radius: 4px;
  position: relative;
  box-shadow: 0 24px 60px rgba(0,0,0,0.6);
}
.fr-cinema::before,
.fr-cinema::after {
  content: '';
  position: absolute;
  left: 0; right: 0;
  height: 14px;
  background-image: radial-gradient(circle at 12px center, rgba(255,255,255,0.5) 4px, transparent 5px);
  background-size: 24px 14px;
  background-repeat: repeat-x;
}
.fr-cinema::before { top: 6px; }
.fr-cinema::after  { bottom: 6px; }
.fr-cinema img,
.fr-cinema iframe { border-radius: 2px; display: block; }
.fr-cinema .blk-image__caption {
  text-align: center;
  color: var(--text-secondary);
  margin-top: 12px;
  font-size: 0.875rem;
  letter-spacing: 0.1em;
}

/* Vintage sépia */
.fr-vintage {
  padding: 16px;
  background:
    linear-gradient(135deg, #4a3b21, #2d240f);
  border: 1px solid #8a7232;
  box-shadow: 0 12px 32px rgba(0,0,0,0.5), inset 0 0 24px rgba(0,0,0,0.5);
  border-radius: 4px;
  display: inline-block;
}
.fr-vintage img {
  filter: sepia(0.6) contrast(1.05) brightness(0.95);
  border-radius: 2px;
  display: block;
}
.fr-vintage .blk-image__caption {
  text-align: center;
  color: #d4b97f;
  margin-top: 10px;
  font-style: italic;
  font-size: 0.875rem;
}

/* Moderno minimalista */
.fr-modern {
  padding: 0;
  border-radius: 20px;
  overflow: hidden;
  box-shadow: 0 24px 60px rgba(0,0,0,0.5), 0 0 0 1px var(--border-subtle);
  display: inline-block;
}
.fr-modern img { display: block; max-width: 100%; }
.fr-modern .blk-image__caption {
  padding: 16px;
  background: var(--bg-surface);
  text-align: center;
  font-size: 0.875rem;
  color: var(--text-secondary);
}

/* ===== Bloco IMAGEM ===== */
.blk-image { padding: 80px 24px; text-align: center; }
.blk-image__wrap { max-width: 900px; margin: 0 auto; }
.blk-image__caption { font-size: 0.875rem; color: var(--text-muted); margin-top: 12px; }

/* ===== Bloco VÍDEO ===== */
.blk-video { padding: 80px 24px; }

/* ===== Bloco TEXTO RICO ===== */
.blk-text { padding: 80px 24px; }

/* ===== Bloco ORNAMENTO ===== */
.blk-ornament {
  padding: 32px 24px;
  text-align: center;
}
.orn-gold-line {
  display: inline-flex;
  align-items: center;
  gap: 16px;
  color: var(--gold-primary);
  font-size: 1rem;
}
.orn-gold-line span {
  width: 80px; height: 1px;
  background: linear-gradient(90deg, transparent, var(--gold-primary), transparent);
}
.orn-art-deco,
.orn-flourish,
.orn-stars {
  font-family: var(--font-display);
  color: var(--gold-primary);
  font-size: 1.25rem;
  letter-spacing: 0.32em;
}
.orn-film {
  color: var(--gold-primary);
  font-size: 0.75rem;
  letter-spacing: 0.1em;
  opacity: 0.6;
}

/* ===== Bloco CITAÇÃO ===== */
.blk-quote { padding: 80px 24px; text-align: center; }
.blk-quote__inner {
  max-width: 760px;
  margin: 0 auto;
  padding: 48px 40px;
}
.blk-quote__text {
  font-family: var(--font-display);
  font-size: clamp(1.5rem, 3vw, 2.25rem);
  line-height: 1.3;
  letter-spacing: 0.02em;
  color: var(--text-primary);
  margin: 0 0 24px;
}
.blk-quote__author {
  font-size: 0.9375rem;
  letter-spacing: 0.16em;
  color: var(--gold-primary);
  text-transform: uppercase;
  font-weight: 600;
}

/* ===== Bloco COMPARTILHAR ===== */
/* Reaproveita .share-section, .share-buttons, .share-btn, .qr-card de cliente.css */

/* ===== Galeria tiles inline ===== */
.blk-gallery__tile { border-radius: 8px; overflow: hidden; }
@media (max-width:720px) {
  .blk-gallery > div > div[style*='grid-template-columns'] {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}

/* Empty state — visível no editor pra deixar bem claro como adicionar fotos */
.blk-gallery__empty {
  text-align: center;
  padding: 80px 32px;
  border: 3px dashed var(--gold-primary);
  border-radius: 20px;
  margin: 0 32px;
  background:
    linear-gradient(135deg, rgba(212,175,55,0.08), rgba(212,175,55,0.02));
  cursor: pointer;
  transition: all 0.3s var(--ease-cinema);
}
.blk-gallery__empty:hover {
  background: linear-gradient(135deg, rgba(212,175,55,0.16), rgba(212,175,55,0.04));
  transform: scale(1.01);
  box-shadow: 0 16px 40px rgba(212,175,55,0.2);
}
.blk-gallery__empty-icon {
  font-size: 4rem;
  margin-bottom: 16px;
  opacity: 0.7;
}
.blk-gallery__empty-title {
  font-family: var(--font-display);
  font-size: 2.5rem;
  letter-spacing: 0.02em;
  color: var(--gold-primary);
  margin: 0 0 8px;
}
.blk-gallery__empty-sub {
  color: var(--text-secondary);
  font-size: 0.9375rem;
  margin: 0 0 28px;
}
.blk-gallery__empty-btn {
  display: inline-block;
  padding: 14px 28px;
  background: var(--gold-primary);
  color: #1A1500;
  font-weight: 700;
  border-radius: 999px;
  font-size: 0.9375rem;
  letter-spacing: 0.04em;
  box-shadow: 0 12px 28px rgba(212,175,55,0.4);
  transition: transform 0.3s;
}
.blk-gallery__empty:hover .blk-gallery__empty-btn {
  transform: scale(1.05);
  box-shadow: 0 16px 36px rgba(212,175,55,0.6);
}
.blk-gallery__addmore {
  margin: 24px 32px 0;
  padding: 14px;
  text-align: center;
  border: 2px dashed var(--border-gold);
  border-radius: 10px;
  color: var(--gold-primary);
  font-weight: 600;
  font-size: 0.875rem;
  cursor: pointer;
  transition: all 0.2s;
}
.blk-gallery__addmore:hover {
  background: var(--gold-dim);
  border-style: solid;
}

/* ===== HERO OVERLAYS (texto livre estilo Canva) ===== */
.hero-overlay {
  z-index: 5;
  white-space: pre-wrap;
  user-select: text;
  max-width: 80%;
  word-break: break-word;
  line-height: 1.15;
  letter-spacing: 0.02em;
  text-shadow: 0 2px 12px rgba(0,0,0,0.4);
}
.hero-overlay[contenteditable="true"] {
  outline: 1px dashed rgba(212,175,55,0.5);
  transition: outline-color 0.2s;
}
.hero-overlay[contenteditable="true"]:hover {
  outline: 2px solid var(--gold-primary);
}
.hero-overlay[contenteditable="true"]:focus {
  outline: 2px solid var(--gold-primary);
  box-shadow: 0 0 24px rgba(212,175,55,0.5);
}
.hero-overlay.is-dragging-ovl {
  outline: 3px solid var(--gold-primary) !important;
  cursor: grabbing !important;
}
