/**
 * TemplatePressor live popups — overlay chrome.
 * Modal / drawer / slide-in / bar are styles of the same popup.
 */

.pressor-popup-overlay {
	position: fixed;
	inset: 0;
	z-index: 99990;
	display: flex;
	align-items: center;
	justify-content: center;
	opacity: 0;
	pointer-events: none;
	transition: opacity 0.2s ease;
}

.pressor-popup-overlay.is-open {
	opacity: 1;
	pointer-events: auto;
}

.pressor-popup-backdrop {
	position: absolute;
	inset: 0;
	background: rgba(15, 23, 42, var(--pressor-popup-dim, 0.65));
}

.pressor-popup-overlay[data-popup-backdrop="0"] .pressor-popup-backdrop {
	background: transparent;
}

.pressor-popup-overlay[data-popup-backdrop="0"][data-popup-block="0"] .pressor-popup-backdrop {
	display: none;
	pointer-events: none;
}

.pressor-popup-panel {
	position: relative;
	z-index: 1;
	max-width: min(96vw, 520px);
	max-height: 90vh;
	overflow: auto;
	border-radius: 12px;
	box-shadow: 0 20px 50px rgba(0, 0, 0, 0.45);
	background-color: #1e293b;
	background-size: cover;
	background-position: center center;
	background-repeat: no-repeat;
}

.pressor-popup-surface {
	position: absolute;
	inset: 0;
	z-index: 0;
	pointer-events: none;
	border-radius: inherit;
	background-color: inherit;
	background-image: inherit;
	background-size: inherit;
	background-position: inherit;
	background-repeat: inherit;
}

.pressor-popup-stack {
	position: relative;
	z-index: 1;
	max-width: min(96vw, 520px);
	max-height: 90vh;
}

.pressor-popup-stack .pressor-popup-panel {
	max-width: 100%;
	width: 100%;
}

/* Popup canvas: authored fill stays behind content; beat theme text + stuck enter anims. */
.pressor-popup-panel .pressor-popup-canvas,
.pressor-popup-canvas.tp-ui-screen {
	position: relative;
	isolation: isolate;
	color: #e2e8f0;
	box-sizing: border-box;
	min-height: 120px;
	background-color: #1e293b;
}
/* WebGL: keep authored color as underlay only — do not let panel chrome cover the shader. */
.pressor-popup-overlay[data-popup-effects="webgl"] .pressor-popup-panel,
.pressor-popup-overlay[data-popup-effects="webgl"] .pressor-popup-surface {
	background-color: transparent;
	background-image: none;
}
.pressor-popup-panel > .tp-ui-page-background,
.pressor-popup-canvas .tp-ui-page-background,
.pressor-popup-canvas .tp-ui-canvas-root > .tp-ui-page-background {
	position: absolute !important;
	top: 0 !important;
	right: 0 !important;
	bottom: 0 !important;
	left: 0 !important;
	width: auto !important;
	height: auto !important;
	min-height: 0 !important;
	z-index: 0 !important;
	pointer-events: none;
}
.pressor-popup-canvas > [data-tp-node-id]:not(.tp-ui-page-background),
.pressor-popup-canvas .tp-ui-canvas-root > [data-tp-node-id]:not(.tp-ui-page-background),
.pressor-popup-canvas [data-tp-content-root] {
	position: relative;
	z-index: 1;
}
.pressor-popup-panel .tp-ui-webgl-layer,
.pressor-popup-canvas .tp-ui-webgl-layer,
.pressor-popup-canvas .tp-ui-webgl-layer--page,
.pressor-popup-canvas .tp-ui-webgl-layer--popup,
.pressor-popup-canvas .tp-ui-webgl-layer--page.tp-ui-webgl-layer--viewport-fixed {
	position: absolute !important;
	top: 0 !important;
	right: 0 !important;
	bottom: 0 !important;
	left: 0 !important;
	width: auto !important;
	height: auto !important;
	min-width: 0 !important;
	min-height: 0 !important;
	max-height: none !important;
	z-index: 0 !important;
	overflow: hidden;
	pointer-events: none;
}
.pressor-popup-canvas .tp-ui-webgl-layer__canvas {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	display: block;
	pointer-events: none;
}
.pressor-popup-canvas .tp-ui-text,
.pressor-popup-canvas .tp-ui-text p,
.pressor-popup-canvas .tp-ui-text h1,
.pressor-popup-canvas .tp-ui-text h2,
.pressor-popup-canvas .tp-ui-text h3,
.pressor-popup-canvas .tp-ui-text span {
	color: inherit;
}
/* Overlay is not a scrollport — do not leave enter/scroll items stuck hidden. */
.pressor-popup-canvas [data-tp-scroll],
.pressor-popup-canvas [data-tp-interaction],
.pressor-popup-canvas [data-tp-anim-trigger],
.pressor-popup-canvas [class*="tp-anim-"] {
	animation: none !important;
	animation-play-state: running !important;
	opacity: 1 !important;
	transform: none !important;
	filter: none !important;
}

/*
 * Backglow — adapted from George Hastings “Animated Back Glow”
 * https://codepen.io/georgehastings/pen/xgwxgo
 *
 * Copyright (c) George Hastings — https://codepen.io/georgehastings/pen/xgwxgo
 * Permission is hereby granted, free of charge, to any person obtaining a copy
 * of this software and associated documentation files (the "Software"), to deal
 * in the Software without restriction, including without limitation the rights
 * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
 * copies of the Software, and to permit persons to whom the Software is
 * furnished to do so, subject to the following conditions:
 *
 * The above copyright notice and this permission notice shall be included in
 * all copies or substantial portions of the Software.
 *
 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
 * THE SOFTWARE.
 */

