/*! WAYT Popup Richieste — frontend */
/* Selectors are intentionally "doubled" (.waytpr.waytpr) so theme / page-builder form styles cannot leak in. */

/* ---------- Root / overlay ---------- */
.waytpr.waytpr {
	--waytpr-muted: var(--waytpr-text);
	--waytpr-muted: color-mix(in srgb, var(--waytpr-text) 70%, var(--waytpr-bg));
	--waytpr-ring: rgba(0, 0, 0, .12);
	--waytpr-ring: color-mix(in srgb, var(--waytpr-primary) 20%, transparent);
	--waytpr-tint: var(--waytpr-bg);
	--waytpr-tint: color-mix(in srgb, var(--waytpr-primary) 8%, var(--waytpr-bg));
	--waytpr-danger: #d93025;
	position: fixed;
	inset: 0;
	z-index: 999999;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 24px;
	margin: 0;
	font-family: inherit;
	font-size: 16px;
	line-height: 1.5;
	color: var(--waytpr-text);
	text-align: left;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}
.waytpr.waytpr.waytpr--fb { font-family: var(--waytpr-font-body); }
.waytpr.waytpr[hidden],
.waytpr.waytpr [hidden] { display: none !important; }
.waytpr.waytpr *,
.waytpr.waytpr *::before,
.waytpr.waytpr *::after { box-sizing: border-box; }

.waytpr.waytpr .waytpr__overlay {
	position: absolute;
	inset: 0;
	background: var(--waytpr-overlay);
	-webkit-backdrop-filter: blur(3px);
	backdrop-filter: blur(3px);
	opacity: 0;
	transition: opacity .3s ease;
	cursor: pointer;
}
.waytpr.waytpr.waytpr--open .waytpr__overlay { opacity: 1; }

/* ---------- Panel (centered) ---------- */
.waytpr.waytpr .waytpr__panel {
	position: relative;
	display: flex;
	flex-direction: column;
	width: 100%;
	max-width: var(--waytpr-width, 560px);
	max-height: calc(100vh - 48px);
	max-height: calc(100dvh - 48px);
	margin: 0;
	background: var(--waytpr-bg);
	color: var(--waytpr-text);
	border: var(--waytpr-border);
	border-radius: var(--waytpr-radius);
	box-shadow: 0 32px 80px -20px rgba(15, 23, 42, .5), 0 10px 24px -10px rgba(15, 23, 42, .2);
	overflow: hidden;
	outline: none;
	opacity: 0;
	transform: translateY(18px) scale(.97);
	transition: opacity .25s ease, transform .4s cubic-bezier(.22, 1, .36, 1);
}
.waytpr.waytpr.waytpr--open .waytpr__panel {
	opacity: 1;
	transform: none;
}

/* ---------- Panel (bottom sheet) ---------- */
.waytpr.waytpr.waytpr--sheet {
	align-items: flex-end;
	padding: 0;
}
.waytpr.waytpr.waytpr--sheet .waytpr__panel {
	max-height: 88vh;
	max-height: 88dvh;
	border-bottom-width: 0;
	border-radius: var(--waytpr-radius) var(--waytpr-radius) 0 0;
	opacity: 1;
	transform: translateY(105%);
	transition: transform .45s cubic-bezier(.22, 1, .36, 1);
	box-shadow: 0 -18px 60px -18px rgba(15, 23, 42, .45);
}
.waytpr.waytpr.waytpr--sheet.waytpr--open .waytpr__panel { transform: none; }
.waytpr.waytpr.waytpr--sheet.waytpr--dragging .waytpr__panel { transition: none; }

