/* Offer page. Black, white and one grey -- the same restraint as the room. */
.aew-offer{
	max-width:44rem;
	margin:0 auto;
	padding:3.5rem 1.25rem 5rem;
	color:#000;
	line-height:1.85;
	text-align:right;
}
.aew-offer__head{margin-bottom:2.5rem}
.aew-offer__greet{
	margin:0 0 .75rem;
	font-size:.95rem;
	font-weight:400;
	color:#000;
	opacity:.55;
}
.aew-offer__headline{
	margin:0;
	font-size:2rem;
	font-weight:800;
	line-height:1.45;
	letter-spacing:-.01em;
}
.aew-offer__sub{
	margin:1rem 0 0;
	font-size:1.05rem;
	font-weight:400;
	opacity:.7;
}

.aew-offer__media{
	position:relative;
	margin:0 0 2.5rem;
	padding-top:56.25%;
	background:#f1f1f1;
	border-radius:.5rem;
	overflow:hidden;
}
.aew-offer__media img,
.aew-offer__media iframe,
.aew-offer__media video,
.aew-offer__media > div{
	position:absolute;
	inset:0;
	width:100%;
	height:100%;
	object-fit:cover;
	border:0;
	display:block;
}
.aew-offer__media.is-playable{cursor:pointer}
.aew-offer__media.is-playable:focus-visible{outline:2px solid #000;outline-offset:3px}
.aew-offer__play{
	position:absolute;
	top:50%;
	left:50%;
	transform:translate(-50%,-50%);
	width:var(--aew-play-size,4.25rem);
	height:var(--aew-play-size,4.25rem);
	display:grid;
	place-items:center;
	background:var(--aew-play-bg,#000);
	color:var(--aew-play-color,#fff);
	border:var(--aew-play-border-w,0) solid var(--aew-play-border-c,transparent);
	border-radius:var(--aew-play-radius,50%);
	box-sizing:border-box;
	transition:transform .15s ease;
}
.aew-offer__media.is-playable:hover .aew-offer__play{transform:translate(-50%,-50%) scale(1.06)}
/* Nudged right because a triangle's visual centre sits left of its box. */
.aew-offer__play svg{
	width:var(--aew-play-icon-size,38%);
	height:var(--aew-play-icon-size,38%);
	transform:translateX(4%);
}
.aew-offer__media.is-playing .aew-offer__play{display:none}

.aew-offer__list{
	margin:0 0 2.5rem;
	padding:0;
	list-style:none;
}
.aew-offer__list li{
	position:relative;
	padding:.7rem 1.6rem .7rem 0;
	border-bottom:1px solid #f1f1f1;
	font-size:1rem;
}
.aew-offer__list li:last-child{border-bottom:0}
/* A rule, not a tick: the eye reads it as a list without extra ink. */
.aew-offer__list li::before{
	content:"";
	position:absolute;
	top:1.35rem;
	right:0;
	width:.55rem;
	height:1px;
	background:#000;
}

.aew-offer__buy{
	padding:2rem 1.5rem;
	background:#f1f1f1;
	border-radius:.5rem;
	text-align:center;
}
.aew-offer__price{
	display:flex;
	align-items:baseline;
	justify-content:center;
	gap:.75rem;
	flex-wrap:wrap;
}
.aew-offer__was{
	font-size:1rem;
	opacity:.45;
	text-decoration:line-through;
}
.aew-offer__now{
	font-size:1.75rem;
	font-weight:800;
}
.aew-offer__note{
	margin:.6rem 0 0;
	font-size:.9rem;
	opacity:.6;
}
.aew-offer__deadline{
	margin:1.25rem 0 0;
	font-size:.9rem;
	display:flex;
	align-items:center;
	justify-content:center;
	gap:.4rem;
	flex-wrap:wrap;
}
.aew-offer__deadline-label{opacity:.6}
.aew-offer__clock{
	font-weight:700;
	font-variant-numeric:tabular-nums;
}

.aew-offer__cta{
	display:block;
	margin:1.5rem auto 0;
	max-width:24rem;
	padding:1.05rem 1.5rem;
	background:#000;
	color:#fff;
	border-radius:.4rem;
	font-size:1.05rem;
	font-weight:700;
	text-decoration:none;
	transition:opacity .15s ease;
}
.aew-offer__cta:hover{opacity:.85}
.aew-offer__cta:focus-visible{outline:2px solid #000;outline-offset:3px}

.aew-offer__guarantee{
	margin:1.25rem 0 0;
	font-size:.9rem;
	opacity:.65;
}

.aew-offer__faq{margin-top:3rem}
.aew-offer__faq details{
	border-bottom:1px solid #f1f1f1;
	padding:.25rem 0;
}
.aew-offer__faq summary{
	padding:.85rem 0;
	font-weight:700;
	font-size:.98rem;
	cursor:pointer;
	list-style:none;
}
.aew-offer__faq summary::-webkit-details-marker{display:none}
.aew-offer__faq summary::after{
	content:"+";
	float:left;
	opacity:.4;
	font-weight:400;
}
.aew-offer__faq details[open] summary::after{content:"−"}
.aew-offer__faq p{
	margin:0 0 1rem;
	font-size:.95rem;
	opacity:.75;
}

@media (max-width:600px){
	.aew-offer{padding:2.5rem 1rem 4rem}
	.aew-offer__headline{font-size:1.55rem}
	.aew-offer__now{font-size:1.5rem}
}

/* ---- logo ---------------------------------------------------------- */
.aew-offer__logo{
	margin:0 0 2.25rem;
	text-align:center;
}
.aew-offer__logo img{
	height:34px;
	width:auto;
	display:inline-block;
}

/* ---- monthly / annual switch --------------------------------------- */
.aew-offer__switch{
	display:inline-flex;
	gap:.25rem;
	margin:0 auto 1.75rem;
	padding:.3rem;
	background:#f1f1f1;
	border-radius:999px;
}
.aew-offer{text-align:right}
.aew-offer__switch{display:flex;width:max-content;margin-inline:auto}
.aew-offer__switch button{
	display:inline-flex;
	align-items:center;
	gap:.45rem;
	padding:.55rem 1.15rem;
	border:0;
	border-radius:999px;
	background:transparent;
	color:#000;
	font:inherit;
	font-weight:700;
	font-size:.92rem;
	cursor:pointer;
	transition:background .15s ease;
}
.aew-offer__switch button.is-on{background:#fff}
.aew-offer__switch button:focus-visible{outline:2px solid #000;outline-offset:2px}
.aew-offer__switch-note{
	padding:.15rem .45rem;
	background:#000;
	color:#fff;
	border-radius:999px;
	font-size:.72rem;
	font-weight:700;
}

/* ---- plans --------------------------------------------------------- */
.aew-offer__plans{
	display:grid;
	grid-template-columns:repeat(auto-fit,minmax(15rem,1fr));
	gap:1rem;
	margin:0 0 1.5rem;
	align-items:start;
}
.aew-offer__plan{
	position:relative;
	padding:2rem 1.35rem 1.5rem;
	border:1px solid #f1f1f1;
	border-radius:.75rem;
	text-align:center;
	background:#fff;
}
.aew-offer__plan.is-featured{
	border-color:#000;
}
.aew-offer__plan-flag{
	position:absolute;
	top:-.75rem;
	left:50%;
	transform:translateX(-50%);
	padding:.3rem .85rem;
	background:#000;
	color:#fff;
	border-radius:999px;
	font-size:.75rem;
	font-weight:700;
	white-space:nowrap;
}
.aew-offer__plan-title{
	margin:0 0 .5rem;
	font-size:1rem;
	font-weight:400;
	opacity:.65;
}
.aew-offer__plan-price{
	margin:0 0 1.25rem;
	font-size:1.6rem;
	font-weight:800;
	font-variant-numeric:tabular-nums;
	min-height:1.6em;
}
.aew-offer__plan-features{
	margin:0 0 1.5rem;
	padding:0;
	list-style:none;
	text-align:right;
}
.aew-offer__plan-features li{
	display:flex;
	align-items:center;
	gap:.5rem;
	padding:.5rem 0;
	font-size:.93rem;
	border-bottom:1px solid #f1f1f1;
}
.aew-offer__plan-features li:last-child{border-bottom:0}
.aew-offer__plan-features li span{
	flex:0 0 1.15rem;
	height:1.15rem;
	display:grid;
	place-items:center;
	border-radius:50%;
	background:#f1f1f1;
	font-size:.7rem;
	line-height:1;
}
.aew-offer__plan-features li.is-on span{background:#000;color:#fff}
.aew-offer__plan-features li.is-off{opacity:.45}
.aew-offer__cta--plan{margin-top:0;max-width:none}
.aew-offer__guarantee--plans{text-align:center;margin-top:0}

/* ---- trust badges -------------------------------------------------- */
.aew-offer__trust{
	display:flex;
	flex-wrap:wrap;
	align-items:center;
	justify-content:center;
	gap:1.25rem;
	margin-top:3.5rem;
	padding-top:2rem;
	border-top:1px solid #f1f1f1;
}
.aew-offer__badge{
	display:inline-flex;
	opacity:.75;
	transition:opacity .15s ease;
}
.aew-offer__badge:hover{opacity:1}
/* Height is fixed so a heavy upload cannot shift the layout while it loads.
   object-fit keeps a seal in proportion even if its stored dimensions lie. */
.aew-offer__badge-img{
	height:var(--aew-badge-h,104px);
	width:auto;
	max-width:100%;
	object-fit:contain;
	display:block;
}

@media (max-width:600px){
	/* Plans read better swiped than stacked: three tall cards in a column push
	   the price below the fold and make comparing them a scrolling exercise.
	   Scroll-snap gives the same feel as the pricing tables people expect,
	   without a line of JavaScript. */
	.aew-offer__plans{
		display:flex;
		grid-template-columns:none;
		overflow-x:auto;
		overscroll-behavior-x:contain;
		scroll-snap-type:x mandatory;
		gap:.75rem;
		/* room for the "پیشنهادی" flag, which sits above the card */
		padding:1rem 1rem .5rem;
		margin-inline:-1rem;
		scrollbar-width:none;
		-webkit-overflow-scrolling:touch;
	}
	.aew-offer__plans::-webkit-scrollbar{display:none}
	.aew-offer__plan{
		flex:0 0 78%;
		scroll-snap-align:center;
	}
	.aew-offer__trust{gap:1rem}
	.aew-offer__badge-img{height:calc(var(--aew-badge-h,104px) * .8)}
}

/* The Negavid embed builds its player inside this holder after the click. */
.aew-offer__player{
	position:absolute;
	inset:0;
	width:100%;
	height:100%;
}
.aew-offer__player video,
.aew-offer__player iframe,
.aew-offer__player > div{
	width:100%;
	height:100%;
	display:block;
}

/* Shown only when the browser refused sound and playback fell back to muted. */
.aew-offer__unmute{
	position:absolute;
	bottom:.9rem;
	right:.9rem;
	z-index:5;
	display:inline-flex;
	align-items:center;
	gap:.4rem;
	padding:.55rem .9rem;
	border:0;
	border-radius:999px;
	background:#000;
	color:#fff;
	font:inherit;
	font-size:.85rem;
	font-weight:700;
	cursor:pointer;
	opacity:.92;
}
.aew-offer__unmute:hover{opacity:1}
.aew-offer__unmute:focus-visible{outline:2px solid #fff;outline-offset:2px}

/* ---- countdown ------------------------------------------------------ */
.aew-offer__timer{
	margin:0 0 2rem;
	padding:1.5rem 1rem;
	background:#f1f1f1;
	border-radius:.5rem;
	text-align:center;
}
.aew-offer__timer-title{
	margin:0 0 1rem;
	font-size:.95rem;
	font-weight:700;
}
.aew-offer__clocks{
	display:flex;
	justify-content:center;
	gap:.5rem;
}
.aew-offer__unit{
	min-width:4.25rem;
	padding:.7rem .4rem;
	background:#fff;
	border-radius:.4rem;
}
.aew-offer__unit-num{
	display:block;
	font-size:1.6rem;
	font-weight:800;
	line-height:1.2;
	/* tabular figures stop the row twitching as the seconds tick */
	font-variant-numeric:tabular-nums;
}
.aew-offer__unit-label{
	display:block;
	margin-top:.15rem;
	font-size:.72rem;
	opacity:.55;
}
.aew-offer__timer-done{
	margin:0;
	font-size:.95rem;
	font-weight:700;
}

@media (max-width:600px){
	.aew-offer__timer{padding:1.25rem .75rem}
	.aew-offer__clocks{gap:.4rem}
	.aew-offer__unit{min-width:0;flex:1;padding:.6rem .2rem}
	.aew-offer__unit-num{font-size:1.35rem}
}
