.cse-recarto-sheet[hidden] { display: none !important; }
.cse-recarto-sheet form[hidden], .cse-recarto-sheet button[hidden] { display: none !important; }
.cse-recarto-sheet {
	position: fixed;
	right: max(18px, env(safe-area-inset-right));
	bottom: calc(18px + env(safe-area-inset-bottom) + var(--cse-cookie-space, 0px));
	z-index: 99990;
	box-sizing: border-box;
	width: min(390px, calc(100vw - 32px));
	max-height: min(650px, calc(100dvh - 30px - var(--cse-cookie-space, 0px)));
	overflow: auto;
	padding: 24px;
	border: 1px solid var(--cse-color-border, #dad8c6);
	border-radius: 20px;
	background: var(--cse-color-surface, #fff);
	box-shadow: 0 12px 38px rgb(0 0 0 / 14%);
	color: var(--cse-color-text, #171717);
	font-family: inherit;
	transform: translateY(14px);
	opacity: 0;
	transition: transform .25s ease, opacity .25s ease;
}
.cse-recarto-sheet.cse-recarto-visible { transform: translateY(0); opacity: 1; }
.cse-recarto-sheet * { box-sizing: border-box; }
.cse-recarto-close {
	position: absolute;
	top: 8px;
	right: 10px;
	width: 40px;
	height: 40px;
	border: 0;
	border-radius: 50%;
	background: transparent;
	color: inherit;
	font-size: 28px;
	line-height: 1;
	cursor: pointer;
}
.cse-recarto-eyebrow { margin-right: 30px; color: color-mix(in srgb, var(--cse-color-primary, #999966) 55%, #111); font-size: 12px; line-height: 1.4; font-weight: 600; letter-spacing: .01em; }
.cse-recarto-sheet h2 { margin: 8px 28px 10px 0; color: inherit; font-size: clamp(20px, 4.8vw, 23px); line-height: 1.22; font-weight: 650; letter-spacing: -.015em; }
.cse-recarto-sheet .cse-recarto-description { margin: 0 0 18px; font-size: 14px; line-height: 1.5; font-weight: 400; }
.cse-recarto-sheet form > label:first-child { display: block; margin: 18px 0 7px; font-size: 14px; line-height: 1.4; font-weight: 600; }
.cse-recarto-sheet input[type=email] { display: block; width: 100%; min-height: 44px; padding: 9px 12px; border: 1px solid #aaa89b; border-radius: 9px; background: #fff; color: inherit; font-size: 16px; }
.cse-recarto-consent { display: flex; align-items: flex-start; gap: 10px; margin: 14px 0 18px; font-size: 13px; line-height: 1.5; font-weight: 400; }
.cse-recarto-consent input { flex: 0 0 18px; width: 18px; height: 18px; margin: 0; }
.cse-recarto-consent span { flex: 1; }
.cse-recarto-consent a { color: inherit; text-decoration: underline; }
.cse-recarto-open, .cse-recarto-submit { display: block; width: 100%; min-height: 48px; padding: 10px 14px; border: 0; border-radius: 9px; background: var(--cse-color-primary, #999966); color: #171717; font: inherit; font-size: 14px; line-height: 1.35; font-weight: 650; text-transform: none; letter-spacing: 0; cursor: pointer; }
.cse-recarto-submit:disabled { opacity: .65; cursor: wait; }
.cse-recarto-skip { display: block; width: 100%; min-height: 40px; margin-top: 9px; border: 0; background: transparent; color: inherit; font: inherit; font-size: 13px; line-height: 1.4; font-weight: 500; text-decoration: underline; text-underline-offset: 3px; text-transform: none; letter-spacing: 0; cursor: pointer; }
.cse-recarto-sheet .cse-recarto-status { min-height: 0; margin: 8px 0 0; font-size: 13px; line-height: 1.45; }
.cse-recarto-sheet :focus-visible { outline: 2px solid var(--cse-color-primary, #999966); outline-offset: 2px; }
@media (max-width: 759px) {
	.cse-recarto-sheet { right: 12px; bottom: calc(84px + env(safe-area-inset-bottom) + var(--cse-cookie-space, 0px)); left: 12px; width: auto; max-height: calc(100dvh - 110px - var(--cse-cookie-space, 0px)); padding: 18px; border-radius: 18px; }
	.cse-recarto-sheet h2 { font-size: 20px; }
}
@media (prefers-reduced-motion: reduce) {
	.cse-recarto-sheet { transition: none; transform: none; }
}