/* ---------- Header ---------- */
.waytpr.waytpr .waytpr__header {
	position: relative;
	flex: none;
	display: flex;
	align-items: center;
	gap: 16px;
	margin: 0;
	padding: 20px 20px 20px 26px;
	background: var(--waytpr-header-bg);
	color: var(--waytpr-header-text);
}
.waytpr.waytpr.waytpr--header-light .waytpr__header { border-bottom: 1px solid rgba(0, 0, 0, .08); }
.waytpr.waytpr.waytpr--sheet .waytpr__header {
	padding-top: 28px;
	cursor: grab;
	touch-action: none;
	-webkit-user-select: none;
	user-select: none;
}
.waytpr.waytpr .waytpr__grab {
	display: none;
	position: absolute;
	top: 10px;
	left: 50%;
	width: 44px;
	height: 5px;
	margin-left: -22px;
	border-radius: 99px;
	background: currentColor;
	opacity: .5;
}
.waytpr.waytpr.waytpr--sheet .waytpr__grab { display: block; }

.waytpr.waytpr .waytpr__header .waytpr__title {
	flex: 1 1 auto;
	min-width: 0;
	margin: 0;
	padding: 0;
	border: 0;
	font-family: inherit;
	font-size: 21px;
	font-weight: 700;
	font-style: normal;
	line-height: 1.25;
	letter-spacing: -.01em;
	text-transform: none;
	text-align: left;
	color: inherit;
	background: none;
}
.waytpr.waytpr .waytpr__header .waytpr__close {
	all: unset;
	box-sizing: border-box;
	flex: none;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	border-radius: 50%;
	background: var(--waytpr-header-text);
	color: var(--waytpr-header-bg);
	box-shadow: 0 2px 10px rgba(0, 0, 0, .14);
	cursor: pointer;
	transition: transform .2s ease;
	-webkit-tap-highlight-color: transparent;
}
.waytpr.waytpr .waytpr__header .waytpr__close:hover { transform: scale(1.07); }
.waytpr.waytpr .waytpr__header .waytpr__close:focus-visible { outline: 3px solid var(--waytpr-header-text); outline-offset: 3px; }
.waytpr.waytpr .waytpr__header .waytpr__close svg { display: block; width: 20px; height: 20px; pointer-events: none; }
.waytpr.waytpr.waytpr--header-light .waytpr__header .waytpr__close {
	background: rgba(0, 0, 0, .06);
	color: var(--waytpr-header-text);
	box-shadow: none;
}
.waytpr.waytpr.waytpr--header-light .waytpr__header .waytpr__close:focus-visible { outline-color: var(--waytpr-primary); }

/* Custom heading font (title, buttons) */
.waytpr.waytpr.waytpr--fh .waytpr__header .waytpr__title,
.waytpr.waytpr.waytpr--fh .waytpr__success-title,
.waytpr.waytpr.waytpr--fh .waytpr__panel .waytpr__submit { font-family: var(--waytpr-font-heading); }

/* ---------- Body ---------- */
.waytpr.waytpr .waytpr__body {
	flex: 1 1 auto;
	min-height: 0;
	margin: 0;
	padding: 24px 26px 28px;
	overflow-y: auto;
	overscroll-behavior: contain;
	-webkit-overflow-scrolling: touch;
	scrollbar-width: thin;
}
.waytpr.waytpr .waytpr__intro,
.waytpr.waytpr .waytpr__field--html,
.waytpr.waytpr .waytpr__success-msg {
	font-size: 15.5px;
	line-height: 1.6;
	color: var(--waytpr-muted);
}
.waytpr.waytpr .waytpr__intro { margin: 0 0 20px; }
.waytpr.waytpr .waytpr__field--html { font-size: 14.5px; }
.waytpr.waytpr .waytpr__intro p,
.waytpr.waytpr .waytpr__field--html p,
.waytpr.waytpr .waytpr__success-msg p {
	margin: 0 0 10px;
	padding: 0;
	font-size: inherit;
	line-height: inherit;
	color: inherit;
}
.waytpr.waytpr .waytpr__intro p:last-child,
.waytpr.waytpr .waytpr__field--html p:last-child,
.waytpr.waytpr .waytpr__success-msg p:last-child { margin-bottom: 0; }
.waytpr.waytpr .waytpr__intro a,
.waytpr.waytpr .waytpr__field--html a,
.waytpr.waytpr .waytpr__success-msg a,
.waytpr.waytpr .waytpr__consent a {
	color: var(--waytpr-primary);
	text-decoration: underline;
	text-underline-offset: 2px;
}
.waytpr.waytpr .waytpr__intro strong,
.waytpr.waytpr .waytpr__success-msg strong { color: var(--waytpr-text); font-weight: 700; }

