/* ==========================================================================
   Girl Pit theme styles
   Colors, fonts and base spacing live in theme.json. This file holds the
   zine details: tape, torn edges, stickers, cards, entrance and EPK.
   ========================================================================== */

:root {
	--gp-ink: var(--wp--preset--color--ink, #141414);
	--gp-xerox: var(--wp--preset--color--xerox, #F3EEE4);
	--gp-cherry: var(--wp--preset--color--cherry, #E8264D);
	--gp-cherry-deep: var(--wp--preset--color--cherry-deep, #C81E40);
	--gp-pink: var(--wp--preset--color--bubblegum, #F0839B);
	--gp-blue: var(--wp--preset--color--bubble, #8DC9EE);
	--gp-lime: var(--wp--preset--color--lime, #ABDF87);
	--gp-moss: var(--wp--preset--color--moss, #477A22);
	--gp-display: var(--wp--preset--font-family--display, "Bowlby One", sans-serif);
	--gp-banner-h: 2.4rem;
	--gp-tape-pink: rgba(240, 131, 155, .65);
	--gp-tape-blue: rgba(141, 201, 238, .65);
	--gp-tape-lime: rgba(171, 223, 135, .7);
	--gp-torn: polygon(0% 18px, 3% 6px, 7% 14px, 11% 2px, 16% 12px, 21% 4px, 26% 16px, 31% 6px, 36% 13px, 41% 1px, 46% 15px, 51% 5px, 56% 12px, 61% 2px, 66% 14px, 71% 6px, 76% 16px, 81% 3px, 86% 12px, 91% 5px, 96% 15px, 100% 4px, 100% 100%, 0% 100%);
}

.screen-reader-text {
	border: 0; clip: rect(1px, 1px, 1px, 1px); clip-path: inset(50%);
	height: 1px; margin: -1px; overflow: hidden; padding: 0;
	position: absolute !important; width: 1px; word-wrap: normal !important;
}

::selection { background: var(--gp-pink); color: var(--gp-ink); }

/* Die-cut sticker look: white outline + soft shadow, follows the PNG shape */
.gp-die,
.gp-die img {
	filter:
		drop-shadow(3px 0 0 #fff) drop-shadow(-3px 0 0 #fff)
		drop-shadow(0 3px 0 #fff) drop-shadow(0 -3px 0 #fff)
		drop-shadow(4px 6px 5px rgba(0, 0, 0, .3));
}
figure.gp-die { margin: 0; filter: none; }

/* Masking tape strip, used via .gp-taped on any block */
.gp-taped { position: relative; }
.gp-taped::before {
	content: "";
	position: absolute; z-index: 2;
	top: -14px; left: 50%;
	width: 110px; height: 28px; margin-left: -55px;
	background: var(--gp-tape, var(--gp-tape-lime));
	transform: rotate(-4deg);
	pointer-events: none;
}
.gp-tape-pink { --gp-tape: var(--gp-tape-pink); }
.gp-tape-blue { --gp-tape: var(--gp-tape-blue); }
.gp-tape-lime { --gp-tape: var(--gp-tape-lime); }
.gp-tilt-l { transform: rotate(-.8deg); }
.gp-tilt-r { transform: rotate(.8deg); }

.gp-kicker {
	font-weight: 700;
	font-size: .875rem !important;
	letter-spacing: .12em;
	text-transform: uppercase;
	margin-bottom: .4rem !important;
}

.gp-strong-link a { font-weight: 700; }

/* ==========================================================================
   Header + scrolling banner
   ========================================================================== */

header.gp-site-header {
	position: sticky;
	top: calc(var(--wp-admin--admin-bar--height, 0px) - var(--gp-banner-h));
	z-index: 50;
}

.gp-banner {
	height: var(--gp-banner-h);
	background: var(--gp-cherry-deep);
	color: var(--gp-xerox);
	overflow: hidden;
	display: flex;
	align-items: center;
	font-weight: 700;
	font-size: .875rem;
}
.gp-banner__track {
	display: flex;
	width: max-content;
	animation: gp-marquee 38s linear infinite;
}
.gp-banner:hover .gp-banner__track { animation-play-state: paused; }
.gp-banner__copy {
	margin: 0 !important;
	white-space: nowrap;
	display: flex;
	gap: 1.1rem;
	padding-right: 1.1rem;
}
.gp-spark { color: var(--gp-pink); }
@keyframes gp-marquee { to { transform: translateX(-50%); } }

.gp-header {
	background: var(--gp-xerox);
	border-bottom: 2px solid var(--gp-ink);
	padding-top: .65rem;
	padding-bottom: .65rem;
}
.gp-header__row { gap: 1.5rem; }
.gp-header__logo { display: block; line-height: 0; }
.gp-header__logo img { height: 44px; width: auto; }
.gp-header__actions { gap: 1.4rem; }
.gp-nav .wp-block-navigation-item__content { text-decoration: none; padding: .35rem 0; }
.gp-nav .wp-block-navigation-item__content:hover { color: var(--gp-cherry-deep); }
.gp-nav .current-menu-item > a,
.gp-nav [aria-current="page"] { border-bottom: 3px solid var(--gp-cherry); }
.gp-nav .wp-block-navigation__responsive-container.is-menu-open {
	background: var(--gp-xerox) !important;
	padding: 2rem;
}
.gp-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content {
	font-size: 2.25rem;
}
.gp-social .wp-social-link { font-size: 22px; }
.gp-social.wp-block-social-links .wp-social-link a { padding: .4rem; }

/* Mini cart (WooCommerce) */
.gp-cart .wc-block-mini-cart__button { padding: .4rem; color: var(--gp-ink); }
.gp-cart .wc-block-mini-cart__icon { width: 26px; height: 26px; }
.gp-cart .wc-block-mini-cart__badge {
	background: var(--gp-cherry) !important;
	color: var(--gp-ink) !important;
	font-weight: 700;
	border: 0;
}
.wc-block-mini-cart__drawer .wc-block-components-drawer {
	background: var(--gp-xerox);
	border-left: 2px solid var(--gp-ink);
}
.wc-block-mini-cart__drawer h2,
.wc-block-mini-cart__title { font-family: var(--gp-display); font-weight: 400; }
.wc-block-mini-cart__footer-actions .wc-block-components-button {
	font-family: var(--gp-display);
	border: 2px solid var(--gp-ink) !important;
	border-radius: 0 !important;
	box-shadow: 4px 4px 0 var(--gp-ink);
	text-transform: uppercase;
}
.wc-block-mini-cart__footer-checkout { background: var(--gp-cherry) !important; color: var(--gp-ink) !important; }
.wc-block-mini-cart__footer-cart { background: var(--gp-xerox) !important; color: var(--gp-ink) !important; }
.wc-block-mini-cart__footer::after {
	content: "Made to order: ships in 2–4 weeks. Rush requests go in the order note at checkout.";
	display: block;
	margin-top: 1rem;
	font-size: .8125rem;
	line-height: 1.5;
}

/* ==========================================================================
   Footer
   ========================================================================== */

footer.gp-site-footer { margin-top: 0; }
.gp-footer {
	clip-path: var(--gp-torn);
	padding-top: 4rem;
	padding-bottom: 2rem;
	margin-top: -18px;
}
.gp-footer a { color: var(--gp-xerox); }
.gp-footer a:hover { color: var(--gp-pink); }
.gp-footer__heading { font-size: 1.25rem !important; margin-bottom: .9rem; }
.gp-footer__list { list-style: none; padding: 0; margin: 0; display: grid; gap: .6rem; font-size: .9375rem; }
.gp-footer__copy { margin-top: 3rem !important; font-size: .8125rem; color: var(--wp--preset--color--concrete, #CFCAC1); }

/* ==========================================================================
   Entrance (front page)
   ========================================================================== */

body.gp-entrance-page { background: var(--gp-ink); }
body.gp-entrance-page .wp-site-blocks { padding: 0; }

.gp-entrance {
	position: relative;
	min-height: 100vh;
	min-height: 100svh;
	overflow: hidden;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: flex-start;
	gap: 2.25rem;
	padding: 2.5rem 1.5rem 4rem;
	box-sizing: border-box;
	background: var(--gp-ink) var(--gp-halftone) center top / cover no-repeat;
}

.gp-entrance__scatter {
	position: absolute;
	width: var(--w, 140px);
	height: auto;
	pointer-events: none;
}

.gp-entrance__scrap { position: relative; transform: rotate(-2deg); z-index: 3; }
.gp-torn {
	background: var(--gp-xerox);
	padding: 30px 44px 26px;
	clip-path: polygon(0% 6%, 4% 0%, 9% 4%, 15% 1%, 22% 5%, 30% 0%, 38% 4%, 46% 1%, 55% 5%, 63% 0%, 71% 4%, 79% 1%, 87% 5%, 94% 0%, 100% 4%, 98% 12%, 100% 22%, 97% 33%, 100% 45%, 98% 57%, 100% 69%, 97% 80%, 100% 91%, 96% 100%, 88% 96%, 80% 100%, 72% 95%, 63% 99%, 54% 95%, 45% 100%, 36% 96%, 27% 100%, 18% 95%, 9% 99%, 2% 95%, 0% 86%, 3% 74%, 0% 62%, 2% 50%, 0% 38%, 3% 26%, 0% 16%);
}
.gp-entrance__logo { margin: 0; line-height: 0; }
.gp-entrance__logo img { width: min(380px, 70vw); height: auto; }
.gp-tape {
	position: absolute; top: -14px; left: 38%;
	width: 120px; height: 30px;
	background: rgba(243, 238, 228, .7);
	transform: rotate(4deg);
	border: 1px solid rgba(20, 20, 20, .08);
}

.gp-entrance__nav {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	gap: 3rem;
	z-index: 3;
}
.gp-sticker-btn {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	text-decoration: none;
	color: var(--gp-ink);
	transform: rotate(var(--r, 0deg));
}
.gp-sticker-btn img { width: 240px; height: auto; transition: transform .2s ease, filter .2s ease; }
.gp-sticker-btn__label {
	position: absolute;
	background: var(--gp-xerox);
	padding: 8px 22px 6px;
	font-family: var(--gp-display);
	font-size: 38px;
	line-height: 1;
	letter-spacing: .04em;
	transform: rotate(var(--lr, 0deg));
	box-shadow: 2px 3px 0 rgba(20, 20, 20, .25);
	pointer-events: none;
}
.gp-sticker-btn:hover img,
.gp-sticker-btn:focus-visible img {
	transform: translateY(-8px) rotate(-2deg);
	filter:
		drop-shadow(3px 0 0 #fff) drop-shadow(-3px 0 0 #fff)
		drop-shadow(0 3px 0 #fff) drop-shadow(0 -3px 0 #fff)
		drop-shadow(10px 18px 12px rgba(0, 0, 0, .45));
}
.gp-sticker-btn:focus-visible { outline: 3px dashed var(--gp-xerox); outline-offset: 10px; }

/* Slap-on load animation */
.gp-slap { animation: gp-slap .45s cubic-bezier(.2, 1.4, .4, 1) both; }
@keyframes gp-slap {
	0% { opacity: 0; transform: rotate(calc(var(--r, 0deg) + 14deg)) scale(1.7); }
	70% { opacity: 1; transform: rotate(var(--r, 0deg)) scale(.94); }
	100% { opacity: 1; transform: rotate(var(--r, 0deg)) scale(1); }
}
.gp-entrance__scatter.gp-slap { transform: rotate(var(--r, 0deg)); }

@media (max-width: 781px) {
	.gp-entrance { gap: .9rem; padding-top: 2.5rem; background-position: 46% center; }
	.gp-torn { padding: 22px 28px 18px; }
	.gp-entrance__logo img { width: 240px; }
	.gp-entrance__nav { flex-direction: column; gap: .25rem; width: 100%; }
	.gp-sticker-btn img { width: 172px; }
	.gp-sticker-btn__label { font-size: 26px; padding: 6px 14px 4px; }
	.gp-sticker-btn:nth-child(1) { align-self: flex-start; margin-left: 8%; }
	.gp-sticker-btn:nth-child(2) { align-self: flex-end; margin-right: 6%; }
	.gp-sticker-btn:nth-child(3) { align-self: flex-start; margin-left: 12%; }
	.gp-desktop-only { display: none; }
	.gp-entrance__scatter { width: calc(var(--w, 140px) * .48); }
	.gp-entrance__scatter:nth-of-type(1) { left: auto !important; top: 200px !important; right: 8px !important; bottom: auto !important; width: 90px; }
	.gp-entrance__scatter:nth-of-type(2) { right: auto !important; top: 14px !important; left: 8px !important; bottom: auto !important; width: 70px; }
	.gp-entrance__scatter:nth-of-type(3) { top: auto !important; bottom: 110px !important; left: 10px !important; right: auto !important; width: 96px; }
}

/* ==========================================================================
   Generic pages (legal, cart, checkout, account)
   ========================================================================== */

.gp-page { padding-top: var(--wp--preset--spacing--50); padding-bottom: var(--wp--preset--spacing--60); }
.gp-page__title { font-size: var(--wp--preset--font-size--xx-large) !important; margin-bottom: 2rem; }
.gp-page__content h2 { font-size: var(--wp--preset--font-size--large); margin-top: 2.5rem; }
.gp-page__content h3 { font-size: 1.0625rem; margin-top: 1.75rem; }
.gp-updated { font-size: .9375rem; }

/* ==========================================================================
   Shop grid + product cards (shop page and "more from the pit")
   ========================================================================== */

.gp-shop { padding-top: var(--wp--preset--spacing--50); padding-bottom: var(--wp--preset--spacing--60); }
.gp-shop-intro { margin-bottom: 3.5rem; }
.gp-shop-intro__title { gap: 1.25rem; margin-bottom: .75rem; }
.gp-shop-intro__title h1 { margin: 0; }
.gp-shop-intro__heart { width: 74px; height: auto; transform: rotate(12deg); margin-bottom: .75rem; }
.gp-shop-intro__lede { max-width: 640px; margin-bottom: .5rem; }

.gp-grid .wc-block-product-template {
	display: grid !important;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 3rem 2rem !important;
	list-style: none;
	padding: 0;
}
.gp-related .wc-block-product-template { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.gp-grid .wc-block-product-template > li {
	width: auto !important;
	margin: 0 !important;
	display: flex;
	flex-direction: column;
	gap: .75rem;
	text-align: left;
}
@media (max-width: 1024px) {
	.gp-grid .wc-block-product-template { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 781px) {
	.gp-grid .wc-block-product-template,
	.gp-related .wc-block-product-template { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 2.25rem 1.1rem !important; }
}

.gp-card-photo {
	position: relative;
	background: #fff;
	padding: 10px 10px 14px;
	box-shadow: 2px 3px 0 rgba(20, 20, 20, .18);
	transition: transform .2s ease;
	margin: 0 !important;
}
.gp-card-photo::before {
	content: "";
	position: absolute; z-index: 2;
	top: -12px; left: 50%;
	width: 84px; height: 24px; margin-left: -42px;
	background: var(--gp-tape-lime);
	transform: rotate(-3deg);
}
.wc-block-product-template > li:nth-child(4n+1) .gp-card-photo { transform: rotate(-1.5deg); }
.wc-block-product-template > li:nth-child(4n+2) .gp-card-photo { transform: rotate(1deg); }
.wc-block-product-template > li:nth-child(4n+3) .gp-card-photo { transform: rotate(-.5deg); }
.wc-block-product-template > li:nth-child(4n+4) .gp-card-photo { transform: rotate(1.5deg); }
.wc-block-product-template > li:nth-child(3n+2) .gp-card-photo::before { background: var(--gp-tape-pink); }
.wc-block-product-template > li:nth-child(3n+3) .gp-card-photo::before { background: var(--gp-tape-blue); }
.wc-block-product-template > li:hover .gp-card-photo { transform: rotate(0deg) translateY(-4px); }

.gp-card-photo a { display: block; position: relative; overflow: hidden; }
.gp-card-photo img { display: block; width: 100%; aspect-ratio: 1 / 1; object-fit: cover; }
.gp-card-photo .gp-hover-img {
	position: absolute; inset: 0;
	width: 100%; height: 100%;
	opacity: 0;
	transition: opacity .25s ease;
}
.wc-block-product-template > li:hover .gp-hover-img,
.gp-card-photo a:focus-visible .gp-hover-img { opacity: 1; }

.gp-card-title { font-size: 1.125rem !important; line-height: 1.15 !important; margin: 0 !important; }
.gp-card-title a { text-decoration: none; }
.gp-card-meta { gap: .6rem !important; margin: 0 !important; }
.gp-card-price { font-weight: 700; font-size: 1rem; margin: 0 !important; }

/* Fit tags come from product tags named "BF fit", "Baby fit" or "Crop" */
.gp-fit-tags { margin: 0 !important; display: flex; gap: .4rem; flex-wrap: wrap; }
.gp-fit-tags a {
	display: inline-block;
	background: var(--gp-blue);
	color: var(--gp-ink);
	font-size: .75rem;
	font-weight: 700;
	line-height: 1.2;
	padding: 3px 8px;
	border-radius: 999px;
	text-decoration: none;
	transform: rotate(-2deg);
}
.gp-fit-tags a[href*="baby"],
.gp-fit-tags a[href*="crop"] { background: var(--gp-pink); }
.gp-fit-tags .wp-block-post-terms__separator { display: none; }

/* ==========================================================================
   Single product
   ========================================================================== */

.gp-product { padding-top: 2rem; padding-bottom: var(--wp--preset--spacing--60); }
.gp-back a { font-weight: 700; text-decoration: none; font-size: .9375rem; }
.gp-product__cols { gap: 3.5rem !important; margin-top: 1.75rem; }

.gp-product__gallery .woocommerce-product-gallery {
	position: relative;
	background: #fff;
	padding: 14px;
	box-shadow: 3px 4px 0 rgba(20, 20, 20, .18);
	transform: rotate(-.6deg);
	width: 100% !important;
	float: none !important;
}
.gp-product__gallery .woocommerce-product-gallery::before,
.gp-product__gallery .woocommerce-product-gallery::after {
	content: "";
	position: absolute; z-index: 5;
	top: -14px;
	width: 110px; height: 28px;
	pointer-events: none;
}
.gp-product__gallery .woocommerce-product-gallery::before { left: 12%; background: var(--gp-tape-pink); transform: rotate(-6deg); }
.gp-product__gallery .woocommerce-product-gallery::after { right: 10%; background: var(--gp-tape-blue); transform: rotate(5deg); }
.gp-product__gallery .flex-control-thumbs {
	display: grid !important;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 10px;
	margin: 12px 0 0 !important;
	padding: 0;
	list-style: none;
}
.gp-product__gallery .flex-control-thumbs li { width: auto !important; float: none !important; margin: 0 !important; }
.gp-product__gallery .flex-control-thumbs img { border: 1px solid #cfcac1; opacity: .75; cursor: pointer; }
.gp-product__gallery .flex-control-thumbs img.flex-active,
.gp-product__gallery .flex-control-thumbs img:hover { opacity: 1; border: 3px solid var(--gp-ink); }
.gp-product__gallery .woocommerce-product-gallery__trigger { z-index: 6; }

.gp-product__summary > * + * { margin-top: 1.5rem; }
.gp-product__title { font-size: clamp(2.25rem, 4.4vw, 3.5rem) !important; line-height: .95 !important; text-transform: uppercase; margin: 0 !important; }
.gp-product__price { font-size: 1.5rem; font-weight: 700; margin-top: .75rem !important; }
.gp-product__price del { opacity: .55; font-weight: 400; }

/* Variation picker: theme.js turns the dropdowns into tap-to-pick buttons */
.gp-atc table.variations { border: 0; margin: 0 0 1rem; width: 100%; }
.gp-atc table.variations tr { display: block; margin-bottom: 1.25rem; }
.gp-atc table.variations th,
.gp-atc table.variations td { display: block; padding: 0; border: 0; text-align: left; }
.gp-atc table.variations th.label { margin-bottom: .6rem; }
.gp-atc table.variations label { font-weight: 700; font-size: .9375rem; }
.gp-atc .gp-picked { font-weight: 400; }
.gp-atc .gp-native-select { position: absolute !important; opacity: 0; pointer-events: none; width: 1px; height: 1px; }
.gp-pills { display: flex; flex-wrap: wrap; gap: .5rem; }
.gp-pill {
	min-width: 52px; height: 46px;
	padding: 0 .9rem;
	border: 2px solid var(--gp-ink);
	background: var(--gp-xerox);
	color: var(--gp-ink);
	font: 700 .9375rem/1 var(--wp--preset--font-family--body);
	cursor: pointer;
}
.gp-pill:hover { background: #fff; }
.gp-pill[aria-pressed="true"] { background: var(--gp-ink); color: var(--gp-xerox); }
.gp-pill[disabled] { opacity: .35; text-decoration: line-through; cursor: not-allowed; }
.gp-pill--swatch {
	width: 46px; min-width: 46px; padding: 0;
	border-radius: 50%;
	background: var(--gp-swatch, #ccc);
}
.gp-pill--swatch[aria-pressed="true"] {
	background: var(--gp-swatch, #ccc);
	box-shadow: 0 0 0 3px var(--gp-xerox), 0 0 0 6px var(--gp-cherry);
}
.gp-pill--swatch:hover { background: var(--gp-swatch, #ccc); }
.gp-atc .reset_variations { font-size: .875rem; font-weight: 700; }
.gp-size-chart-btn {
	display: inline-block;
	margin: -.5rem 0 1.25rem;
	padding: .5rem 0;
	background: none; border: 0;
	font: 700 .9375rem var(--wp--preset--font-family--body);
	color: var(--gp-ink);
	text-decoration: underline;
	cursor: pointer;
}

.gp-atc form.cart { display: block; }
.gp-atc .woocommerce-variation-add-to-cart,
.gp-atc form.cart:not(.variations_form) {
	display: flex;
	gap: .9rem;
	flex-wrap: wrap;
	align-items: stretch;
}
.gp-atc .quantity .qty {
	height: 100%;
	min-height: 54px;
	width: 5rem;
	border: 2px solid var(--gp-ink);
	background: #fff;
	font: 700 1.0625rem var(--wp--preset--font-family--body);
	text-align: center;
}
.gp-atc .single_add_to_cart_button {
	flex: 1 1 220px;
	background: var(--gp-cherry) !important;
	color: var(--gp-ink) !important;
	border: 2px solid var(--gp-ink) !important;
	border-radius: 0 !important;
	box-shadow: 4px 4px 0 var(--gp-ink);
	font: 400 1.25rem/1 var(--gp-display) !important;
	letter-spacing: .05em;
	text-transform: uppercase;
	padding: 1rem 1.5rem !important;
	cursor: pointer;
}
.gp-atc .single_add_to_cart_button:hover { box-shadow: 6px 6px 0 var(--gp-ink); }
.gp-atc .single_add_to_cart_button.disabled { opacity: .55; }
.gp-atc .woocommerce-variation-price { display: none; }
.gp-atc .woocommerce-variation-availability p { font-weight: 700; margin: 0 0 .75rem; }

.gp-mto { margin-top: 1rem !important; }
.gp-other-fits {
	background: #fff;
	border: 2px dashed var(--gp-ink);
	padding: .8rem 1rem;
	font-size: .9375rem;
}
.gp-other-fits a { font-weight: 700; }

.gp-uwd {
	border: 3px solid var(--gp-moss);
	background: rgba(171, 223, 135, .25);
	padding: 1rem 1.15rem;
	transform: rotate(-1.2deg);
}
.gp-uwd > * { margin: 0 !important; }
.gp-uwd > * + * { margin-top: .35rem !important; }
.gp-uwd__title { font-family: var(--gp-display); font-size: 1rem; letter-spacing: .04em; color: #2f5317; }

.gp-details-heading { font-size: 1.25rem !important; margin-top: 2.25rem !important; }
.gp-product__desc ul { padding-left: 1.25rem; line-height: 1.8; }
.gp-product__desc table { border-collapse: collapse; width: 100%; font-size: .9375rem; }
.gp-product__desc th,
.gp-product__desc td { border-bottom: 1px solid #cfcac1; padding: .55rem .5rem; text-align: center; }
.gp-product__desc th:first-child,
.gp-product__desc td:first-child { text-align: left; }

.gp-related { margin-top: 6rem; }
.gp-related__heading { font-size: 2.25rem !important; margin-bottom: 2rem !important; }

/* Size chart dialog */
.gp-dialog {
	border: 2px solid var(--gp-ink);
	box-shadow: 6px 6px 0 var(--gp-ink);
	background: var(--gp-xerox);
	color: var(--gp-ink);
	padding: 1.75rem;
	width: min(640px, calc(100vw - 2rem));
	max-height: calc(100vh - 4rem);
}
.gp-dialog::backdrop { background: rgba(20, 20, 20, .55); }
.gp-dialog__head { display: flex; justify-content: space-between; align-items: center; margin-bottom: 1.1rem; }
.gp-dialog__head h2 { font-size: 1.5rem !important; margin: 0; }
.gp-dialog__close {
	width: 44px; height: 44px;
	background: none;
	border: 2px solid var(--gp-ink);
	font-size: 1.25rem;
	cursor: pointer;
	color: var(--gp-ink);
}
.gp-dialog__body { overflow-x: auto; }
.gp-dialog table { border-collapse: collapse; width: 100%; font-size: .9375rem; text-align: center; }
.gp-dialog th, .gp-dialog td { padding: .6rem; border-bottom: 1px solid #cfcac1; }
.gp-dialog tr:first-child > * { border-bottom: 2px solid var(--gp-ink); }
.gp-dialog th:first-child, .gp-dialog td:first-child { text-align: left; }

@media (max-width: 781px) {
	.gp-product__cols { gap: 2.5rem !important; }
}

/* ==========================================================================
   Cart and checkout blocks
   ========================================================================== */

.wc-block-components-button:not(.is-link),
.wc-block-cart__submit-button,
.wc-block-components-checkout-place-order-button {
	border-radius: 0 !important;
	border: 2px solid var(--gp-ink) !important;
	box-shadow: 4px 4px 0 var(--gp-ink);
	font-family: var(--gp-display) !important;
	text-transform: uppercase;
	letter-spacing: .04em;
}
.wc-block-cart__submit-button,
.wc-block-components-checkout-place-order-button { background: var(--gp-cherry) !important; color: var(--gp-ink) !important; }
.wc-block-components-text-input input,
.wc-block-components-textarea,
.wc-block-components-combobox .wc-block-components-combobox-control input,
.wc-blocks-components-select .wc-blocks-components-select__select {
	border-radius: 0 !important;
	border: 2px solid var(--gp-ink) !important;
	background: #fff !important;
}
.wc-block-checkout__add-note .wc-block-components-checkbox__label::after {
	content: " (rush requests go here)";
	font-weight: 400;
}

/* ==========================================================================
   EPK
   ========================================================================== */

.gp-epk-main { padding-top: 0; }
.gp-epk-content > * { margin-block-start: 0; }

.gp-epk-hero {
	gap: 4rem !important;
	padding-top: var(--wp--preset--spacing--60);
	padding-bottom: var(--wp--preset--spacing--60);
	align-items: center;
}
.gp-epk-hero__strip { position: relative; flex: 0 1 280px; margin: 0 auto; transform: rotate(-3deg); }
.gp-epk-hero__strip > .wp-block-image { margin: 0; }
.gp-epk-hero__strip > .gp-taped img { width: 100%; height: auto; box-shadow: 4px 6px 0 rgba(20, 20, 20, .2); }
.gp-epk-hero__strip > .gp-taped::before { top: -16px; width: 120px; margin-left: -60px; transform: rotate(5deg); }
.gp-epk-hero__sticker { position: absolute !important; right: -36px; bottom: 40px; width: 86px; transform: rotate(16deg); }
.gp-epk-hero__sticker img { width: 100%; height: auto; box-shadow: none; }
.gp-epk-hero__text { flex: 1 1 520px; min-width: 0; }
.gp-epk-hero__text > * + * { margin-top: 1.5rem; }
.gp-epk-hero__logo { margin: 0; }
.gp-epk-hero__logo img { width: min(560px, 100%); height: auto; }
.gp-epk-hero__lede { max-width: 620px; line-height: 1.55; }
.gp-epk-hero__ctas { gap: 1.25rem !important; }

.gp-band {
	padding-top: var(--wp--preset--spacing--60) !important;
	padding-bottom: var(--wp--preset--spacing--60) !important;
}
.gp-band--white { background: #fff; border-top: 2px solid var(--gp-ink); border-bottom: 2px solid var(--gp-ink); }
.gp-epk-content h2 { margin-bottom: 1.75rem; }

.gp-epk-bio { gap: 3.5rem !important; }
.gp-shortbio { background: var(--gp-xerox); border: 2px dashed var(--gp-ink); padding: 1.25rem; }
.gp-shortbio > * { margin-top: 0; }
.gp-shortbio p:not(.gp-kicker) { line-height: 1.6; }
.gp-copy {
	background: var(--gp-ink);
	color: var(--gp-xerox);
	border: 0;
	padding: .75rem 1.1rem;
	font: 700 .9375rem var(--wp--preset--font-family--body);
	cursor: pointer;
}
.gp-shortbio + .gp-kicker { margin-top: 2rem !important; }
.gp-tags { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: .6rem; }
.gp-tag { display: inline-block; font-weight: 700; padding: .5rem .9rem; border-radius: 999px; }
.gp-tag-pair { display: flex; gap: .6rem; align-items: center; flex: none; }
.gp-tag--blue { background: var(--gp-blue); transform: rotate(-2deg); }
.gp-tag--lime { background: var(--gp-lime); transform: rotate(1.5deg); }
.gp-tag-pair .gp-tag--lime { transform: rotate(-2.5deg); }
.gp-tag--ink { background: var(--gp-ink); color: var(--gp-xerox); transform: rotate(-1deg); }
.gp-tag--pink { background: var(--gp-pink); transform: rotate(2deg); }
.gp-tag--cherry { background: var(--gp-cherry); font-family: var(--gp-display); font-weight: 400; font-size: 1.125rem; padding: .4rem 1rem; transform: rotate(3deg); }
.gp-epk-bio__long p { line-height: 1.75; }

.gp-epk-listen { padding-top: var(--wp--preset--spacing--60); padding-bottom: var(--wp--preset--spacing--60); }
.gp-epk-listen__sets { gap: 2rem !important; }
.gp-card { background: #fff; padding: 1.4rem !important; box-shadow: 3px 4px 0 rgba(20, 20, 20, .18); }
.gp-card h3 { font-size: 1.5rem !important; margin: 0 0 1rem; }
.gp-card .gp-kicker { margin-top: 0; }
.gp-sc { display: block; border: 0; }

.gp-flyers { gap: 2rem 1.75rem !important; }
.gp-flyers:empty { display: none; }
.gp-flyers.wp-block-gallery.has-nested-images figure.wp-block-image {
	position: relative;
	border: 6px solid #fff;
	box-shadow: 2px 3px 0 rgba(20, 20, 20, .2);
	overflow: visible;
}
.gp-flyers.wp-block-gallery.has-nested-images figure.wp-block-image::before {
	content: "";
	position: absolute; z-index: 2;
	top: -10px; left: 50%;
	width: 64px; height: 20px; margin-left: -32px;
	background: var(--gp-tape-pink);
	transform: rotate(-5deg);
}
.gp-flyers figure.wp-block-image:nth-child(3n+2)::before { background: var(--gp-tape-blue) !important; }
.gp-flyers figure.wp-block-image:nth-child(3n+3)::before { background: var(--gp-tape-lime) !important; }
.gp-flyers figure.wp-block-image:nth-child(6n+1) { transform: rotate(-3deg); }
.gp-flyers figure.wp-block-image:nth-child(6n+2) { transform: rotate(2deg); }
.gp-flyers figure.wp-block-image:nth-child(6n+3) { transform: rotate(-1deg); }
.gp-flyers figure.wp-block-image:nth-child(6n+4) { transform: rotate(2.5deg); }
.gp-flyers figure.wp-block-image:nth-child(6n+5) { transform: rotate(-2deg); }
.gp-flyers figure.wp-block-image:nth-child(6n+6) { transform: rotate(1deg); }
@media (max-width: 781px) {
	.gp-flyers.wp-block-gallery.has-nested-images figure.wp-block-image:not(#individual-image) {
		width: calc(50% - 1rem) !important;
	}
}

.gp-mission {
	position: relative;
	clip-path: polygon(0% 18px, 4% 6px, 9% 14px, 14% 2px, 20% 12px, 27% 4px, 34% 16px, 41% 6px, 48% 13px, 55% 1px, 62% 15px, 69% 5px, 76% 12px, 83% 2px, 90% 14px, 96% 6px, 100% 14px, 100% calc(100% - 14px), 95% calc(100% - 4px), 88% calc(100% - 16px), 81% calc(100% - 6px), 73% calc(100% - 15px), 65% calc(100% - 3px), 57% calc(100% - 13px), 49% calc(100% - 5px), 41% calc(100% - 16px), 33% calc(100% - 4px), 25% calc(100% - 14px), 17% calc(100% - 6px), 9% calc(100% - 15px), 0% calc(100% - 5px));
	padding-top: 7.5rem !important;
	padding-bottom: 7.5rem !important;
	margin-top: 1.5rem !important;
	margin-bottom: 1.5rem !important;
}
.gp-mission h2 { color: var(--gp-xerox); }
.gp-mission__item { font-size: 1.1875rem; line-height: 1.6; margin-top: 2.1rem !important; }
.gp-mission__item strong {
	display: block;
	font-family: var(--gp-display);
	font-weight: 400;
	font-size: 1.625rem;
	line-height: 1.15;
	margin-bottom: .25rem;
}
.gp-c-pink strong { color: var(--gp-pink); }
.gp-c-blue strong { color: var(--gp-blue); }
.gp-c-lime strong { color: var(--gp-lime); }
.gp-mission__closer { font-family: var(--gp-display); font-size: clamp(1.625rem, 3.4vw, 2.5rem); line-height: 1.1; margin-top: 3rem !important; }
.gp-mission__heart,
.gp-mission__bubble { position: absolute !important; margin: 0 !important; max-width: none !important; }
.gp-mission__heart { left: 7%; top: 90px; width: 110px; transform: rotate(-14deg); }
.gp-mission__bubble { right: 8%; bottom: 100px; width: 96px; }
.gp-mission__heart img,
.gp-mission__bubble img { width: 100%; height: auto; }
@media (max-width: 781px) {
	.gp-mission__heart { width: 64px; top: 40px; left: 4%; }
	.gp-mission__bubble { width: 56px; bottom: 40px; right: 4%; }
}

.gp-book {
	border-top: 2px solid var(--gp-ink);
	padding-top: var(--wp--preset--spacing--60) !important;
	padding-bottom: calc(var(--wp--preset--spacing--60) + 1.5rem) !important;
	margin-top: 0 !important;
}
.gp-book__title { font-size: clamp(3rem, 7vw, 6rem) !important; }
.gp-book__email { font-size: 1.125rem; }
.gp-btn-ink .wp-block-button__link { font-size: 1.375rem; }
.gp-btn-ink .wp-block-button__link:hover { background: var(--gp-ink) !important; color: var(--gp-xerox) !important; }

/* ==========================================================================
   Motion preferences
   ========================================================================== */

@media (prefers-reduced-motion: reduce) {
	.gp-slap { animation: none; transform: rotate(var(--r, 0deg)); }
	.gp-banner { overflow-x: auto; scrollbar-width: none; }
	.gp-banner::-webkit-scrollbar { display: none; }
	.gp-banner__track { animation: none; padding-left: 1rem; }
	.gp-banner__copy[aria-hidden="true"] { display: none; }
	header.gp-site-header { top: var(--wp-admin--admin-bar--height, 0px); }
	.gp-sticker-btn img,
	.gp-card-photo,
	.gp-hover-img { transition: none; }
}

/* Checkout: no banner, so the header sticks flush to the top */
header.gp-site-header--checkout { top: var(--wp-admin--admin-bar--height, 0px); }
.gp-checkout-header .gp-back { margin: 0; }
.gp-checkout-logo { margin: 0; line-height: 0; }
.gp-checkout-logo img { height: 44px; width: auto; }
