.cr-studio {
	--cr-studio-ink: #281b23;
	--cr-studio-plum: #681d47;
	--cr-studio-border: #e6d7d8;
	box-sizing: border-box;
	padding: clamp(1rem, 3vw, 2.5rem);
	border: 1px solid var(--cr-studio-border);
	border-radius: 1.25rem;
	background: #fbf5ef;
	color: var(--cr-studio-ink);
}
.cr-studio *, .cr-studio *::before { box-sizing: border-box; }
.cr-studio [hidden] { display: none !important; }
.cr-studio :focus-visible { outline: 2px solid var(--cr-studio-plum); outline-offset: 3px; }
.cr-studio-heading p { margin: 0; color: var(--cr-studio-plum); letter-spacing: .16em; text-transform: uppercase; font-size: .75rem; font-weight: 700; }
.cr-studio-heading h2 { margin: .25rem 0 1.4rem; font: 500 clamp(2rem, 5vw, 3.6rem)/1.05 Georgia, serif; color: var(--cr-studio-ink); }
.cr-studio-layout { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); gap: clamp(1rem, 4vw, 3rem); }
.cr-studio-outfit { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 1fr); gap: .5rem; align-content: start; }
.cr-studio button { min-height: 44px; font: inherit; cursor: pointer; }
.cr-studio button:disabled { opacity: .55; cursor: not-allowed; }
.cr-studio [data-studio-slot] {
	display: grid;
	grid-template-rows: auto minmax(0, 1fr) auto;
	justify-items: center;
	gap: .25rem;
	padding: .6rem;
	min-width: 0;
	min-height: 0;
	border: 1px solid transparent;
	border-radius: .85rem;
	background: #fff9;
	color: var(--cr-studio-ink);
	overflow-wrap: anywhere;
}
.cr-studio [data-studio-slot="top"] { grid-column: 1 / -1; }
.cr-studio [data-studio-slot="shoes"] { align-self: end; }
.cr-studio [data-studio-slot]:only-child { grid-column: 1 / -1; }
.cr-studio [data-studio-slot] > span:first-child {
	justify-self: start;
	padding: .15rem .55rem;
	border: 1px solid var(--cr-studio-border);
	border-radius: 10rem;
	background: #fff;
	color: var(--cr-studio-plum);
	font-size: .8rem;
}
.cr-studio .cr-studio-preview { display: block; width: 100%; }
.cr-studio .cr-studio-preview img { display: block; width: 100%; height: clamp(7rem, 20vw, 15rem); object-fit: contain; }
.cr-studio [data-studio-slot="shoes"] img { height: clamp(5rem, 12vw, 9rem); }
.cr-studio [aria-pressed="true"] { border-color: var(--cr-studio-plum); background: #f8edf3; }
.cr-studio-shop { min-width: 0; }
.cr-studio-shop h3 { margin: 0 0 .65rem; color: var(--cr-studio-ink); font: 500 1.4rem Georgia, serif; }
.cr-studio-options { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 7rem), 1fr)); gap: .55rem; }
.cr-studio [data-studio-product] {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: .25rem;
	padding: .5rem;
	min-width: 0;
	border: 1px solid var(--cr-studio-border);
	border-radius: .65rem;
	background: #fff9;
	color: var(--cr-studio-ink);
	font-size: .85rem;
	overflow-wrap: anywhere;
}
.cr-studio [data-studio-product][aria-pressed="true"] { border-color: var(--cr-studio-plum); background: #f8edf3; }
.cr-studio [data-studio-product] img { width: 100%; height: 6rem; object-fit: contain; }
.cr-studio-fields { display: grid; gap: .4rem; margin-block: .75rem; }
.cr-studio-fields:empty { display: none; }
.cr-studio-fields select { min-height: 44px; width: 100%; color: var(--cr-studio-ink); background: #fff; }
.cr-studio-summary { border-top: 1px solid var(--cr-studio-border); margin-top: 1rem; padding-top: 1rem; }
.cr-studio-summary h3, .cr-studio-summary li { display: flex; justify-content: space-between; gap: .55rem; }
.cr-studio-summary ul { list-style: none; padding: 0; margin: 0 0 .85rem; }
.cr-studio-summary li { padding-block: .25rem; overflow-wrap: anywhere; }
.cr-studio .cr-studio-secondary, .cr-studio .cr-studio-add { border: 1px solid var(--cr-studio-plum); border-radius: .65rem; padding: .55rem .8rem; font-weight: 700; }
.cr-studio .cr-studio-secondary { margin-top: .55rem; color: var(--cr-studio-plum); background: #fff; }
.cr-studio .cr-studio-add { width: 100%; color: #fff; background: var(--cr-studio-plum); }
.cr-studio [data-studio-status]:empty { display: none; }
.cr-studio [data-studio-status] { margin: .55rem 0 0; }
@media (max-width: 680px) {
	.cr-studio-layout { grid-template-columns: minmax(0, 1fr); }
}

@media (max-width: 680px) {
	.cr-studio { padding: clamp(.65rem, 3vw, 1rem); }
	.cr-studio-heading h2 { margin-block-end: 1rem; }
	.cr-studio-outfit { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.cr-studio [data-studio-slot] { grid-column: auto; padding: .35rem; font-size: .8rem; }
	.cr-studio [data-studio-slot] > span:first-child { justify-self: center; padding-inline: .35rem; }
	.cr-studio [data-studio-slot] .cr-studio-preview img { height: clamp(4rem, 19vw, 7.5rem); }
	.cr-studio-options { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.cr-studio-fields select { font-size: 16px; min-width: 0; }
	.cr-studio-summary h3, .cr-studio-summary li { flex-wrap: wrap; }
}

.cr-studio a[data-studio-cart-link] {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 44px;
	margin-block-start: .55rem;
	padding: .5rem .9rem;
	border: 1px solid var(--cr-studio-plum);
	border-radius: .65rem;
	background: #fff;
	color: var(--cr-studio-plum);
	text-decoration: none;
	font-weight: 700;
}
.cr-studio a[data-studio-cart-link]:hover {
	background: #f8edf3;
	color: var(--cr-studio-plum);
	text-decoration: none;
}

/* The Studio already presents its cart link next to the confirmation. */
.cr-studio :is([data-studio-add-item], [data-studio-add-look]) + a.added_to_cart.wc-forward {
	display: none;
}