/* ---------- Grid & fields ---------- */
.waytpr.waytpr .waytpr__form { position: relative; margin: 0; padding: 0; }
/* Anti-spam trap: must stay invisible whatever the theme does. */
.waytpr.waytpr .waytpr__form .waytpr__hp {
	position: absolute !important;
	left: -10000px !important;
	top: 0 !important;
	width: 1px !important;
	height: 1px !important;
	margin: 0 !important;
	padding: 0 !important;
	overflow: hidden !important;
	opacity: 0 !important;
	pointer-events: none !important;
}
.waytpr.waytpr .waytpr__grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 16px 14px;
	margin: 0 0 22px;
}
.waytpr.waytpr .waytpr__field {
	position: relative;
	grid-column: 1 / -1;
	min-width: 0;
	margin: 0;
	padding: 0;
}
.waytpr.waytpr .waytpr__field.waytpr__field--half { grid-column: auto / span 1; }

.waytpr.waytpr .waytpr__field .waytpr__label {
	display: block;
	float: none;
	width: auto;
	margin: 0 0 6px;
	padding: 0;
	border: 0;
	font-family: inherit;
	font-size: 14px;
	font-weight: 600;
	line-height: 1.35;
	letter-spacing: normal;
	text-transform: none;
	color: var(--waytpr-text);
}
.waytpr.waytpr .waytpr__req { color: var(--waytpr-danger); font-weight: 700; }

.waytpr.waytpr .waytpr__field .waytpr__input {
	-webkit-appearance: none;
	appearance: none;
	display: block;
	width: 100%;
	min-width: 0;
	max-width: none;
	height: 48px;
	min-height: 48px;
	margin: 0;
	padding: 0 14px;
	font-family: inherit;
	font-size: 16px;
	font-weight: 400;
	line-height: 1.3;
	letter-spacing: normal;
	text-transform: none;
	color: var(--waytpr-text);
	background: var(--waytpr-field-bg, var(--waytpr-bg));
	border: 1.5px solid var(--waytpr-field-border);
	border-radius: var(--waytpr-field-radius);
	box-shadow: none;
	outline: none;
	transition: border-color .15s ease, box-shadow .15s ease;
}
.waytpr.waytpr .waytpr__field .waytpr__input::placeholder { color: var(--waytpr-muted); opacity: .7; }
.waytpr.waytpr .waytpr__field .waytpr__input:hover { border-color: var(--waytpr-muted); }
.waytpr.waytpr .waytpr__field .waytpr__input:focus {
	border-color: var(--waytpr-primary);
	box-shadow: 0 0 0 4px var(--waytpr-ring);
	outline: none;
}
.waytpr.waytpr .waytpr__field .waytpr__textarea {
	height: auto;
	min-height: 112px;
	padding: 12px 14px;
	line-height: 1.5;
	resize: vertical;
}
.waytpr.waytpr .waytpr__field input.waytpr__input[type="date"] { line-height: 44px; }
.waytpr.waytpr .waytpr__field input.waytpr__input::-webkit-date-and-time-value { text-align: left; }

