.site-footer {
	position: relative;
	margin-block-start: var(--playpop-space-xl);
	color: var(--playpop-footer-text, var(--playpop-surface));
	background: linear-gradient(155deg, color-mix(in srgb, var(--playpop-footer-bg, var(--playpop-green-dark)) 82%, black) 0%, var(--playpop-footer-bg, var(--playpop-green-dark)) 55%, color-mix(in srgb, var(--playpop-footer-bg, var(--playpop-green-dark)) 70%, black) 100%);
	font-family: var(--playpop-font-family-base);
}
.playpop-footer-curve { position: absolute; inset-block-start: calc(-1 * var(--playpop-space-xl)); inset-inline: 0; block-size: var(--playpop-space-xl); color: color-mix(in srgb, var(--playpop-footer-bg, var(--playpop-green-dark)) 82%, black); pointer-events: none; }
.playpop-footer-curve svg { display: block; inline-size: 100%; block-size: 100%; fill: currentcolor; }
.playpop-footer__inner {
	display: grid;
	grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr) minmax(14rem, 0.8fr);
	grid-template-areas: "brand contact assurance" "nav nav nav" "widgets widgets widgets" "copyright copyright copyright";
	gap: 2.25rem clamp(1.5rem, 4vw, 4rem);
	padding-block: clamp(2.5rem, 5vw, 4rem) 1.25rem;
}
.playpop-footer-brand { grid-area: brand; max-inline-size: 34rem; }
.playpop-footer-brand__title { margin-block: 0 0.75rem; color: var(--playpop-footer-heading, var(--playpop-yellow)); font-size: clamp(1.6rem, 2vw, 2.1rem); letter-spacing: 0.01em; }
.playpop-footer-brand__title a { color: inherit; text-decoration: none; }
.playpop-footer-brand p { margin: 0; color: color-mix(in srgb, var(--playpop-footer-text, white) 82%, transparent); line-height: 2; }
.playpop-footer-contact { grid-area: contact; }
.playpop-footer__assurance { grid-area: assurance; display: grid; align-content: start; gap: 1.5rem; }
.playpop-footer-navigation { grid-area: nav; display: flex; flex-wrap: wrap; justify-content: center; gap: clamp(1.5rem, 4vw, 4rem); padding-block: 2rem; border-block: 1px solid color-mix(in srgb, var(--playpop-footer-border, white) 18%, transparent); }
.playpop-footer-nav-group { flex: 0 1 calc(25% - 3rem); min-inline-size: 11rem; }
.playpop-footer-nav-group--mobile { display: none; }
.playpop-footer-section,.playpop-footer-trust,.playpop-footer-social,.footer-widgets { min-inline-size: 0; padding: 0; background: transparent; border: 0; border-radius: 0; box-shadow: none; }
.playpop-footer-section__title,.playpop-footer-nav-group__title,.playpop-footer-nav-group summary { margin-block: 0 0.8rem; color: var(--playpop-footer-heading, var(--playpop-yellow)); font-size: 1rem; font-weight: 800; line-height: 1.6; }
.playpop-footer-nav-group summary { cursor: default; list-style: none; }
.playpop-footer-nav-group summary::-webkit-details-marker { display: none; }
.playpop-footer-list { display: grid; gap: 0.55rem; padding: 0; margin: 0; list-style: none; }
.playpop-footer-list li { min-inline-size: 0; color: var(--playpop-footer-text, rgb(255 255 255 / 80%)); line-height: 1.8; }
.playpop-footer-list a { color: color-mix(in srgb, var(--playpop-footer-link, white) 82%, transparent); font: inherit; text-decoration: none; transition: color 150ms ease, transform 150ms ease; }
.playpop-footer-list a:hover,.playpop-footer-list a:focus-visible { color: var(--playpop-footer-link-hover, var(--playpop-yellow)); }
.playpop-footer-contact__list { gap: 0.65rem; }
.playpop-footer-contact__list li,.playpop-footer-contact__list a { display: flex; align-items: flex-start; gap: 0.55rem; }
.playpop-footer-contact__icon { display: grid; place-items: center; flex: 0 0 auto; inline-size: 1.65rem; block-size: 1.65rem; color: var(--playpop-footer-heading, var(--playpop-yellow)); background: color-mix(in srgb, var(--playpop-footer-text, white) 9%, transparent); border-radius: 0.5rem; font-size: 0.8rem; font-weight: 800; }
.playpop-footer-trust__items,.playpop-footer-social__items { display: flex; flex-wrap: wrap; gap: 0.65rem; }
.playpop-footer-trust__badge { display: flex; align-items: center; justify-content: center; inline-size: 4.75rem; min-block-size: 3.75rem; padding: 0.4rem; background: var(--playpop-surface); border: 1px solid rgb(255 255 255 / 25%); border-radius: 0.75rem; transition: transform 150ms ease; }
.playpop-footer-trust__badge img { max-inline-size: 4rem; max-block-size: 3rem; object-fit: contain; }
a.playpop-footer-trust__badge:hover,a.playpop-footer-trust__badge:focus-visible { transform: translateY(-2px); }
.playpop-footer-social__link { display: grid; place-items: center; inline-size: 2.45rem; block-size: 2.45rem; color: var(--playpop-green-dark); background: var(--playpop-yellow-soft); border: 1px solid rgb(255 255 255 / 25%); border-radius: 999px; font-weight: 700; text-decoration: none; transition: transform 150ms ease, background 150ms ease; }
.playpop-footer-social__link:hover,.playpop-footer-social__link:focus-visible { background: var(--playpop-yellow); transform: translateY(-2px); }
.footer-widgets,.playpop-footer__sms-extension { grid-area: widgets; }
.playpop-footer__copyright { grid-area: copyright; display: flex; flex-wrap: wrap; justify-content: space-between; gap: 0.5rem 1rem; padding-block-start: 1rem; border-block-start: 1px solid color-mix(in srgb, var(--playpop-footer-border, white) 18%, transparent); color: color-mix(in srgb, var(--playpop-footer-text, white) 68%, transparent); font-size: var(--playpop-font-size-small); }
.playpop-footer__copyright p { margin: 0; }.playpop-footer__credit a { color: var(--playpop-footer-link, var(--playpop-yellow)); font: inherit; }.playpop-footer__credit a:hover,.playpop-footer__credit a:focus-visible { color: var(--playpop-footer-link-hover, var(--playpop-yellow)); }

