/* Fondo Álvaro y Theo v1.5. No modifica alturas ni dimensiones del contenido. */
body.atw-bg-enabled { background-color:#fbf9f5; }
.atw-wedding-decoration {
  position:absolute !important;
  left:0 !important;
  right:0 !important;
  width:100% !important;
  box-sizing:border-box !important;
  overflow:hidden !important;
  pointer-events:none !important;
  user-select:none !important;
  -webkit-user-select:none !important;
  z-index:9000 !important;
  contain:layout paint !important;
  padding:0 !important;
  margin:0 !important;
  border:0 !important;
  isolation:isolate;
  /* Dimensiones asignadas por JS a partir del contenido real. */
}
.atw-wedding-decoration *, .atw-wedding-decoration *::before, .atw-wedding-decoration *::after { box-sizing:border-box !important; }
.atw-wedding-decoration .atw-ornament {
  position:absolute;
  width:clamp(125px,calc((100vw - 1400px)/2 + 145px),420px);
  transform:translateZ(0);
  opacity:.92;
  overflow:hidden;
  will-change:auto;
}
.atw-wedding-decoration .atw-ornament.is-left { left:0; -webkit-mask-image:linear-gradient(to right,#000 0%,#000 38%,transparent 100%); mask-image:linear-gradient(to right,#000 0%,#000 38%,transparent 100%); }
.atw-wedding-decoration .atw-ornament.is-right { right:0; -webkit-mask-image:linear-gradient(to left,#000 0%,#000 38%,transparent 100%); mask-image:linear-gradient(to left,#000 0%,#000 38%,transparent 100%); }
.atw-wedding-decoration .atw-ornament img { display:block !important; width:100% !important; height:auto !important; object-fit:contain; max-width:none !important; border:0 !important; box-shadow:none !important; }
.atw-wedding-decoration .atw-skyline {position:absolute; bottom:0;left:0;right:0; height:clamp(170px,26vw,380px); overflow:hidden; opacity:.54; -webkit-mask-image:linear-gradient(to right,#000 0%,transparent 25%,transparent 75%,#000 100%);mask-image:linear-gradient(to right,#000 0%,transparent 25%,transparent 75%,#000 100%);}
.atw-wedding-decoration .atw-skyline img {display:block;width:100%;height:100%;object-fit:cover;object-position:center bottom;max-width:1900px;margin:0 auto;}
.atw-bg-debug {position:fixed !important;bottom:15px !important;left:15px !important;z-index:2147483640 !important;background:#293b34 !important;color:white !important;padding:9px 12px !important;font:12px/1.45 Arial,sans-serif !important;pointer-events:none !important;box-shadow:0 3px 14px #2223;max-width:340px;}
@media (min-width:768px) and (max-width:1199px) {
  .atw-wedding-decoration .atw-ornament { width:clamp(100px,17vw,195px); opacity:.65; }
  .atw-wedding-decoration .atw-skyline {height:240px;opacity:.47;}
}
@media (max-width:767px) {
  .atw-wedding-decoration .atw-ornament { width:clamp(72px,23vw,112px); opacity:.43; }
  .atw-wedding-decoration .atw-ornament.is-left { -webkit-mask-image:linear-gradient(to right,#000 0%,transparent 100%);mask-image:linear-gradient(to right,#000 0%,transparent 100%); }
  .atw-wedding-decoration .atw-ornament.is-right { -webkit-mask-image:linear-gradient(to left,#000 0%,transparent 100%);mask-image:linear-gradient(to left,#000 0%,transparent 100%); }
  .atw-wedding-decoration .atw-skyline {height:170px;opacity:.43;}
}
@media (prefers-reduced-motion:reduce) {
  .atw-wedding-decoration .atw-ornament {transform:none;}
}
