/* v6.27 — direção sofisticada inspirada em papelaria de chá de bebê:
   ilustração protagonista, molduras discretas e muito espaço em branco. */

:root {
  --delicate-gold: rgba(186, 132, 47, .62);
  --delicate-gold-soft: rgba(186, 132, 47, .18);
  --delicate-blue: rgba(76, 142, 181, .42);
  --delicate-paper: rgba(255, 252, 247, .86);
  --delicate-shadow: rgba(90, 65, 45, .075);
}

/* Remove a ornamentação repetida. Fica apenas um pequeno ponto de acabamento
   no centro superior, como em papelaria fina. */
.frame-corner,
.frame-dashed {
  display: none;
}

.frame-corners {
  animation: none !important;
  opacity: 1;
}

.frame-emblem,
.venue-block .frame-emblem {
  top: -5px;
  width: 10px;
  height: 10px;
  border: 1px solid var(--delicate-gold);
  background: #fbf2e3;
  box-shadow: 0 0 0 4px rgba(255, 250, 242, .74);
  animation: none !important;
}

.frame-emblem > .ph {
  display: none;
}

.venue-block .frame-emblem {
  border-color: var(--delicate-blue);
  background: #e9f3f8;
  box-shadow: 0 0 0 4px rgba(244, 251, 255, .74);
}

.ornate-frame,
.hero-copy {
  border: 1px solid var(--delicate-gold);
  border-radius: 22px;
  background: linear-gradient(180deg, rgba(255, 254, 251, .91), var(--delicate-paper));
  box-shadow:
    0 9px 24px var(--delicate-shadow),
    inset 0 1px 0 rgba(255, 255, 255, .78);
  animation: none !important;
}

.venue-block {
  border: 1px solid var(--delicate-blue);
  border-radius: 22px;
  background: linear-gradient(180deg, rgba(243, 250, 253, .9), rgba(229, 241, 248, .82));
  box-shadow:
    0 9px 24px rgba(47, 116, 157, .07),
    inset 0 1px 0 rgba(255, 255, 255, .82);
  animation: none !important;
}

/* Camafeu dos nomes: uma linha apenas, lavagem rosa/azul e patinhas em
   baixa opacidade — presença do tema sem competir com os nomes. */
.name-plaque {
  min-height: 112px;
  gap: 10px;
  padding: 9px 42px 11px;
  border: 1px solid rgba(186, 132, 47, .7);
  background:
    radial-gradient(ellipse at 4% 50%, rgba(242, 187, 205, .24), transparent 32%),
    radial-gradient(ellipse at 96% 50%, rgba(175, 216, 239, .28), transparent 32%),
    rgba(255, 252, 247, .88);
  box-shadow:
    0 10px 26px rgba(88, 63, 43, .08),
    inset 0 1px 0 rgba(255, 255, 255, .86);
}

.name-plaque::after {
  display: none;
}

.name-plaque .name {
  font-size: clamp(38px, 9vw, 56px);
  line-height: 1.08;
}

.name-paw {
  width: auto;
  height: auto;
  border: 0;
  background: transparent;
  box-shadow: none;
  opacity: .28;
  animation: none !important;
}

.name-paw > .ph {
  font-size: 15px !important;
}

.name-paw-rose { left: 20px; }
.name-paw-blue { right: 20px; }

.choice-word {
  display: inline-flex;
  width: auto;
  height: auto;
  flex: 0 0 auto;
  align-items: center;
  gap: 5px;
  border: 0;
  border-radius: 0;
  color: #9a7430;
  background: transparent;
  box-shadow: none;
  font-size: 11px;
}

.choice-word::before,
.choice-word::after {
  width: 9px;
  height: 1px;
  content: '';
  background: rgba(186, 132, 47, .38);
}

.hero-copy {
  min-height: 132px;
  margin-top: 16px;
  padding: 20px 34px 19px;
  font-size: clamp(14.5px, 3.7vw, 16.5px);
  line-height: 1.36;
}

.event-panel {
  gap: 18px;
  margin-top: 18px;
}

.event-fact-unified {
  min-height: 114px;
  padding: 20px 18px 16px;
}

.event-fact-header {
  width: min(100%, 218px);
  grid-template-columns: 26px minmax(0, 1fr) 26px;
  column-gap: 8px;
}

.event-fact-header small,
.section-kicker,
.gift-block small,
.pix-heading small,
.venue-copy small {
  color: #665b54;
  font-size: 9px;
  font-weight: 700;
  letter-spacing: .15em;
}

.event-icon .ph {
  font-size: 21px !important;
}

.event-fact-unified > strong {
  margin-top: 5px;
  font-size: clamp(28px, 7.5vw, 32px);
}