.waytpr.waytpr .waytpr__select-wrap { position: relative; }
.waytpr.waytpr .waytpr__select-wrap::after {
	content: "";
	position: absolute;
	top: 50%;
	right: 17px;
	width: 8px;
	height: 8px;
	margin-top: -6px;
	border: solid var(--waytpr-muted);
	border-width: 0 2px 2px 0;
	transform: rotate(45deg);
	pointer-events: none;
}
.waytpr.waytpr .waytpr__field .waytpr__select {
	padding-right: 42px;
	background-image: none;
	cursor: pointer;
	text-overflow: ellipsis;
}

/* Invalid */
.waytpr.waytpr .waytpr__field.waytpr__field--invalid .waytpr__input,
.waytpr.waytpr .waytpr__field.waytpr__field--invalid .waytpr__option,
.waytpr.waytpr .waytpr__field.waytpr__field--invalid .waytpr__box { border-color: var(--waytpr-danger); }
.waytpr.waytpr .waytpr__field.waytpr__field--invalid .waytpr__input:focus { box-shadow: 0 0 0 4px rgba(217, 48, 37, .15); }
.waytpr.waytpr .waytpr__field .waytpr__error {
	display: flex;
	align-items: flex-start;
	gap: 6px;
	margin: 7px 0 0;
	padding: 0;
	font-size: 13px;
	font-weight: 500;
	line-height: 1.4;
	color: var(--waytpr-danger);
}
.waytpr.waytpr .waytpr__field .waytpr__error::before {
	content: "!";
	flex: none;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 16px;
	height: 16px;
	margin-top: 1px;
	border-radius: 50%;
	background: var(--waytpr-danger);
	color: #fff;
	font-size: 11px;
	font-weight: 800;
	line-height: 1;
}

/* ---------- Checkbox / radio ---------- */
.waytpr.waytpr .waytpr__field .waytpr__native {
	position: absolute;
	top: 0;
	left: 0;
	width: 1px;
	height: 1px;
	margin: 0;
	padding: 0;
	border: 0;
	opacity: 0;
	pointer-events: none;
	-webkit-appearance: none;
	appearance: none;
}
.waytpr.waytpr .waytpr__box {
	position: relative;
	flex: none;
	width: 22px;
	height: 22px;
	margin: 0;
	border: 1.5px solid var(--waytpr-field-border);
	border-radius: 6px;
	background: var(--waytpr-field-bg, var(--waytpr-bg));
	transition: background-color .15s ease, border-color .15s ease, box-shadow .15s ease;
}
.waytpr.waytpr .waytpr__box.waytpr__box--radio { border-radius: 50%; }
.waytpr.waytpr .waytpr__native:checked + .waytpr__box {
	background: var(--waytpr-primary);
	border-color: var(--waytpr-primary);
}
.waytpr.waytpr .waytpr__native:checked + .waytpr__box::after {
	content: "";
	position: absolute;
	left: 6.5px;
	top: 2.5px;
	width: 6px;
	height: 11px;
	border: solid var(--waytpr-on-primary);
	border-width: 0 2.5px 2.5px 0;
	transform: rotate(45deg);
}
.waytpr.waytpr .waytpr__native:checked + .waytpr__box--radio::after {
	left: 50%;
	top: 50%;
	width: 8px;
	height: 8px;
	margin: -4px 0 0 -4px;
	border: 0;
	border-radius: 50%;
	background: var(--waytpr-on-primary);
	transform: none;
}
.waytpr.waytpr .waytpr__native:focus-visible + .waytpr__box { box-shadow: 0 0 0 4px var(--waytpr-ring); }

.waytpr.waytpr .waytpr__consent {
	position: relative;
	display: flex;
	align-items: flex-start;
	gap: 12px;
	margin: 2px 0 0;
	padding: 0;
	font-size: 13.5px;
	font-weight: 400;
	line-height: 1.55;
	color: var(--waytpr-muted);
	text-transform: none;
	cursor: pointer;
}
.waytpr.waytpr .waytpr__consent .waytpr__box { margin-top: 0; }

