/*top 烟花字体 */
.w-t{
    position: relative;
    margin: 100px auto; /* 与原版一致，拉开顶部空间 */
    width: 500px;      /* 固定宽度以确保烟花位置与标题对齐 */
    text-align: left;  /* 避免居中导致烟花位置异常 */
}
.w-t img{
	opacity: 0;
    animation: bloom 2s ease 1.2s infinite;
}
.w-t img.boom2{
	float: right;
	animation: bloom 2s ease 1.5s infinite;
}
.w-t img.boom3{
	position: absolute;
	margin-top: 40px;
	animation: bloom 2s ease 1.4s infinite;
}
@keyframes bloom{
	0% {
	    transform: scale(0,0);
	}
	100% {
		opacity: 1;
	    transform: scale(1,1);
	}
}
.w-t-m{
    position: absolute;
    left: 50%;
    z-index: 10;
    line-height: 80px;
    letter-spacing: 5px; /* 原版为 5px */
    opacity: 0;
    animation: titleBloom 1s linear 1s both; /* 原版为 linear 1s 延迟 1s */
    font-size: 26px; /* 原版为 26px */
    margin-left: -125px; /* 原版的水平居中偏移量 */
    color: #ff720a; /* 使用原版颜色，避免透明文本 */
    background: none; /* 移除渐变背景，避免覆盖颜色 */
}
@keyframes titleBloom{
    0% {
        transform: translate(-50px);
    }
    100% {
        opacity: 1;
        transform: translate(0);
    }
}
/*人物类 */
.w-p{
    margin: -50px auto; /* 原版：让人物区块与标题更靠近形成层次 */
    width: 1000px;      /* 原版固定宽度，确保左右人物与花束定位 */
    overflow: hidden;
}
.w-m{
	float: left;
	width: 50%;
}
.w-m img{
	margin-right: 0;
	float: right;
	margin-top: 60px;
	animation: toWoman 0.5s ease .5s both;
}
@keyframes toWoman{
	0%{
		opacity: 0;
		transform: translate(-200px);
	}
	100%{
		opacity: 1;
		transform: translate(0);
	}
}
.w-w{
	float: right;
	width: 50%;
}
.w-w img{
	margin-left: 0;
	float: left;
	animation: showW 0.8s ease 0s both;
}
@keyframes showW{
	0%{
		opacity: 0;
	}
	100%{
		opacity: 1;
	}
}
.w-f{
    position: absolute;
    z-index: 20;
    left: 50%;
    margin-left: -30px; /* 原版用 margin-left 实现水平居中偏移 */
    margin-top: 75px;
    transform: none;    /* 取消 translateX(-50%)，避免双重偏移 */
}
.w-f img{
    width: 60px;
    animation: show 0.4s ease 1s both;
}

@keyframes show{
	0%{
		opacity: 0;
		transform: scale(0.1,0.1);
	}
	100%{
		opacity: 1;
		transform: scale(1,1);
	}
}
.w-p:after{
	clear:both;clear:both;content:'.';display:block;height:0;visibility:hidden;overflow:hidden;
}
/*flowers*/
.w-fls{
    width: 820px;
    margin: 0 auto;
}
.w-fls img{
    height: 120px;
    z-index: 400;
    animation: showFlows 0.4s ease 2.3s both;
    display: inline-block; /* 修复纵向排列 */
}
/* 补充原版的 showFlows 关键帧，确保延迟期间处于透明并下移状态 */
@keyframes showFlows{
    0%{
        opacity: 0;
        transform: translate(0,200px);
    }
    100%{
        opacity: 1;
        transform: translate(0);
    }
}
.w-2{
    margin-top: -130px;
    padding-left: 100px;
}
.w-2 img{
    animation: showFlows 0.4s ease 2.7s both;
}

/* 兜底：动画未启动时强制显示（由 JS 在点击第二个箭头后添加到 #wedding-section） */
#wedding-section.wedding-force-show .w-t img,
#wedding-section.wedding-force-show .w-m img,
#wedding-section.wedding-force-show .w-w img,
#wedding-section.wedding-force-show .w-f img,
#wedding-section.wedding-force-show .w-fls img {
    opacity: 1 !important;
    transform: none !important;
    animation: none !important;
}
/* 更强兜底：无论动画是否启动，强制显示全部婚礼区图片（用于少数浏览器的可见性问题） */
/* 修复：避免覆盖默认布局与动画，这里仅保证可见性 */
#wedding-section.wedding-force-visible img {
    visibility: visible !important;
}

/* --- Mobile adaptations for wedding section --- */
@media (max-width: 768px) {
  .w-t { width: 90vw; margin: 40px auto; text-align: center; }
  .w-t-m { left: 50%; margin-left: 0; transform: translateX(-50%); font-size: 22px; line-height: 60px; }
  .w-p { width: 92vw; margin: 0 auto; }
  .w-f { left: 50%; margin-left: -24px; margin-top: 24px; }
  .w-f img { width: 48px; }
  .w-fls { width: 92vw; }
  .w-fls img { height: 90px; }
}

@media (max-width: 480px) {
  .w-t { width: 94vw; margin: 30px auto; }
  .w-t-m { font-size: 20px; line-height: 52px; }
  .w-p { width: 94vw; }
  .w-m img { margin-top: 30px; max-width: 80%; height: auto; }
  .w-w img { max-width: 80%; height: auto; }
  .w-f { margin-top: 30px; }
  .w-f img { width: 44px; }
  .w-fls { width: 94vw; }
  .w-fls img { height: 80px; }
  .w-2 { margin-top: -80px; padding-left: 40px; }
}