.bambini-home .bambini-anniversary-banner { margin: 0; width: 100%; }
.bambini-anniversary-banner img { display: block; width: 100%; height: auto; }

#bambini-anniversary-popup {
	container-type: inline-size;
	position: fixed;
	inset: 0;
	box-sizing: border-box;
	width: min(640px, calc(100% - 20px), calc((100dvh - 20px) * 0.94));
	max-width: none;
	max-height: none;
	margin: auto;
	padding: 0;
	overflow: hidden;
	border: 0;
	border-radius: 0;
	background: transparent;
	box-shadow: 0 18px 60px #21121b55;
}
#bambini-anniversary-popup:not([open]) { display: none; }
#bambini-anniversary-popup::backdrop { background: #25171db3; }
html:has(#bambini-anniversary-popup[open]) { overflow: hidden; }
#bambini-anniversary-popup .ba-art { display: block; width: 100%; height: auto; }
#bambini-anniversary-popup :is(.ba-close, .ba-entry, .ba-later) {
	position: absolute;
	display: block;
	box-sizing: border-box;
	padding: 0;
	border: 0;
	background: transparent;
	cursor: pointer;
}
#bambini-anniversary-popup .ba-close { top: 0; right: 0; width: 9.2%; height: 8.1%; border-radius: 4px; }
#bambini-anniversary-popup .ba-entry {
	top: 75%; left: 48.9%; width: 45.6%; height: 7.6%; border-radius: 999px;
}
#bambini-anniversary-popup .ba-later { top: 84%; left: 59.5%; width: 24%; height: 8%; border-radius: 4px; }
#bambini-anniversary-popup :focus-visible { outline: 2px solid white; box-shadow: 0 0 0 4px #721b24; }

#bambini-anniversary-popup .ba-message {
	/* Opaque over the original printed ribbon, gift and invitation; the photo is outside this area. */
	position: absolute; top: 38%; left: 44.4%; width: 52.2%; height: 36.5%;
	background: linear-gradient(108deg, #f5dec7, #fae6d3 54%, #f8e2cc);
	color: #721b24; text-align: center;
	display: grid; grid-template-rows: 31% minmax(0, 1fr);
}
#bambini-anniversary-popup .ba-ribbon {
	display: grid; place-items: center;
	box-sizing: border-box; padding: 0 5%;
	background: #741d25; color: #fff4e7;
	clip-path: polygon(0 13%, 24% 4%, 51% 7%, 77% 14%, 100% 8%, 96% 51%, 100% 94%, 77% 100%, 51% 94%, 24% 91%, 0 98%, 4% 55%);
	font: italic 500 clamp(9px, 3.25cqi, 21px)/1.05 Fraunces, Georgia, serif;
}
#bambini-anniversary-popup .ba-copy {
	display: flex; flex-direction: column; justify-content: center; gap: 1.7cqi;
	box-sizing: border-box; padding: 1cqi 4cqi;
	font: italic 500 clamp(9px, 3.05cqi, 20px)/1.17 Fraunces, Georgia, serif;
}
#bambini-anniversary-popup .ba-message p { margin: 0; }

.ba-page {
	box-sizing: border-box;
	max-width: 860px;
	margin: 0 auto;
	padding: 0 clamp(18px, 5vw, 46px) 24px;
	color: #5b272f;
}
.ba-page .ba-intro { text-align: center; font: italic 500 clamp(19px, 3vw, 26px)/1.4 Fraunces, Georgia, serif; }
.ba-page .ba-actions {
	display: flex; flex-wrap: wrap; justify-content: center; align-items: center;
	gap: 12px 20px; margin: 24px 0 32px;
}
.ba-page .ba-actions a { color: #721b24; font-weight: 700; font-size: .9rem; }
.ba-page .ba-actions .ba-shop {
	padding: 13px 22px; border-radius: 999px;
	background: #721b24; color: #fff4e7; text-decoration: none;
}
.ba-page section { margin-block: 20px; padding: clamp(18px, 4vw, 32px); border-radius: 18px; background: #f8ebdd; }
.ba-page h2, .ba-page h3 { margin-top: 0; color: #721b24; font-family: Fraunces, Georgia, serif; }
.ba-page .ba-methods { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.ba-page .ba-methods > div { padding: 16px; border: 1px solid #dbc0ae; border-radius: 12px; }
.ba-page .ba-methods p { margin-bottom: 0; }
.ba-page dl { display: grid; gap: 12px; }
.ba-page dt { font-weight: 700; }
.ba-page dd { margin: 0; }
.ba-page #bases-y-condiciones { scroll-margin-top: 110px; }
@media (max-width: 540px) {
	.ba-page .ba-methods { grid-template-columns: 1fr; }
}