.waytpr.waytpr .waytpr__fieldset {
	min-width: 0;
	margin: 0;
	padding: 0;
	border: 0;
}
.waytpr.waytpr .waytpr__fieldset legend.waytpr__label { float: left; width: 100%; margin-bottom: 8px; }
.waytpr.waytpr .waytpr__options {
	clear: both;
	display: grid;
	gap: 10px;
}
.waytpr.waytpr .waytpr__option {
	position: relative;
	display: flex;
	align-items: center;
	gap: 12px;
	margin: 0;
	padding: 13px 14px;
	border: 1.5px solid var(--waytpr-field-border);
	border-radius: var(--waytpr-field-radius);
	background: var(--waytpr-field-bg, var(--waytpr-bg));
	font-size: 15px;
	font-weight: 500;
	line-height: 1.35;
	color: var(--waytpr-text);
	text-transform: none;
	cursor: pointer;
	transition: border-color .15s ease, background-color .15s ease, box-shadow .15s ease;
}
.waytpr.waytpr .waytpr__option:hover { border-color: var(--waytpr-muted); }
.waytpr.waytpr .waytpr__option:has(.waytpr__native:checked) {
	border-color: var(--waytpr-primary);
	background: var(--waytpr-tint);
	box-shadow: inset 0 0 0 1px var(--waytpr-primary);
}

/* ---------- Steps ---------- */
.waytpr.waytpr .waytpr__progress { margin: 0 0 20px; }
.waytpr.waytpr .waytpr__progress-head {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 12px;
	margin: 0 0 9px;
}
.waytpr.waytpr .waytpr__step-title {
	font-size: 16px;
	font-weight: 700;
	line-height: 1.3;
	color: var(--waytpr-text);
}
.waytpr.waytpr.waytpr--fh .waytpr__step-title { font-family: var(--waytpr-font-heading); }
.waytpr.waytpr .waytpr__step-count {
	flex: none;
	margin-left: auto;
	font-size: 13px;
	font-weight: 600;
	color: var(--waytpr-muted);
	white-space: nowrap;
}
.waytpr.waytpr .waytpr__progress-bar {
	height: 6px;
	overflow: hidden;
	border-radius: 99px;
	background: var(--waytpr-field-border);
}
.waytpr.waytpr .waytpr__progress-bar > span {
	display: block;
	height: 100%;
	border-radius: inherit;
	background: var(--waytpr-primary);
	transition: width .45s cubic-bezier(.22, 1, .36, 1);
}
.waytpr.waytpr .waytpr__step { outline: none; }
.waytpr.waytpr .waytpr__step.is-entering { animation: waytpr-step-in .32s ease both; }
.waytpr.waytpr .waytpr__step.is-entering-back { animation: waytpr-step-back .32s ease both; }
.waytpr.waytpr .waytpr__options.waytpr__options--inline { grid-template-columns: repeat(var(--waytpr-cols, 2), minmax(0, 1fr)); }
.waytpr.waytpr .waytpr__options--inline .waytpr__option { justify-content: center; padding-top: 16px; padding-bottom: 16px; font-size: 16px; font-weight: 600; }

.waytpr.waytpr .waytpr__nav { display: flex; align-items: stretch; gap: 10px; }
.waytpr.waytpr .waytpr__nav .waytpr__submit { flex: 1 1 auto; width: auto; }
.waytpr.waytpr .waytpr__nav .waytpr__submit svg { flex: none; }
.waytpr.waytpr .waytpr__nav .waytpr__back {
	all: unset;
	box-sizing: border-box;
	flex: none;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 4px;
	min-height: 54px;
	padding: 0 18px 0 12px;
	border: 1.5px solid var(--waytpr-field-border);
	border-radius: var(--waytpr-field-radius);
	background: var(--waytpr-field-bg, var(--waytpr-bg));
	color: var(--waytpr-text);
	font-family: inherit;
	font-size: 15px;
	font-weight: 600;
	line-height: 1.2;
	cursor: pointer;
	transition: border-color .15s ease;
	-webkit-tap-highlight-color: transparent;
}
.waytpr.waytpr .waytpr__nav .waytpr__back:hover { border-color: var(--waytpr-muted); }
.waytpr.waytpr .waytpr__nav .waytpr__back:focus-visible { outline: 3px solid var(--waytpr-ring); outline-offset: 2px; }

