@import url('https://fonts.googleapis.com/css2?family=ZCOOL+XiaoWei&family=Noto+Serif+SC:wght@700;900&display=swap');

/* ================================================================
   变体 A — 直角矩形，各层紧包文字
   Layer1：打字机标题，橙色光标闪烁
   Layer2：橙白橙渐变淡入
   Layer3：橙色直角按钮，Hover 上移发光
   ================================================================ */

/* 外层：水平居中块，宽度随内容 */
.ad-banner {
	display: block;
	text-align: center;
	position: relative;
	overflow: visible;
}

/* ---- Layer 1：标题行 ---- */
.ad-banner-layer1 {
	display: block;
	text-align: center;
}
.ad-banner-layer1-bar {
	display: inline-block;
	padding: 10px 80px;
	background: linear-gradient(90deg, #1a0000 0%, #3d0000 30%, #6b0000 50%, #3d0000 70%, #1a0000 100%);
	border-top: 2px solid #ff7700;
	border-bottom: 2px solid #ff7700;
	border-left:  2px solid #ff7700;
	border-right:  2px solid #ff7700;
	position: relative;
	overflow: visible;
}
/* 橙色扫光 */
.ad-banner-layer1-bar::before {
	content: '';
	position: absolute;
	inset: 0;
	background: linear-gradient(105deg,
		transparent 0%, transparent 28%,
		rgba(255,150,0,0.05) 36%,
		rgba(255,180,0,0.14) 44%,
		rgba(255,200,50,0.22) 50%,
		rgba(255,180,0,0.14) 56%,
		rgba(255,150,0,0.05) 64%,
		transparent 72%, transparent 100%
	);
	background-size: 240% 100%;
	animation: a-sweep 4s ease-in-out infinite;
	pointer-events: none;
}
@keyframes a-sweep {
	0%   { background-position: 160% 0; }
	100% { background-position: -60% 0; }
}
.ad-banner-layer1-sweep {
	display: inline-block;
	position: relative;
}
/* 左侧旋转方块 */
.ad-banner-layer1-sweep::before {
	content: '';
	position: absolute;
	left: -44px;
	top: 50%;
	width: 22px;
	height: 22px;
	margin-top: -11px;
	border: 3px solid #ff7700;
	box-shadow: 0 0 8px rgba(255,120,0,0.6), inset 0 0 6px rgba(255,120,0,0.3);
	animation: a-spin-l 2s linear infinite;
}
/* 右侧旋转方块 */
.ad-banner-layer1-sweep::after {
	content: '';
	position: absolute;
	right: -44px;
	top: 50%;
	width: 22px;
	height: 22px;
	margin-top: -11px;
	border: 3px solid #ff7700;
	box-shadow: 0 0 8px rgba(255,120,0,0.6), inset 0 0 6px rgba(255,120,0,0.3);
	animation: a-spin-r 2s linear infinite;
}
@keyframes a-spin-l {
	0%   { transform: rotate(0deg);   border-color: #ff7700; }
	25%  { border-color: #ffffff; }
	50%  { transform: rotate(180deg); border-color: #ff7700; }
	75%  { border-color: #ffcc00; }
	100% { transform: rotate(360deg); border-color: #ff7700; }
}
@keyframes a-spin-r {
	0%   { transform: rotate(0deg);   border-color: #ffcc00; }
	25%  { border-color: #ff7700; }
	50%  { transform: rotate(180deg); border-color: #ffffff; }
	75%  { border-color: #ff7700; }
	100% { transform: rotate(360deg); border-color: #ffcc00; }
}
/* 打字机 — 自适应任意文字长度，客户改字无需动CSS */
.ad-banner-layer1-text {
	display: inline-block;
	font-family: 'Noto Serif SC', serif;
	font-weight: 900;
	font-size: 42px;
	letter-spacing: 10px;
	color: #ffffff;
	text-shadow: 0 0 8px rgba(255,140,0,0.5), 0 0 20px rgba(180,0,0,0.3);
	overflow: hidden;
	white-space: nowrap;
	width: max-content;
	max-width: 0;
	vertical-align: middle;
	border-right: 3px solid #ff8800;
	animation:
		a-type  3s steps(30, end) forwards,
		a-blink 0.75s step-end infinite 3s;
}
@keyframes a-type {
	from { max-width: 0; }
	to   { max-width: 2000px; }
}
@keyframes a-blink {
	0%, 100% { border-color: #ff8800; }
	50%      { border-color: transparent; }
}

/* ---- Layer 2：副标题行 ---- */
.ad-banner-layer2 {
	display: block;
	text-align: center;
	margin-top: 6px;
}
.ad-banner-layer2-text {
	display: inline-block;
	font-family: 'ZCOOL XiaoWei', serif;
	font-size: 38px;
	letter-spacing: 14px;
	padding: 6px 40px;
	background: linear-gradient(90deg, #ff9900 0%, #ffffff 40%, #ff9900 100%);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	background-clip: text;
	filter: drop-shadow(1px 1px 0 #1a0000);
	opacity: 0;
	animation: a-fadein 0.9s ease forwards 3.5s;
}
@keyframes a-fadein {
	to { opacity: 1; }
}

/* ---- Layer 3：按钮行 ---- */
.ad-banner-layer3 {
	display: block;
	text-align: center;
	margin-top: 10px;
}
.ad-banner-layer3-inner {
	display: inline-flex;
	gap: 16px;
	padding: 4px 0;
}
/* 直角橙色按钮 */
.ad-banner-layer3-btn {
	display: inline-block;
	background: linear-gradient(180deg, #ff8800 0%, #cc5500 100%);
	border-radius: 0;
	overflow: hidden;
	cursor: pointer;
	position: relative;
	box-shadow: 0 3px 0 #882200, 0 6px 16px rgba(200,80,0,0.35);
	transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.ad-banner-layer3-btn:hover {
	transform: translateY(-5px);
	box-shadow: 0 7px 0 #882200, 0 14px 28px rgba(255,100,0,0.6);
	animation: none;
}
.ad-banner-layer3-btn:active {
	transform: translateY(0);
	box-shadow: 0 1px 0 #882200;
}
.ad-banner-layer3-btn-sweep {
	display: block;
	background: linear-gradient(105deg,
		transparent 35%, rgba(255,255,255,0.22) 50%, transparent 65%
	);
	background-size: 250% 100%;
	animation: a-sweep3 4s ease-in-out infinite;
}
@keyframes a-sweep3 {
	0%   { background-position: 150% 0; }
	100% { background-position: -50% 0; }
}
.ad-banner-layer3-btn-text {
	display: inline-block;
	font-family: 'Noto Serif SC', serif;
	font-weight: 700;
	font-size: 24px;
	letter-spacing: 4px;
	color: #ffffff;
	padding: 10px 28px;
}
/* 按钮浮动错落 */
.ad-banner-layer3-btn:nth-child(1) { animation: a-f1 2.8s ease-in-out infinite; }
.ad-banner-layer3-btn:nth-child(2) { animation: a-f2 3.2s ease-in-out infinite; }
.ad-banner-layer3-btn:nth-child(3) { animation: a-f3 2.5s ease-in-out infinite; }
.ad-banner-layer3-btn:nth-child(4) { animation: a-f4 3.6s ease-in-out infinite; }
.ad-banner-layer3-btn:nth-child(2) .ad-banner-layer3-btn-sweep { animation-delay: 0.8s; }
.ad-banner-layer3-btn:nth-child(3) .ad-banner-layer3-btn-sweep { animation-delay: 1.6s; }
.ad-banner-layer3-btn:nth-child(4) .ad-banner-layer3-btn-sweep { animation-delay: 2.4s; }
@keyframes a-f1 { 0%,100%{transform:translateY(0)} 50%{transform:translateY(-5px)} }
@keyframes a-f2 { 0%,100%{transform:translateY(0)} 50%{transform:translateY(4px)}  }
@keyframes a-f3 { 0%,100%{transform:translateY(0)} 50%{transform:translateY(-6px)} }
@keyframes a-f4 { 0%,100%{transform:translateY(0)} 50%{transform:translateY(5px)}  }

@media (prefers-reduced-motion: reduce) {
	.ad-banner-layer1-bar::before,
	.ad-banner-layer3-btn-sweep { animation: none; }
	.ad-banner-layer1-text { animation: none; max-width: 2000px; border-right: none; }
	.ad-banner-layer2-text { animation: none; opacity: 1; }
	.ad-banner-layer3-btn  { animation: none; transition: none; }
}