.pressor-popup-backglow {
	position: absolute;
	inset: 0;
	z-index: 0;
	pointer-events: none;
	border-radius: inherit;
	transform: scale(var(--pressor-popup-glow-scale, 0.75));
	filter: blur(var(--pressor-popup-glow-blur, 40px));
	background: linear-gradient(
		270deg,
		var(--pressor-popup-glow-a, #0fffc1),
		var(--pressor-popup-glow-b, #7e0fff)
	);
	background-size: 200% 200%;
	opacity: 0.95;
}

.pressor-popup-overlay[data-popup-backglow-animate="1"] .pressor-popup-backglow {
	animation: pressor-popup-backglow-shift var(--pressor-popup-glow-duration, 10s) ease infinite;
}

@keyframes pressor-popup-backglow-shift {
	0% {
		background-position: 0% 50%;
	}
	50% {
		background-position: 100% 50%;
	}
	100% {
		background-position: 0% 50%;
	}
}

@media (prefers-reduced-motion: reduce) {
	.pressor-popup-overlay .pressor-popup-backglow {
		animation: none !important;
	}
}

.pressor-popup-close {
	position: absolute;
	top: 8px;
	right: 8px;
	z-index: 2;
	border: none;
	background: rgba(15, 23, 42, 0.6);
	color: #fff;
	width: 32px;
	height: 32px;
	border-radius: 50%;
	cursor: pointer;
	font-size: 20px;
	line-height: 1;
}

.pressor-popup-title {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

.pressor-popup-overlay[data-popup-style="modal"] {
	align-items: center;
	justify-content: center;
	padding: 24px;
}

.pressor-popup-overlay[data-popup-style="modal"][data-popup-placement="top"] {
	align-items: flex-start;
}

.pressor-popup-overlay[data-popup-style="modal"][data-popup-placement="bottom"] {
	align-items: flex-end;
}

.pressor-popup-overlay[data-popup-style="modal"][data-popup-placement="left"] {
	justify-content: flex-start;
}

.pressor-popup-overlay[data-popup-style="modal"][data-popup-placement="right"] {
	justify-content: flex-end;
}

.pressor-popup-overlay[data-popup-style="modal"][data-popup-placement="top-left"] {
	align-items: flex-start;
	justify-content: flex-start;
}

.pressor-popup-overlay[data-popup-style="modal"][data-popup-placement="top-right"] {
	align-items: flex-start;
	justify-content: flex-end;
}

.pressor-popup-overlay[data-popup-style="modal"][data-popup-placement="bottom-left"] {
	align-items: flex-end;
	justify-content: flex-start;
}

.pressor-popup-overlay[data-popup-style="modal"][data-popup-placement="bottom-right"] {
	align-items: flex-end;
	justify-content: flex-end;
}

/* Fullscreen modal — fills viewport; off by default via missing attribute */
.pressor-popup-overlay[data-popup-style="modal"][data-popup-fullscreen="1"] {
	align-items: stretch;
	justify-content: stretch;
	padding: 0;
}

.pressor-popup-overlay[data-popup-style="modal"][data-popup-fullscreen="1"] .pressor-popup-stack {
	width: 100%;
	max-width: none;
	height: 100%;
	max-height: none;
}

.pressor-popup-overlay[data-popup-style="modal"][data-popup-fullscreen="1"] .pressor-popup-panel {
	width: 100%;
	max-width: none;
	height: 100%;
	max-height: none;
	border-radius: 0;
	box-shadow: none;
}

/* Drawer */
.pressor-popup-overlay[data-popup-style="drawer"] {
	align-items: stretch;
}

.pressor-popup-overlay[data-popup-style="drawer"][data-popup-placement="left"] {
	justify-content: flex-start;
}

.pressor-popup-overlay[data-popup-style="drawer"][data-popup-placement="right"] {
	justify-content: flex-end;
}

.pressor-popup-overlay[data-popup-style="drawer"] .pressor-popup-panel {
	max-width: min(96vw, var(--pressor-drawer-size, 420px));
	width: min(96vw, var(--pressor-drawer-size, 420px));
	max-height: 100vh;
	height: 100%;
	border-radius: 0;
}

.pressor-popup-overlay[data-popup-style="drawer"] .pressor-popup-stack {
	max-width: min(96vw, var(--pressor-drawer-size, 420px));
	width: min(96vw, var(--pressor-drawer-size, 420px));
	max-height: 100vh;
	height: 100%;
}

/*
 * Icon rail presentation — expand-to-label behavior inspired by Vince Brown
 * Fixed Hover Navigation — https://codepen.io/vincebrown/pen/yyLNPR
 *
 * Copyright (c) Vince Brown — https://codepen.io/vincebrown/pen/yyLNPR
 * Permission is hereby granted, free of charge, to any person obtaining a copy
 * of this software and associated documentation files (the "Software"), to deal
 * in the Software without restriction, including without limitation the rights
 * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
 * copies of the Software, and to permit persons to whom the Software is
 * furnished to do so, subject to the following conditions:
 *
 * The above copyright notice and this permission notice shall be included in
 * all copies or substantial portions of the Software.
 *
 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
 * THE SOFTWARE.
 *
 * Product model: each item is a row (icon column + label column). Collapsed
 * width clips labels; icons stay fixed. Expand via hover / :focus-within / pin.
 */

.pressor-popup-overlay[data-popup-style="rail"] {
	align-items: stretch;
	pointer-events: none;
}

.pressor-popup-overlay[data-popup-style="rail"][data-popup-placement="left"] {
	justify-content: flex-start;
}

.pressor-popup-overlay[data-popup-style="rail"][data-popup-placement="right"] {
	justify-content: flex-end;
}

.pressor-popup-overlay[data-popup-style="rail"][data-popup-backdrop="0"][data-popup-block="0"] .pressor-popup-backdrop {
	display: none;
}

.pressor-popup-overlay[data-popup-style="rail"] .pressor-popup-stack,
.pressor-popup-overlay[data-popup-style="rail"] .pressor-popup-panel {
	pointer-events: auto;
	max-height: 100vh;
	height: 100%;
	border-radius: 0;
	max-width: none;
}

.pressor-popup-overlay[data-popup-style="rail"] .pressor-popup-stack {
	width: var(--pressor-rail-collapsed, 64px);
	transition: width 0.28s ease;
	overflow: hidden;
}

.pressor-popup-overlay[data-popup-style="rail"] .pressor-popup-panel {
	width: 100%;
	box-shadow: 0 0 24px rgba(0, 0, 0, 0.28);
}

.pressor-popup-overlay[data-popup-style="rail"][data-popup-rail-expand="1"]:hover .pressor-popup-stack,
.pressor-popup-overlay[data-popup-style="rail"][data-popup-rail-expand="1"]:focus-within .pressor-popup-stack,
.pressor-popup-overlay[data-popup-style="rail"][data-popup-rail-pinned="1"] .pressor-popup-stack {
	width: var(--pressor-rail-expanded, 220px);
}

.pressor-popup-overlay[data-popup-style="rail"] .tp-popup-rail-item {
	display: flex !important;
	flex-direction: row !important;
	flex-wrap: nowrap !important;
	align-items: center !important;
	gap: 12px;
	min-height: 44px;
	overflow: hidden;
}

.pressor-popup-overlay[data-popup-style="rail"] .tp-popup-rail-icon,
.pressor-popup-overlay[data-popup-style="rail"] .tp-popup-rail-item > .tp-ui-icon {
	flex: 0 0 auto;
	min-width: 22px;
}

.pressor-popup-overlay[data-popup-style="rail"] .tp-popup-rail-label {
	flex: 1 1 auto;
	white-space: nowrap;
	overflow: hidden;
	opacity: 0;
	max-width: 0;
	transform: translateX(-4px);
	transition: opacity 0.2s ease, max-width 0.28s ease, transform 0.28s ease;
	pointer-events: none;
}

.pressor-popup-overlay[data-popup-style="rail"][data-popup-rail-expand="1"]:hover .tp-popup-rail-label,
.pressor-popup-overlay[data-popup-style="rail"][data-popup-rail-expand="1"]:focus-within .tp-popup-rail-label,
.pressor-popup-overlay[data-popup-style="rail"][data-popup-rail-pinned="1"] .tp-popup-rail-label {
	opacity: 1;
	max-width: 200px;
	transform: translateX(0);
	pointer-events: auto;
}

@media (hover: none) {
	.pressor-popup-overlay[data-popup-style="rail"][data-popup-rail-expand="1"] .pressor-popup-stack {
		width: var(--pressor-rail-expanded, 220px);
	}
	.pressor-popup-overlay[data-popup-style="rail"][data-popup-rail-expand="1"] .tp-popup-rail-label {
		opacity: 1;
		max-width: 200px;
		transform: none;
		pointer-events: auto;
	}
}

.pressor-popup-rail-pin {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	margin: 4px 0 8px;
	padding: 0;
	border: 0;
	border-radius: 8px;
	background: rgba(148, 163, 184, 0.16);
	color: #e2e8f0;
	cursor: pointer;
	flex: 0 0 auto;
}

.pressor-popup-rail-pin:hover,
.pressor-popup-rail-pin:focus-visible {
	background: rgba(148, 163, 184, 0.28);
	outline: none;
}

.pressor-popup-rail-pin__icon {
	display: none;
	width: 18px;
	height: 18px;
	line-height: 0;
}

.pressor-popup-rail-pin__icon svg {
	width: 18px;
	height: 18px;
	display: block;
}

.pressor-popup-overlay[data-popup-style="rail"]:not([data-popup-rail-pinned="1"]) .pressor-popup-rail-pin__icon--closed,
.pressor-popup-overlay[data-popup-style="rail"][data-popup-rail-pinned="1"] .pressor-popup-rail-pin__icon--open {
	display: inline-flex;
}

/* Slide-in corners */
.pressor-popup-overlay[data-popup-style="slide-in"] {
	padding: 24px;
	align-items: flex-end;
	justify-content: flex-end;
}

.pressor-popup-overlay[data-popup-style="slide-in"][data-popup-placement="top-left"] {
	align-items: flex-start;
	justify-content: flex-start;
}

.pressor-popup-overlay[data-popup-style="slide-in"][data-popup-placement="top-right"] {
	align-items: flex-start;
	justify-content: flex-end;
}

.pressor-popup-overlay[data-popup-style="slide-in"][data-popup-placement="bottom-left"] {
	align-items: flex-end;
	justify-content: flex-start;
}

.pressor-popup-overlay[data-popup-style="slide-in"][data-popup-placement="bottom-right"] {
	align-items: flex-end;
	justify-content: flex-end;
}

.pressor-popup-overlay[data-popup-style="slide-in"] .pressor-popup-panel {
	max-width: min(92vw, 380px);
}

/* Bar */
.pressor-popup-overlay[data-popup-style="bar"] {
	align-items: flex-start;
	justify-content: stretch;
	pointer-events: none;
}

.pressor-popup-overlay[data-popup-style="bar"].is-open {
	pointer-events: none;
}
.pressor-popup-overlay[data-popup-style="bar"].is-open[data-popup-block="1"],
.pressor-popup-overlay[data-popup-style="bar"].is-open[data-popup-backdrop="1"] {
	pointer-events: auto;
}

.pressor-popup-overlay[data-popup-style="bar"][data-popup-backdrop="0"][data-popup-block="0"] .pressor-popup-backdrop {
	display: none;
}

.pressor-popup-overlay[data-popup-style="bar"][data-popup-placement="bottom"] {
	align-items: flex-end;
}

.pressor-popup-overlay[data-popup-style="bar"] .pressor-popup-panel {
	pointer-events: auto;
	width: 100%;
	max-width: none;
	max-height: 40vh;
	border-radius: 0;
	box-shadow: 0 8px 24px rgba(0, 0, 0, 0.25);
}

.pressor-popup-overlay[data-popup-style="bar"] .pressor-popup-stack {
	pointer-events: none;
	width: 100%;
	max-width: none;
	max-height: 40vh;
}

.pressor-popup-overlay[data-popup-style="bar"] .pressor-popup-stack .pressor-popup-panel {
	pointer-events: auto;
}

/* Flash Alert (TP.alerts) — bar chrome + type tint */
.pressor-popup-overlay--flash .pressor-popup-panel {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 12px 16px;
	box-shadow: 0 8px 24px rgba(15, 23, 42, 0.2);
}
.pressor-flash-body {
	flex: 1;
	min-width: 0;
}
.pressor-flash-title {
	font-weight: 600;
	font-size: 14px;
	line-height: 1.3;
}
.pressor-flash-desc {
	font-size: 13px;
	opacity: 0.85;
	margin-top: 2px;
}
.pressor-flash-close {
	position: static;
	flex-shrink: 0;
}
.tp-popup-shell--flash-info {
	background: #1e293b;
	color: #f8fafc;
}
.tp-popup-shell--flash-success {
	background: #14532d;
	color: #ecfdf5;
}
.tp-popup-shell--flash-warn {
	background: #78350f;
	color: #fffbeb;
}
.tp-popup-shell--flash-error {
	background: #7f1d1d;
	color: #fef2f2;
}

/* Drawer top / bottom + size var */
.pressor-popup-overlay[data-popup-style="drawer"][data-popup-placement="top"],
.pressor-popup-overlay[data-popup-style="drawer"][data-popup-placement="bottom"] {
	flex-direction: column;
	align-items: stretch;
	justify-content: flex-start;
}
.pressor-popup-overlay[data-popup-style="drawer"][data-popup-placement="bottom"] {
	justify-content: flex-end;
}
.pressor-popup-overlay[data-popup-style="drawer"][data-popup-placement="top"] .pressor-popup-stack,
.pressor-popup-overlay[data-popup-style="drawer"][data-popup-placement="bottom"] .pressor-popup-stack,
.pressor-popup-overlay[data-popup-style="drawer"][data-popup-placement="top"] .pressor-popup-panel,
.pressor-popup-overlay[data-popup-style="drawer"][data-popup-placement="bottom"] .pressor-popup-panel {
	width: 100%;
	max-width: none;
	height: var(--pressor-drawer-size, 40vh);
	max-height: min(92vh, var(--pressor-drawer-size, 40vh));
}
.pressor-popup-overlay[data-popup-style="drawer"][data-popup-placement="left"] .pressor-popup-stack,
.pressor-popup-overlay[data-popup-style="drawer"][data-popup-placement="right"] .pressor-popup-stack,
.pressor-popup-overlay[data-popup-style="drawer"][data-popup-placement="left"] .pressor-popup-panel,
.pressor-popup-overlay[data-popup-style="drawer"][data-popup-placement="right"] .pressor-popup-panel {
	width: var(--pressor-drawer-size, 360px);
	max-width: min(96vw, var(--pressor-drawer-size, 360px));
}
.pressor-popup-overlay[data-popup-style="drawer"][data-popup-placement="top"] .tp-popup-shell--accent-edge::before {
	top: auto;
	bottom: 0;
	left: 0;
	right: 0;
	width: auto;
	height: 6px;
}
.pressor-popup-overlay[data-popup-style="drawer"][data-popup-placement="bottom"] .tp-popup-shell--accent-edge::before {
	top: 0;
	bottom: auto;
	left: 0;
	right: 0;
	width: auto;
	height: 6px;
}

/*
 * Popover presentation — Bootstrap-like arrow / source indicator (MIT).
 * Inspired by Bootstrap Popovers + public demos such as
 * https://codepen.io/macsupport/pen/OPwvwx (public CodePen → MIT).
 * Copyright (c) Bootstrap Authors / Twitter, Inc. — https://getbootstrap.com
 * Permission is hereby granted, free of charge… (MIT — see Bootstrap LICENSE).
 */

.pressor-popup-overlay[data-popup-style="popover"] {
	align-items: flex-start;
	justify-content: flex-start;
	pointer-events: none;
}

.pressor-popup-overlay[data-popup-style="popover"].is-open {
	pointer-events: none;
}
.pressor-popup-overlay[data-popup-style="popover"].is-open[data-popup-block="1"],
.pressor-popup-overlay[data-popup-style="popover"].is-open[data-popup-backdrop="1"] {
	pointer-events: auto;
}

.pressor-popup-overlay[data-popup-style="popover"][data-popup-backdrop="0"] .pressor-popup-backdrop {
	background: transparent;
}

.pressor-popup-overlay[data-popup-style="popover"] .pressor-popup-stack {
	pointer-events: auto;
	max-width: min(92vw, 320px);
	filter: drop-shadow(0 8px 24px rgba(15, 23, 42, 0.28));
}

.pressor-popup-overlay[data-popup-style="popover"] .pressor-popup-panel {
	max-width: min(92vw, 320px);
	max-height: min(70vh, 420px);
	border-radius: 8px;
}

.pressor-popup-arrow {
	position: absolute;
	display: block;
	width: 0;
	height: 0;
	z-index: 2;
	pointer-events: none;
}

/* Before auto resolves to a concrete side, keep arrow hidden. */
.pressor-popup-overlay[data-popup-style="popover"][data-popup-placement="auto"] .pressor-popup-arrow {
	visibility: hidden;
}

.pressor-popup-overlay[data-popup-style="popover"][data-popup-placement="top"] .pressor-popup-arrow {
	bottom: -8px;
	left: var(--pressor-popover-arrow-x, 50%);
	margin-left: -8px;
	border-left: 8px solid transparent;
	border-right: 8px solid transparent;
	border-top: 8px solid #fff;
}

.pressor-popup-overlay[data-popup-style="popover"][data-popup-placement="bottom"] .pressor-popup-arrow {
	top: -8px;
	left: var(--pressor-popover-arrow-x, 50%);
	margin-left: -8px;
	border-left: 8px solid transparent;
	border-right: 8px solid transparent;
	border-bottom: 8px solid #fff;
}

.pressor-popup-overlay[data-popup-style="popover"][data-popup-placement="left"] .pressor-popup-arrow {
	right: -8px;
	top: var(--pressor-popover-arrow-y, 50%);
	margin-top: -8px;
	border-top: 8px solid transparent;
	border-bottom: 8px solid transparent;
	border-left: 8px solid #fff;
}

.pressor-popup-overlay[data-popup-style="popover"][data-popup-placement="right"] .pressor-popup-arrow {
	left: -8px;
	top: var(--pressor-popover-arrow-y, 50%);
	margin-top: -8px;
	border-top: 8px solid transparent;
	border-bottom: 8px solid transparent;
	border-right: 8px solid #fff;
}

/* Dark popover shell — match arrow fill */
.pressor-popup-overlay[data-popup-style="popover"]:has(.tp-popup-shell--popover-dark)[data-popup-placement="top"] .pressor-popup-arrow {
	border-top-color: #1e293b;
}
.pressor-popup-overlay[data-popup-style="popover"]:has(.tp-popup-shell--popover-dark)[data-popup-placement="bottom"] .pressor-popup-arrow {
	border-bottom-color: #1e293b;
}
.pressor-popup-overlay[data-popup-style="popover"]:has(.tp-popup-shell--popover-dark)[data-popup-placement="left"] .pressor-popup-arrow {
	border-left-color: #1e293b;
}
.pressor-popup-overlay[data-popup-style="popover"]:has(.tp-popup-shell--popover-dark)[data-popup-placement="right"] .pressor-popup-arrow {
	border-right-color: #1e293b;
}

html.pressor-popup-scroll-lock,
html.pressor-popup-scroll-lock body {
	overflow: hidden;
}

html.pressor-popup-page-blocked body > *:not(#pressor-popups-root) {
	pointer-events: none;
}
html.pressor-popup-page-blocked #pressor-popups-root,
html.pressor-popup-page-blocked #pressor-popups-root * {
	pointer-events: auto;
}

html.pressor-popup-motion-paused body * {
	animation-play-state: paused !important;
}
html.pressor-popup-motion-paused #pressor-popups-root,
html.pressor-popup-motion-paused #pressor-popups-root * {
	animation-play-state: running !important;
}

/*
 * Modal dialog shell stripes — adapted from Michael E. Conroy (m-e-conroy)
 * angular-dialog-service / CodePen DvrpRo header moods
 * https://codepen.io/m-e-conroy/pen/DvrpRo
 *
 * Copyright (c) Michael E. Conroy — https://codepen.io/m-e-conroy/pen/DvrpRo
 * Permission is hereby granted, free of charge, to any person obtaining a copy
 * of this software and associated documentation files (the "Software"), to deal
 * in the Software without restriction, including without limitation the rights
 * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
 * copies of the Software, and to permit persons to whom the Software is
 * furnished to do so, subject to the following conditions:
 *
 * The above copyright notice and this permission notice shall be included in
 * all copies or substantial portions of the Software.
 *
 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
 * THE SOFTWARE.
 *
 * Header colors from dialogs.css (#d2322d / #428bca / #eeeeee / #333333);
 * Custom uses warning amber. Applied as a top stripe on the content panel.
 */

.tp-popup-shell--dialog-error,
.tp-popup-shell--dialog-wait,
.tp-popup-shell--dialog-notify,
.tp-popup-shell--dialog-confirm,
.tp-popup-shell--dialog-custom {
	position: relative;
	overflow: hidden;
	color: #333333;
	box-shadow: 0 8px 28px rgba(15, 23, 42, 0.18);
}

.tp-popup-shell--dialog-error::before,
.tp-popup-shell--dialog-wait::before,
.tp-popup-shell--dialog-notify::before,
.tp-popup-shell--dialog-confirm::before,
.tp-popup-shell--dialog-custom::before {
	content: '';
	display: block;
	height: 6px;
	margin: -20px -20px 16px;
	border-radius: 6px 6px 0 0;
}

.tp-popup-shell--dialog-error::before {
	background-color: #d2322d;
}
.tp-popup-shell--dialog-wait::before {
	background-color: #428bca;
}
.tp-popup-shell--dialog-notify::before {
	background-color: #cccccc;
}
.tp-popup-shell--dialog-confirm::before {
	background-color: #333333;
}
.tp-popup-shell--dialog-custom::before {
	background-color: #f0ad4e;
}

/* Modal Toast shells — compact notification cards (Shell library, Modal only) */
.tp-popup-shell--toast,
.tp-popup-shell--toast-dark,
.tp-popup-shell--toast-success,
.tp-popup-shell--toast-warn,
.tp-popup-shell--toast-error {
	max-width: min(92vw, 360px);
	box-shadow: 0 10px 28px rgba(15, 23, 42, 0.18);
}

.tp-popup-shell--toast {
	color: #0f172a;
}

.tp-popup-shell--toast-dark {
	color: #f8fafc;
	box-shadow: 0 12px 32px rgba(0, 0, 0, 0.45);
}

.tp-popup-shell--toast-success {
	color: #065f46;
	box-shadow: 0 10px 24px rgba(16, 185, 129, 0.18);
}

.tp-popup-shell--toast-warn {
	color: #92400e;
	box-shadow: 0 10px 24px rgba(245, 158, 11, 0.2);
}

.tp-popup-shell--toast-error {
	color: #991b1b;
	box-shadow: 0 10px 24px rgba(239, 68, 68, 0.2);
}

.pressor-popup-overlay[data-popup-style="modal"]:has(.tp-popup-shell--toast) .pressor-popup-panel,
.pressor-popup-overlay[data-popup-style="modal"]:has(.tp-popup-shell--toast-dark) .pressor-popup-panel,
.pressor-popup-overlay[data-popup-style="modal"]:has(.tp-popup-shell--toast-success) .pressor-popup-panel,
.pressor-popup-overlay[data-popup-style="modal"]:has(.tp-popup-shell--toast-warn) .pressor-popup-panel,
.pressor-popup-overlay[data-popup-style="modal"]:has(.tp-popup-shell--toast-error) .pressor-popup-panel {
	max-width: min(92vw, 360px);
}

/*
 * Drawer Accent edge shell — side strip inspired by Jhey (jh3y)
 * Pure CSS Menu Drawer — https://codepen.io/jh3y/pen/QxYMJa
 *
 * Copyright (c) Jhey — https://codepen.io/jh3y/pen/QxYMJa
 * Permission is hereby granted, free of charge, to any person obtaining a copy
 * of this software and associated documentation files (the "Software"), to deal
 * in the Software without restriction, including without limitation the rights
 * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
 * copies of the Software, and to permit persons to whom the Software is
 * furnished to do so, subject to the following conditions:
 *
 * The above copyright notice and this permission notice shall be included in
 * all copies or substantial portions of the Software.
 *
 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
 * THE SOFTWARE.
 *
 * Product uses one configurable strip (not the pen’s per-item rainbow accents).
 * Bar sits on the content-facing edge (right drawer → left strip; left → right).
 */

.tp-popup-shell--accent-edge {
	position: relative;
	overflow: hidden;
}

.tp-popup-shell--accent-edge::before {
	content: '';
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	width: 6px;
	background: var(--pressor-popup-accent, #9b59b6);
	pointer-events: none;
	z-index: 2;
}

.pressor-popup-overlay[data-popup-style="drawer"][data-popup-placement="left"] .tp-popup-shell--accent-edge::before {
	left: auto;
	right: 0;
}

/*
 * Popup inbound motions — adapted from Toc (ol-ivier)
 * “24 Modal Effects - Roll, Flip & Bounce”
 * https://codepen.io/ol-ivier/pen/VYPzYJo
 *
 * Copyright (c) 2026 Toc — https://codepen.io/ol-ivier/pen/VYPzYJo
 * Permission is hereby granted, free of charge, to any person obtaining a copy
 * of this software and associated documentation files (the "Software"), to deal
 * in the Software without restriction, including without limitation the rights
 * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
 * copies of the Software, and to permit persons to whom the Software is
 * furnished to do so, subject to the following conditions:
 *
 * The above copyright notice and this permission notice shall be included in
 * all copies or substantial portions of the Software.
 *
 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
 * THE SOFTWARE.
 */

.pressor-popup-overlay .pressor-popup-panel,
.pressor-popup-overlay .pressor-popup-stack {
	will-change: transform, opacity;
}

/* 1. Roll top → bottom */
.pressor-popup-overlay[data-popup-motion="roll-top"] {
	perspective: 800px;
}
.pressor-popup-overlay[data-popup-motion="roll-top"] .pressor-popup-stack {
	transform: translate3d(0, 0, 0) rotateX(90deg);
	transform-origin: top center;
	transition: transform 0.7s cubic-bezier(0.34, 1.56, 0.64, 1);
}
.pressor-popup-overlay[data-popup-motion="roll-top"].is-open .pressor-popup-stack {
	transform: translate3d(0, 0, 0) rotateX(0deg);
}

/* 2. Roll left → right */
.pressor-popup-overlay[data-popup-motion="roll-left"] {
	perspective: 1000px;
}
.pressor-popup-overlay[data-popup-motion="roll-left"] .pressor-popup-stack {
	transform: translate3d(0, 0, 0) rotateY(90deg);
	transform-origin: left center;
	transition: transform 0.8s cubic-bezier(0.34, 1.56, 0.64, 1);
}
.pressor-popup-overlay[data-popup-motion="roll-left"].is-open .pressor-popup-stack {
	transform: translate3d(0, 0, 0) rotateY(0deg);
}

/* 3. Roll bottom → top */
.pressor-popup-overlay[data-popup-motion="roll-bottom"] {
	perspective: 800px;
}
.pressor-popup-overlay[data-popup-motion="roll-bottom"] .pressor-popup-stack {
	transform: translate3d(0, 0, 0) rotateX(-90deg);
	transform-origin: bottom center;
	transition: transform 0.7s cubic-bezier(0.34, 1.56, 0.64, 1);
}
.pressor-popup-overlay[data-popup-motion="roll-bottom"].is-open .pressor-popup-stack {
	transform: translate3d(0, 0, 0) rotateX(0deg);
}

/* 4. Roll right → left */
.pressor-popup-overlay[data-popup-motion="roll-right"] {
	perspective: 1000px;
}
.pressor-popup-overlay[data-popup-motion="roll-right"] .pressor-popup-stack {
	transform: translate3d(0, 0, 0) rotateY(-90deg);
	transform-origin: right center;
	transition: transform 0.8s cubic-bezier(0.34, 1.56, 0.64, 1);
}
.pressor-popup-overlay[data-popup-motion="roll-right"].is-open .pressor-popup-stack {
	transform: translate3d(0, 0, 0) rotateY(0deg);
}

/* 5–8. Slide + roll */
.pressor-popup-overlay[data-popup-motion="slide-roll-left"] {
	perspective: 1000px;
}
.pressor-popup-overlay[data-popup-motion="slide-roll-left"] .pressor-popup-stack {
	transform: translate3d(-150%, 0, 0) rotateY(90deg);
	transform-origin: left center;
	transition: transform 0.9s cubic-bezier(0.34, 1.56, 0.64, 1);
}
.pressor-popup-overlay[data-popup-motion="slide-roll-left"].is-open .pressor-popup-stack {
	transform: translate3d(0, 0, 0) rotateY(0deg);
}

.pressor-popup-overlay[data-popup-motion="slide-roll-right"] {
	perspective: 1000px;
}
.pressor-popup-overlay[data-popup-motion="slide-roll-right"] .pressor-popup-stack {
	transform: translate3d(150%, 0, 0) rotateY(-90deg);
	transform-origin: right center;
	transition: transform 0.9s cubic-bezier(0.34, 1.56, 0.64, 1);
}
.pressor-popup-overlay[data-popup-motion="slide-roll-right"].is-open .pressor-popup-stack {
	transform: translate3d(0, 0, 0) rotateY(0deg);
}

.pressor-popup-overlay[data-popup-motion="slide-roll-top"] {
	perspective: 800px;
}
.pressor-popup-overlay[data-popup-motion="slide-roll-top"] .pressor-popup-stack {
	transform: translate3d(0, -150%, 0) rotateX(90deg);
	transform-origin: top center;
	transition: transform 0.9s cubic-bezier(0.34, 1.56, 0.64, 1);
}
.pressor-popup-overlay[data-popup-motion="slide-roll-top"].is-open .pressor-popup-stack {
	transform: translate3d(0, 0, 0) rotateX(0deg);
}

.pressor-popup-overlay[data-popup-motion="slide-roll-bottom"] {
	perspective: 800px;
}
.pressor-popup-overlay[data-popup-motion="slide-roll-bottom"] .pressor-popup-stack {
	transform: translate3d(0, 150%, 0) rotateX(-90deg);
	transform-origin: bottom center;
	transition: transform 0.9s cubic-bezier(0.34, 1.56, 0.64, 1);
}
.pressor-popup-overlay[data-popup-motion="slide-roll-bottom"].is-open .pressor-popup-stack {
	transform: translate3d(0, 0, 0) rotateX(0deg);
}

/* 9. Spring */
.pressor-popup-overlay[data-popup-motion="spring"] .pressor-popup-stack {
	transform: scale(0);
	transition: transform 0.8s cubic-bezier(0.68, -0.55, 0.27, 1.55);
}
.pressor-popup-overlay[data-popup-motion="spring"].is-open .pressor-popup-stack {
	transform: scale(1);
}

/* 10. Zoom rotate */
.pressor-popup-overlay[data-popup-motion="zoom-rotate"] .pressor-popup-stack {
	transform: scale(0) rotate(45deg);
	transition: transform 0.8s cubic-bezier(0.34, 1.56, 0.64, 1);
}
.pressor-popup-overlay[data-popup-motion="zoom-rotate"].is-open .pressor-popup-stack {
	transform: scale(1) rotate(0deg);
}

/* 11. Perspective 3D */
.pressor-popup-overlay[data-popup-motion="perspective"] {
	perspective: 600px;
}
.pressor-popup-overlay[data-popup-motion="perspective"] .pressor-popup-stack {
	transform: translateZ(-300px) rotateX(30deg);
	transition: transform 0.8s cubic-bezier(0.34, 1.56, 0.64, 1);
}
.pressor-popup-overlay[data-popup-motion="perspective"].is-open .pressor-popup-stack {
	transform: translateZ(0) rotateX(0deg);
}

/* 12–13. Origami */
.pressor-popup-overlay[data-popup-motion="origami-left"] .pressor-popup-stack {
	transform: rotate(-90deg) scale(0.3) skewX(20deg);
	transform-origin: top left;
	transition: transform 0.9s cubic-bezier(0.34, 1.56, 0.64, 1);
}
.pressor-popup-overlay[data-popup-motion="origami-left"].is-open .pressor-popup-stack {
	transform: rotate(0deg) scale(1) skewX(0deg);
}

.pressor-popup-overlay[data-popup-motion="origami-right"] .pressor-popup-stack {
	transform: rotate(90deg) scale(0.3) skewX(-20deg);
	transform-origin: top right;
	transition: transform 0.9s cubic-bezier(0.34, 1.56, 0.64, 1);
}
.pressor-popup-overlay[data-popup-motion="origami-right"].is-open .pressor-popup-stack {
	transform: rotate(0deg) scale(1) skewX(0deg);
}

/* 14. Bounce */
@keyframes pressor-popup-bounce-in {
	0% {
		transform: scale(0.3);
		opacity: 0;
	}
	50% {
		transform: scale(1.1);
	}
	70% {
		transform: scale(0.9);
	}
	100% {
		transform: scale(1);
		opacity: 1;
	}
}
.pressor-popup-overlay[data-popup-motion="bounce"] .pressor-popup-stack {
	transform: scale(0.3);
	opacity: 0;
	transition: transform 0.35s ease, opacity 0.35s ease;
}
.pressor-popup-overlay[data-popup-motion="bounce"].is-open .pressor-popup-stack {
	animation: pressor-popup-bounce-in 0.8s cubic-bezier(0.68, -0.55, 0.27, 1.55) forwards;
}

/* 15–18. Diagonals (names match intended corners; pen CSS had TL/BL swapped) */
.pressor-popup-overlay[data-popup-motion="diagonal-tl"] .pressor-popup-stack {
	transform: translate3d(-200%, -200%, 0) rotate(-45deg);
	transition: transform 0.9s cubic-bezier(0.34, 1.56, 0.64, 1);
}
.pressor-popup-overlay[data-popup-motion="diagonal-tl"].is-open .pressor-popup-stack {
	transform: translate3d(0, 0, 0) rotate(0deg);
}

.pressor-popup-overlay[data-popup-motion="diagonal-tr"] .pressor-popup-stack {
	transform: translate3d(200%, -200%, 0) rotate(-45deg);
	transition: transform 0.9s cubic-bezier(0.34, 1.56, 0.64, 1);
}
.pressor-popup-overlay[data-popup-motion="diagonal-tr"].is-open .pressor-popup-stack {
	transform: translate3d(0, 0, 0) rotate(0deg);
}

.pressor-popup-overlay[data-popup-motion="diagonal-bl"] .pressor-popup-stack {
	transform: translate3d(-200%, 200%, 0) rotate(45deg);
	transition: transform 0.9s cubic-bezier(0.34, 1.56, 0.64, 1);
}
.pressor-popup-overlay[data-popup-motion="diagonal-bl"].is-open .pressor-popup-stack {
	transform: translate3d(0, 0, 0) rotate(0deg);
}

.pressor-popup-overlay[data-popup-motion="diagonal-br"] .pressor-popup-stack {
	transform: translate3d(200%, 200%, 0) rotate(45deg);
	transition: transform 0.9s cubic-bezier(0.34, 1.56, 0.64, 1);
}
.pressor-popup-overlay[data-popup-motion="diagonal-br"].is-open .pressor-popup-stack {
	transform: translate3d(0, 0, 0) rotate(0deg);
}

/* 19. Convex (transform/opacity only — preserve shell border-radius) */
.pressor-popup-overlay[data-popup-motion="convex"] {
	perspective: 800px;
}
.pressor-popup-overlay[data-popup-motion="convex"] .pressor-popup-stack {
	transform: scale(0.3) rotateX(20deg) rotateY(20deg);
	opacity: 0;
	transition: transform 0.8s cubic-bezier(0.34, 1.56, 0.64, 1), opacity 0.6s ease;
}
.pressor-popup-overlay[data-popup-motion="convex"].is-open .pressor-popup-stack {
	transform: scale(1) rotateX(0deg) rotateY(0deg);
	opacity: 1;
}

/* 20–23. Flips */
.pressor-popup-overlay[data-popup-motion="flip-x"] {
	perspective: 800px;
}
.pressor-popup-overlay[data-popup-motion="flip-x"] .pressor-popup-stack {
	transform: rotateX(180deg);
	transition: transform 0.8s cubic-bezier(0.34, 1.56, 0.64, 1);
}
.pressor-popup-overlay[data-popup-motion="flip-x"].is-open .pressor-popup-stack {
	transform: rotateX(0deg);
}

.pressor-popup-overlay[data-popup-motion="flip-ys"] {
	perspective: 800px;
}
.pressor-popup-overlay[data-popup-motion="flip-ys"] .pressor-popup-stack {
	transform: rotateY(180deg) scale(0.3);
	transition: transform 0.8s cubic-bezier(0.34, 1.56, 0.64, 1);
}
.pressor-popup-overlay[data-popup-motion="flip-ys"].is-open .pressor-popup-stack {
	transform: rotateY(0deg) scale(1);
}

.pressor-popup-overlay[data-popup-motion="flip-ys-reverse"] {
	perspective: 800px;
}
.pressor-popup-overlay[data-popup-motion="flip-ys-reverse"] .pressor-popup-stack {
	transform: rotateY(-180deg) scale(0.3);
	transition: transform 0.8s cubic-bezier(0.34, 1.56, 0.64, 1);
}
.pressor-popup-overlay[data-popup-motion="flip-ys-reverse"].is-open .pressor-popup-stack {
	transform: rotateY(0deg) scale(1);
}

.pressor-popup-overlay[data-popup-motion="flip-mix"] {
	perspective: 800px;
}
.pressor-popup-overlay[data-popup-motion="flip-mix"] .pressor-popup-stack {
	transform: rotateX(180deg) rotateY(180deg) scale(0.3);
	transition: transform 0.9s cubic-bezier(0.34, 1.56, 0.64, 1);
}
.pressor-popup-overlay[data-popup-motion="flip-mix"].is-open .pressor-popup-stack {
	transform: rotateX(0deg) rotateY(0deg) scale(1);
}

/*
 * Jesse Couch / designcouch — Modal Animations
 * https://codepen.io/designcouch/pen/obvKxm
 *
 * Copyright (c) Jesse Couch — https://codepen.io/designcouch/pen/obvKxm
 * Permission is hereby granted, free of charge, to any person obtaining a copy
 * of this software and associated documentation files (the "Software"), to deal
 * in the Software without restriction, including without limitation the rights
 * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
 * copies of the Software, and to permit persons to whom the Software is
 * furnished to do so, subject to the following conditions:
 *
 * The above copyright notice and this permission notice shall be included in
 * all copies or substantial portions of the Software.
 *
 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
 * THE SOFTWARE.
 *
 * Adapted for Pressor popup host: panel (and overlay for unfold) only —
 * page-content scale/slide companions from the pen are intentionally omitted.
 */

/* Keep overlay opaque while keyed close animations run (DOM remove follows). */
.pressor-popup-overlay[data-popup-motion^="dc-"].is-closing {
	opacity: 1;
	pointer-events: none;
	transition: none;
}

@keyframes pressor-dc-unfold-in {
	0% {
		transform: scaleY(0.005) scaleX(0);
	}
	50% {
		transform: scaleY(0.005) scaleX(1);
	}
	100% {
		transform: scaleY(1) scaleX(1);
	}
}
@keyframes pressor-dc-unfold-out {
	0% {
		transform: scaleY(1) scaleX(1);
	}
	50% {
		transform: scaleY(0.005) scaleX(1);
	}
	100% {
		transform: scaleY(0.005) scaleX(0);
	}
}
@keyframes pressor-dc-zoom-in {
	0% {
		transform: scale(0);
	}
	100% {
		transform: scale(1);
	}
}
@keyframes pressor-dc-zoom-out {
	0% {
		transform: scale(1);
	}
	100% {
		transform: scale(0);
	}
}
@keyframes pressor-dc-scale-up {
	0% {
		transform: scale(0.8) translateY(80vh);
		opacity: 0;
	}
	100% {
		transform: scale(1) translateY(0);
		opacity: 1;
	}
}
@keyframes pressor-dc-scale-down {
	0% {
		transform: scale(1) translateY(0);
		opacity: 1;
	}
	100% {
		transform: scale(0.8) translateY(80vh);
		opacity: 0;
	}
}
@keyframes pressor-dc-move-up {
	0% {
		transform: translateY(150px);
		opacity: 0;
	}
	100% {
		transform: translateY(0);
		opacity: 1;
	}
}
@keyframes pressor-dc-move-down {
	0% {
		transform: translateY(0);
		opacity: 1;
	}
	100% {
		transform: translateY(150px);
		opacity: 0;
	}
}
@keyframes pressor-dc-blow-in {
	0% {
		transform: scale(0);
	}
	100% {
		transform: scale(1);
	}
}
@keyframes pressor-dc-blow-out {
	0% {
		transform: scale(1);
		opacity: 1;
	}
	100% {
		transform: scale(0);
		opacity: 0;
	}
}
@keyframes pressor-dc-meep-in {
	0% {
		transform: translateX(-1500px) skewX(30deg) scaleX(1.3);
	}
	70% {
		transform: translateX(30px) skewX(0deg) scaleX(0.9);
	}
	100% {
		transform: translateX(0) skewX(0deg) scaleX(1);
	}
}
@keyframes pressor-dc-meep-out {
	0% {
		transform: translateX(0) skewX(0deg) scaleX(1);
	}
	30% {
		transform: translateX(-30px) skewX(-5deg) scaleX(0.9);
	}
	100% {
		transform: translateX(1500px) skewX(30deg) scaleX(1.3);
	}
}
@keyframes pressor-dc-sketch-in {
	0% {
		clip-path: inset(50% 50% 50% 50%);
		opacity: 0;
	}
	100% {
		clip-path: inset(0 0 0 0);
		opacity: 1;
	}
}
@keyframes pressor-dc-sketch-out {
	0% {
		clip-path: inset(0 0 0 0);
		opacity: 1;
	}
	100% {
		clip-path: inset(50% 50% 50% 50%);
		opacity: 0;
	}
}
@keyframes pressor-dc-bond-in {
	0% {
		transform: translateX(100vw) scale(0.15);
	}
	70% {
		transform: translateX(0) scale(0.15);
	}
	100% {
		transform: translateX(0) scale(1);
	}
}
@keyframes pressor-dc-bond-out {
	0% {
		transform: translateY(0) rotate(0deg);
		opacity: 1;
	}
	100% {
		transform: translateY(300px) rotate(45deg);
		opacity: 0;
	}
}

/* Unfolding — overlay iris + delayed panel zoom */
.pressor-popup-overlay[data-popup-motion="dc-unfold"] {
	transform: scaleY(0.005) scaleX(0);
}
.pressor-popup-overlay[data-popup-motion="dc-unfold"] .pressor-popup-stack {
	transform: scale(0);
}
.pressor-popup-overlay[data-popup-motion="dc-unfold"].is-open {
	animation: pressor-dc-unfold-in 1s cubic-bezier(0.165, 0.84, 0.44, 1) forwards;
}
.pressor-popup-overlay[data-popup-motion="dc-unfold"].is-open .pressor-popup-stack {
	animation: pressor-dc-zoom-in 0.5s 0.8s cubic-bezier(0.165, 0.84, 0.44, 1) forwards;
}
.pressor-popup-overlay[data-popup-motion="dc-unfold"].is-closing {
	animation: pressor-dc-unfold-out 1s 0.3s cubic-bezier(0.165, 0.84, 0.44, 1) forwards;
}
.pressor-popup-overlay[data-popup-motion="dc-unfold"].is-closing .pressor-popup-stack {
	animation: pressor-dc-zoom-out 0.5s cubic-bezier(0.165, 0.84, 0.44, 1) forwards;
}

/* Revealing */
.pressor-popup-overlay[data-popup-motion="dc-reveal"] .pressor-popup-stack {
	opacity: 0;
	transform: scale(0.8) translateY(80vh);
}
.pressor-popup-overlay[data-popup-motion="dc-reveal"].is-open .pressor-popup-stack {
	animation: pressor-dc-scale-up 0.5s cubic-bezier(0.165, 0.84, 0.44, 1) forwards;
}
.pressor-popup-overlay[data-popup-motion="dc-reveal"].is-closing .pressor-popup-stack {
	animation: pressor-dc-scale-down 0.5s cubic-bezier(0.165, 0.84, 0.44, 1) forwards;
}

/* Uncovering (panel only; page-content slide omitted) */
.pressor-popup-overlay[data-popup-motion="dc-uncover"] .pressor-popup-stack {
	transform: translateY(150px);
	opacity: 0;
}
.pressor-popup-overlay[data-popup-motion="dc-uncover"].is-open .pressor-popup-stack {
	animation: pressor-dc-move-up 0.5s cubic-bezier(0.165, 0.84, 0.44, 1) forwards;
}
.pressor-popup-overlay[data-popup-motion="dc-uncover"].is-closing .pressor-popup-stack {
	animation: pressor-dc-move-down 0.5s cubic-bezier(0.165, 0.84, 0.44, 1) forwards;
}

/* Blow Up */
.pressor-popup-overlay[data-popup-motion="dc-blow-up"] .pressor-popup-stack {
	transform: scale(0);
}
.pressor-popup-overlay[data-popup-motion="dc-blow-up"].is-open .pressor-popup-stack {
	animation: pressor-dc-blow-in 0.5s cubic-bezier(0.165, 0.84, 0.44, 1) forwards;
}
.pressor-popup-overlay[data-popup-motion="dc-blow-up"].is-closing .pressor-popup-stack {
	animation: pressor-dc-blow-out 0.5s cubic-bezier(0.165, 0.84, 0.44, 1) forwards;
}

/* Meep Meep */
.pressor-popup-overlay[data-popup-motion="dc-meep"] .pressor-popup-stack {
	transform: translateX(-1500px) skewX(30deg) scaleX(1.3);
}
.pressor-popup-overlay[data-popup-motion="dc-meep"].is-open .pressor-popup-stack {
	animation: pressor-dc-meep-in 0.3s cubic-bezier(0.165, 0.84, 0.44, 1) forwards;
}
.pressor-popup-overlay[data-popup-motion="dc-meep"].is-closing .pressor-popup-stack {
	animation: pressor-dc-meep-out 0.5s cubic-bezier(0.165, 0.84, 0.44, 1) forwards;
}

/* Sketch — clip-path stand-in for SVG stroke sketch */
.pressor-popup-overlay[data-popup-motion="dc-sketch"] .pressor-popup-stack {
	clip-path: inset(50% 50% 50% 50%);
	opacity: 0;
}
.pressor-popup-overlay[data-popup-motion="dc-sketch"].is-open .pressor-popup-stack {
	animation: pressor-dc-sketch-in 0.7s 0.15s cubic-bezier(0.165, 0.84, 0.44, 1) forwards;
}
.pressor-popup-overlay[data-popup-motion="dc-sketch"].is-closing .pressor-popup-stack {
	animation: pressor-dc-sketch-out 0.5s cubic-bezier(0.165, 0.84, 0.44, 1) forwards;
}

/* Bond — size morph simplified to scale (preserves shell chrome) */
.pressor-popup-overlay[data-popup-motion="dc-bond"] .pressor-popup-stack {
	transform: translateX(100vw) scale(0.15);
}
.pressor-popup-overlay[data-popup-motion="dc-bond"].is-open .pressor-popup-stack {
	animation: pressor-dc-bond-in 1.5s cubic-bezier(0.165, 0.84, 0.44, 1) forwards;
}
.pressor-popup-overlay[data-popup-motion="dc-bond"].is-closing .pressor-popup-stack {
	animation: pressor-dc-bond-out 1s cubic-bezier(0.165, 0.84, 0.44, 1) forwards;
}

/*
 * Drawer slide — adapted from Brady Hullopeter
 * https://codepen.io/bradyhullopeter/pen/GNJReZ
 *
 * Copyright (c) Brady Hullopeter — https://codepen.io/bradyhullopeter/pen/GNJReZ
 * Permission is hereby granted, free of charge, to any person obtaining a copy
 * of this software and associated documentation files (the "Software"), to deal
 * in the Software without restriction, including without limitation the rights
 * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
 * copies of the Software, and to permit persons to whom the Software is
 * furnished to do so, subject to the following conditions:
 *
 * The above copyright notice and this permission notice shall be included in
 * all copies or substantial portions of the Software.
 *
 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
 * THE SOFTWARE.
 *
 * Port notes: slide only via transform (pen used left:). Overlay/page-push and
 * translucent scrim omitted — use Presentation backdrop + canvas background.
 */

.pressor-popup-overlay[data-popup-motion="drawer-slide"] .pressor-popup-stack {
	transition: transform 0.35s ease-in-out;
	transform: translateX(-100%);
}

.pressor-popup-overlay[data-popup-motion="drawer-slide"][data-popup-placement="right"] .pressor-popup-stack {
	transform: translateX(100%);
}

.pressor-popup-overlay[data-popup-motion="drawer-slide"][data-popup-placement="top"] .pressor-popup-stack {
	transform: translateY(-100%);
}

.pressor-popup-overlay[data-popup-motion="drawer-slide"][data-popup-placement="bottom"] .pressor-popup-stack {
	transform: translateY(100%);
}

.pressor-popup-overlay[data-popup-motion="drawer-slide"].is-open .pressor-popup-stack {
	transform: translate3d(0, 0, 0);
}

@media (prefers-reduced-motion: reduce) {
	.pressor-popup-overlay .pressor-popup-panel,
	.pressor-popup-overlay .pressor-popup-stack {
		transform: none !important;
		animation: none !important;
		clip-path: none !important;
		transition: opacity 0.2s ease !important;
	}
	.pressor-popup-overlay[data-popup-motion^="dc-"] {
		transform: none !important;
		animation: none !important;
	}
}

/* Bar alert mood shells */
.tp-popup-shell--bar-info {
	background: #1e3a5f !important;
	color: #e2e8f0;
}
.tp-popup-shell--bar-success {
	background: #14532d !important;
	color: #ecfdf5;
}
.tp-popup-shell--bar-warn {
	background: #78350f !important;
	color: #fffbeb;
}
.tp-popup-shell--bar-promo {
	background: #4c1d95 !important;
	color: #f5f3ff;
}
.tp-popup-sound-thumb {
	display: flex !important;
	align-items: center;
	justify-content: center;
	font-size: 11px;
	opacity: 0.75;
}