/* ---------- Alert & submit ---------- */
.waytpr.waytpr .waytpr__alert {
	margin: 0 0 16px;
	padding: 12px 14px;
	border-radius: var(--waytpr-field-radius);
	background: #fdecea;
	background: color-mix(in srgb, var(--waytpr-danger) 10%, var(--waytpr-bg));
	color: var(--waytpr-danger);
	font-size: 14px;
	font-weight: 500;
	line-height: 1.45;
}
.waytpr.waytpr .waytpr__panel .waytpr__submit {
	all: unset;
	box-sizing: border-box;
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	width: 100%;
	min-height: 54px;
	padding: 14px 22px;
	border-radius: var(--waytpr-field-radius);
	background: var(--waytpr-btn-bg);
	color: var(--waytpr-btn-text);
	font-family: inherit;
	font-size: 16.5px;
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: .01em;
	text-align: center;
	text-transform: none;
	box-shadow: 0 12px 26px -14px rgba(15, 23, 42, .55);
	cursor: pointer;
	transition: transform .15s ease, filter .2s ease, box-shadow .2s ease;
	-webkit-tap-highlight-color: transparent;
}
.waytpr.waytpr .waytpr__panel .waytpr__submit:hover { filter: brightness(1.08); transform: translateY(-1px); }
.waytpr.waytpr .waytpr__panel .waytpr__submit:active { filter: brightness(.96); transform: none; }
.waytpr.waytpr .waytpr__panel .waytpr__submit:focus-visible { outline: 3px solid var(--waytpr-ring); outline-offset: 3px; }
.waytpr.waytpr .waytpr__panel .waytpr__submit[disabled] { cursor: progress; filter: none; transform: none; }
.waytpr.waytpr .waytpr__spinner {
	display: none;
	width: 18px;
	height: 18px;
	border: 2.5px solid currentColor;
	border-right-color: transparent;
	border-radius: 50%;
	animation: waytpr-spin .7s linear infinite;
}
.waytpr.waytpr .waytpr__form.is-loading .waytpr__spinner { display: inline-block; }
.waytpr.waytpr .waytpr__panel .waytpr__submit.waytpr__submit--ghost {
	margin-top: 26px;
	background: transparent;
	color: var(--waytpr-primary);
	box-shadow: inset 0 0 0 1.5px var(--waytpr-primary);
}

/* ---------- Success ---------- */
.waytpr.waytpr .waytpr__view--success {
	padding: 10px 4px 0;
	text-align: center;
	outline: none;
	animation: waytpr-fade .35s ease both;
}
.waytpr.waytpr .waytpr__check {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 78px;
	height: 78px;
	margin: 0 auto 18px;
	border-radius: 50%;
	background: var(--waytpr-tint);
	color: var(--waytpr-primary);
}
.waytpr.waytpr .waytpr__check path {
	stroke-dasharray: 40;
	stroke-dashoffset: 40;
	animation: waytpr-draw .55s .15s cubic-bezier(.65, 0, .35, 1) forwards;
}
.waytpr.waytpr .waytpr__success-title {
	margin: 0 0 10px;
	padding: 0;
	font-family: inherit;
	font-size: 23px;
	font-weight: 700;
	line-height: 1.3;
	letter-spacing: -.01em;
	text-transform: none;
	color: var(--waytpr-text);
}