.event-fact-meta {
  gap: 7px;
  margin-top: 6px;
  color: #625851;
  font-size: clamp(14px, 3.8vw, 16px);
}

.countdown {
  min-height: 122px;
  padding: 21px 11px 16px;
}

.section-kicker {
  gap: 9px;
  margin-bottom: 14px;
  color: #a64a69;
}

.section-kicker .ph-fill {
  font-size: 11px !important;
  opacity: .72;
}

.countdown-value {
  font-size: clamp(30px, 8.2vw, 36px);
}

.countdown-unit:not(:last-child)::after {
  height: 40px;
  background: rgba(186, 132, 47, .24);
}

.countdown-unit span {
  margin-top: 8px;
  color: #5b514b;
  font-size: 7.5px;
}

.gift-block {
  min-height: 124px;
  padding: 21px 10px 16px;
}

.gift-block > i {
  color: rgba(186, 132, 47, .56);
  font-size: 24px !important;
}

.gift-block strong {
  margin-top: 4px;
  font-size: clamp(21px, 5.9vw, 25px);
  line-height: 1.14;
}

.gift-reminder {
  width: min(100%, 280px);
  min-height: 32px;
  margin-top: 10px;
  border: 1px solid rgba(186, 132, 47, .2);
  background: rgba(252, 244, 230, .5);
}

.gift-reminder > .ph {
  font-size: 13px !important;
  opacity: .7;
}

.gift-reminder-label {
  color: #9b742e;
  font-size: 7.5px;
}

.gift-reminder .gift-note {
  color: #5f554e;
  font-size: clamp(8.5px, 2.25vw, 9.5px);
}

.pix-block {
  min-height: 216px;
  padding: 22px 12px 13px;
}

.pix-heading {
  margin-bottom: 9px;
}

.pix-heading strong {
  margin-top: 4px;
  font-size: clamp(22px, 6vw, 26px);
}

.pix-copy {
  max-width: 310px;
  margin-bottom: 11px;
  color: #6d6159;
  font-size: clamp(12px, 3.2vw, 13px);
  line-height: 1.35;
}

.pix-data {
  border: 1px solid rgba(186, 132, 47, .25);
  border-radius: 10px;
  background: rgba(255, 254, 251, .58);
}

.pix-row + .pix-row,
.pix-row > span {
  border-color: rgba(186, 132, 47, .2);
}

.pix-row > span {
  color: #655a53;
  font-size: 8px;
}

.pix-row strong {
  color: #544b45;
  font-size: clamp(10px, 2.65vw, 11px);
}

.copy-pix,
.map-button {
  border-width: 1px;
  background: rgba(255, 255, 255, .7);
  box-shadow: none;
}

.venue-block {
  min-height: 144px;
  padding: 21px 12px 13px;
}

.venue-icon {
  opacity: .72;
}

.venue-icon i {
  font-size: 32px !important;
}

.venue-copy small {
  margin-bottom: 5px;
}

.venue-copy strong {
  font-size: clamp(14.5px, 3.9vw, 16px);
  line-height: 1.17;
}

.venue-copy > span {
  margin-top: 3px;
  font-size: clamp(13.5px, 3.6vw, 15px);
}

.map-button {
  margin-top: 10px;
}

@media (max-width: 699px) {
  .name-plaque {
    min-height: 0;
    padding: 8px 38px 10px;
  }

  .name-plaque .name {
    font-size: clamp(31px, 9.2vw, 39px);
  }

  .name-paw-rose { left: 16px; }
  .name-paw-blue { right: 16px; }

  .hero-copy {
    min-height: 132px;
    margin-top: 16px;
    padding: 20px 25px 18px;
    font-size: clamp(14px, 3.65vw, 15.5px);
  }

  .event-panel {
    gap: 18px;
    margin-top: 18px;
  }

  .event-fact-unified {
    min-height: 114px;
    padding: 20px 12px 15px;
  }

  .countdown {
    min-height: 122px;
    padding: 21px 9px 15px;
  }

  .gift-block {
    min-height: 124px;
    padding: 21px 8px 15px;
  }

  .pix-block {
    min-height: 216px;
    padding: 22px 10px 12px;
  }

  .venue-block {
    min-height: 144px;
    padding: 21px 10px 12px;
  }
}

@media (max-width: 359px) {
  .name-plaque {
    padding-inline: 31px;
  }

  .name-paw {
    opacity: .2;
  }

  .name-paw-rose { left: 12px; }
  .name-paw-blue { right: 12px; }

  .choice-word::before,
  .choice-word::after {
    width: 6px;
  }
}