@media (min-width: 48rem) {
	.playpop-footer-nav-group--desktop { display: block; }
	.playpop-footer-nav-group--mobile { display: none; }
}
@media (min-width: 48rem) and (max-width: 63.99rem) {
	.playpop-footer__inner { grid-template-columns: repeat(2, minmax(0, 1fr)); grid-template-areas: "brand contact" "assurance assurance" "nav nav" "widgets widgets" "copyright copyright"; gap: 2rem; }
	.playpop-footer__assurance { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.playpop-footer-navigation { gap: 2rem; }
	.playpop-footer-nav-group { flex-basis: calc(50% - 1rem); }
}
@media (max-width: 47.99rem) {
	.site-footer { margin-block-start: 1.5rem; }.playpop-footer-curve { inset-block-start: -1.5rem; block-size: 1.5rem; }
	.playpop-footer__inner { display: flex; flex-direction: column; gap: 1.35rem; padding-block: 1.75rem 1rem; }
	.playpop-footer-brand { order: 1; }.playpop-footer-contact { order: 2; }.playpop-footer-navigation { order: 3; }.playpop-footer__assurance { order: 4; }.footer-widgets,.playpop-footer__sms-extension { order: 5; }.playpop-footer__copyright { order: 6; }
	.playpop-footer-brand__title { font-size: 1.55rem; }.playpop-footer-brand p { line-height: 1.85; }
	.playpop-footer-navigation { display: grid; grid-template-columns: 1fr; gap: 0; padding-block: 0; border-block: 1px solid color-mix(in srgb, var(--playpop-footer-border, white) 18%, transparent); }
	.playpop-footer-nav-group--desktop { display: none; }
	.playpop-footer-nav-group--mobile { display: block; }
	.playpop-footer-nav-group { min-inline-size: 0; border-block-end: 1px solid color-mix(in srgb, var(--playpop-footer-border, white) 14%, transparent); }
	.playpop-footer-nav-group:last-child { border-block-end: 0; }
	.playpop-footer-nav-group summary { position: relative; display: flex; align-items: center; justify-content: space-between; min-block-size: 3.25rem; margin: 0; cursor: pointer; }
	.playpop-footer-nav-group summary::after { content: "+"; color: var(--playpop-yellow); font-size: 1.3rem; font-weight: 400; transition: transform 150ms ease; }
	.playpop-footer-nav-group[open] summary::after { transform: rotate(45deg); }
	.playpop-footer-nav-group .playpop-footer-list { padding-block: 0 0.9rem; }
	.playpop-footer-nav-group:not([open]) > .playpop-footer-list { display: none !important; }
	.playpop-footer-nav-group[open] > .playpop-footer-list { display: grid !important; }
	.playpop-footer__assurance { gap: 1.15rem; }
	.playpop-footer__copyright { display: grid; justify-content: center; padding-block-start: 0.85rem; text-align: center; }
}