/* ---------- Fixed bottom tab ---------- */
.waytpr-tab.waytpr-tab.waytpr-tab {
	all: unset;
	box-sizing: border-box;
	position: fixed;
	bottom: 0;
	z-index: 999990;
	display: inline-flex;
	align-items: center;
	gap: 12px;
	min-width: 0;
	max-width: calc(100vw - 24px);
	padding: 15px 26px calc(15px + env(safe-area-inset-bottom, 0px));
	border-radius: var(--waytpr-radius, 18px) var(--waytpr-radius, 18px) 0 0;
	background: var(--waytpr-tab-bg);
	color: var(--waytpr-tab-text);
	font-family: inherit;
	font-size: 16px;
	font-weight: 800;
	line-height: 1.1;
	letter-spacing: .06em;
	text-transform: uppercase;
	white-space: nowrap;
	box-shadow: 0 -4px 28px -6px rgba(15, 23, 42, .35);
	box-shadow: 0 -4px 30px -4px color-mix(in srgb, var(--waytpr-tab-bg) 60%, transparent);
	cursor: pointer;
	transition: transform .45s cubic-bezier(.22, 1, .36, 1), padding .2s ease;
	animation: waytpr-tab-in .6s .4s cubic-bezier(.22, 1, .36, 1) backwards;
	-webkit-tap-highlight-color: transparent;
}
.waytpr-tab.waytpr-tab.waytpr-tab--center { left: 0; right: 0; width: max-content; margin: 0 auto; }
.waytpr-tab.waytpr-tab.waytpr-tab--left { left: 24px; }
.waytpr-tab.waytpr-tab.waytpr-tab--right { right: 24px; }
.waytpr-tab.waytpr-tab.waytpr-tab:hover { padding-bottom: calc(19px + env(safe-area-inset-bottom, 0px)); }
.waytpr-tab.waytpr-tab.waytpr-tab:focus-visible { outline: 3px solid var(--waytpr-tab-bg); outline-offset: 3px; }
.waytpr-tab.waytpr-tab.waytpr-tab.waytpr-tab--fh { font-family: var(--waytpr-font-heading); }
.waytpr-tab.waytpr-tab .waytpr-tab__icon { display: inline-flex; flex: none; }
.waytpr-tab.waytpr-tab .waytpr-tab__icon svg { display: block; width: 22px; height: 22px; }
.waytpr-tab.waytpr-tab .waytpr-tab__text { min-width: 0; overflow: hidden; text-overflow: ellipsis; }
.waytpr-tab.waytpr-tab .waytpr-tab__badge {
	display: inline-flex;
	flex: none;
	align-items: center;
	justify-content: center;
	min-width: 28px;
	height: 28px;
	padding: 0 8px;
	border-radius: 99px;
	background: var(--waytpr-tab-text);
	color: var(--waytpr-tab-bg);
	font-size: 14px;
	font-weight: 800;
	letter-spacing: 0;
}
html.waytpr-is-open .waytpr-tab.waytpr-tab.waytpr-tab { transform: translateY(calc(100% + 48px)); }

@media (max-width: 767px) {
	.waytpr-tab.waytpr-tab.waytpr-tab.waytpr-tab--desktop-only { display: none; }
	.waytpr-tab.waytpr-tab.waytpr-tab--left { left: 12px; }
	.waytpr-tab.waytpr-tab.waytpr-tab--right { right: 12px; }
}
@media (min-width: 768px) {
	.waytpr-tab.waytpr-tab.waytpr-tab.waytpr-tab--mobile-only { display: none; }
}
@media (max-width: 480px) {
	.waytpr-tab.waytpr-tab.waytpr-tab {
		gap: 10px;
		padding: 13px 20px calc(13px + env(safe-area-inset-bottom, 0px));
		font-size: 14.5px;
	}
	.waytpr-tab.waytpr-tab.waytpr-tab:hover { padding-bottom: calc(13px + env(safe-area-inset-bottom, 0px)); }
}

/* ---------- Shortcode button ---------- */
.waytpr-btn.waytpr-btn.waytpr-btn {
	all: unset;
	box-sizing: border-box;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	max-width: 100%;
	min-height: 50px;
	padding: 14px 28px;
	border-radius: var(--waytpr-field-radius, 10px);
	background: var(--waytpr-btn-bg);
	color: var(--waytpr-btn-text);
	font-family: inherit;
	font-size: 16px;
	font-weight: 700;
	line-height: 1.2;
	text-align: center;
	box-shadow: 0 12px 26px -14px rgba(15, 23, 42, .55);
	cursor: pointer;
	transition: transform .15s ease, filter .2s ease, background-color .2s ease, color .2s ease;
	-webkit-tap-highlight-color: transparent;
}
.waytpr-btn.waytpr-btn.waytpr-btn:hover { filter: brightness(1.08); transform: translateY(-1px); }
.waytpr-btn.waytpr-btn.waytpr-btn:focus-visible { outline: 3px solid var(--waytpr-primary); outline-offset: 3px; }
.waytpr-btn.waytpr-btn.waytpr-btn.waytpr-btn--fh { font-family: var(--waytpr-font-heading); }
.waytpr-btn.waytpr-btn.waytpr-btn.waytpr-btn--bordo {
	background: transparent;
	color: var(--waytpr-primary);
	box-shadow: inset 0 0 0 2px var(--waytpr-primary);
}
.waytpr-btn.waytpr-btn.waytpr-btn.waytpr-btn--bordo:hover { background: var(--waytpr-primary); color: var(--waytpr-on-primary); filter: none; }
.waytpr-btn.waytpr-btn.waytpr-btn.waytpr-btn--link {
	min-height: 0;
	padding: 0;
	background: none;
	color: var(--waytpr-primary);
	box-shadow: none;
	text-decoration: underline;
	text-underline-offset: 3px;
}
.waytpr-btn.waytpr-btn.waytpr-btn.waytpr-btn--link:hover { transform: none; }

/* ---------- Scroll lock ---------- */
html.waytpr-lock { scrollbar-gutter: stable; }
html.waytpr-lock,
html.waytpr-lock body { overflow: hidden !important; }

/* ---------- Small screens ---------- */
@media (max-width: 640px) {
	.waytpr.waytpr .waytpr__header { padding: 18px 16px 18px 20px; }
	.waytpr.waytpr.waytpr--sheet .waytpr__header { padding-top: 28px; }
	.waytpr.waytpr .waytpr__header .waytpr__title { font-size: 19px; }
	.waytpr.waytpr .waytpr__body { padding: 20px 20px calc(24px + env(safe-area-inset-bottom, 0px)); }
}
@media (max-width: 420px) {
	.waytpr.waytpr .waytpr__field.waytpr__field--half { grid-column: 1 / -1; }
}

/* ---------- Motion ---------- */
@keyframes waytpr-spin { to { transform: rotate(360deg); } }
@keyframes waytpr-draw { to { stroke-dashoffset: 0; } }
@keyframes waytpr-step-in { from { opacity: 0; transform: translateX(18px); } to { opacity: 1; transform: none; } }
@keyframes waytpr-step-back { from { opacity: 0; transform: translateX(-18px); } to { opacity: 1; transform: none; } }
@keyframes waytpr-fade { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }
@keyframes waytpr-tab-in { from { transform: translateY(115%); } to { transform: translateY(0); } }

@media (prefers-reduced-motion: reduce) {
	.waytpr.waytpr *,
	.waytpr.waytpr .waytpr__panel,
	.waytpr-tab.waytpr-tab.waytpr-tab {
		animation: none !important;
		transition: none !important;
	}
	.waytpr.waytpr .waytpr__check path { stroke-dashoffset: 0; }
}

@media print {
	.waytpr.waytpr,
	.waytpr-tab.waytpr-tab.waytpr-tab { display: none !important; }
}
