.doo-ph-app-page {
	/* background: var(--partners-bg, #f3f6f8); */
	background: linear-gradient(180deg, #F8F8F8 0%, #DFE0E1 100%);

}

.doo-ph-login-page {
	background: #e5e9ea;
	margin: 0;
}

.doo-ph-app {
	--doo-ph-app-offset-y: 20px;
	--doo-ph-admin-bar-h: 0px;
	display: grid;
	grid-template-columns: var(--doo-ph-sidebar-width, 288px) minmax(0, 1fr);
	align-items: start;
	gap: 10px;
	max-width: 1496px;
	margin: var(--doo-ph-app-offset-y) auto;
	padding: 0 16px;
	transition: grid-template-columns 0.2s ease;
}

/* WordPress admin bar compensation — WP injects margin-top on html and admin-bar class on body */
body.admin-bar .doo-ph-app {
	--doo-ph-admin-bar-h: 32px;
}
@media screen and (max-width: 782px) {
	body.admin-bar .doo-ph-app {
		--doo-ph-admin-bar-h: 46px;
	}
}
@media screen and (max-width: 600px) {
	body.admin-bar .doo-ph-app {
		--doo-ph-admin-bar-h: 0px; /* WP hides the admin bar below 600px */
	}
}

.doo-ph-app button {
	font-family: Arial, var(--wp--preset--font-family--roboto-flex);
}

/*
 * Ghost / text buttons — override theme global `button` / `button:hover` styles.
 * Only targets borderless transparent controls; filled buttons keep their own rules.
 */
.doo-ph-app :is(
	.doo-ph-btn--ghost,
	.doo-ph-account-change-password,
	.doo-ph-account-discard,
	.doo-ph-account-logo-modal__browse,
	.doo-ph-account-logo__upload-link,
	.doo-ph-account-logo__remove-link,
	.doo-ph-account-modal__close,
	.doo-ph-modal__close,
	.doo-ph-account-logo-file__remove,
	.doo-ph-pwd-visibility,
	.doo-ph-copy,
	.doo-ph-product-card__copy,
	.doo-ph-about-avire__copy,
	.doo-ph-campaign-email-card__copy,
	button.doo-ph-campaign-actions__link,
	.doo-ph-logo-card__download-toggle,
	.doo-ph-campaign-email-card__download-toggle,
	.doo-ph-sidebar__mobile-close,
	.doo-ph-campaign-header__info-summary
) {
	-webkit-appearance: none;
	appearance: none;
	box-sizing: border-box;
	height: auto;
	min-height: 0;
	letter-spacing: normal;
	text-align: inherit;
	justify-content: inherit;
	display: flex;
	align-items: center;
	justify-content: center;
}

.doo-ph-account-modal__close {
	width: 32px;
	height: 32px !important;
}


.doo-ph-app :is(
	.doo-ph-btn--ghost,
	.doo-ph-account-change-password,
	.doo-ph-account-discard,
	.doo-ph-account-logo-modal__browse,
	.doo-ph-account-logo__upload-link,
	.doo-ph-account-logo__remove-link,
	.doo-ph-account-modal__close,
	.doo-ph-modal__close,
	.doo-ph-account-logo-file__remove,
	.doo-ph-pwd-visibility,
	.doo-ph-copy,
	.doo-ph-product-card__copy,
	.doo-ph-about-avire__copy,
	.doo-ph-campaign-email-card__copy,
	button.doo-ph-campaign-actions__link,
	.doo-ph-logo-card__download-toggle,
	.doo-ph-campaign-email-card__download-toggle,
	.doo-ph-sidebar__mobile-close,
	.doo-ph-campaign-header__info-summary
):is(:hover, :focus, :focus-visible, :active, :visited) {
	background: transparent !important;
	border-color: transparent !important;
	box-shadow: none;
}

/* Ghost buttons — preserve link colours on interaction (theme sets white text on hover). */
.doo-ph-app :is(
	.doo-ph-account-change-password,
	.doo-ph-account-discard,
	.doo-ph-account-logo-modal__browse,
	.doo-ph-copy,
	.doo-ph-product-card__copy,
	.doo-ph-about-avire__copy,
	.doo-ph-campaign-email-card__copy,
	button.doo-ph-campaign-actions__link
):is(:hover, :focus-visible, :active, :visited) {
	color: #005991;
}

.doo-ph-app :is(
	.doo-ph-account-change-password,
	.doo-ph-account-discard,
	.doo-ph-account-logo-modal__browse,
	.doo-ph-account-logo__upload-link,
	.doo-ph-account-logo__remove-link
):is(:hover, :focus-visible) {
	color: #003b5f;
}

.doo-ph-app :is(
	.doo-ph-logo-card__download-toggle,
	.doo-ph-campaign-email-card__download-toggle,
	button.doo-ph-campaign-actions__link
):is(:hover, :focus-visible) {
	color: #005991;
}

/* Controls with their own surface — block theme button:hover, keep hub styles. */
.doo-ph-app .doo-ph-tabs__tab:not(.is-active):is(:hover, :focus-visible, :active, :visited) {
	background: #fff !important;
	border-color: #d8e4ea !important;
	color: #123c59 !important;
}

.doo-ph-app .doo-ph-tabs__tab.is-active:is(:hover, :focus-visible, :active, :visited) {
	background: #005991 !important;
	border-color: #005991 !important;
	color: #fff !important;
}

.doo-ph-app .doo-ph-tabs--underline .doo-ph-tabs__tab:not(.is-active):is(:hover, :focus-visible, :active, :visited) {
	background: transparent !important;
	border-color: transparent !important;
	border-bottom-color: transparent !important;
	color: #54585a !important;
}

.doo-ph-app .doo-ph-tabs--underline .doo-ph-tabs__tab.is-active:is(:hover, :focus-visible, :active, :visited) {
	background: transparent !important;
	border-color: transparent !important;
	border-bottom-color: #003e56 !important;
	color: #003e56 !important;
}

.doo-ph-app .doo-ph-campaign-tabs .doo-ph-tabs__tab:not(.is-active):is(:hover, :focus-visible, :active, :visited) {
	background: transparent !important;
	border-color: transparent !important;
	color: #54585a !important;
}

.doo-ph-app .doo-ph-campaign-tabs .doo-ph-tabs__tab.is-active:is(:hover, :focus-visible, :active, :visited) {
	background: transparent !important;
	border-color: transparent !important;
	color: #003e56 !important;
}

.doo-ph-app .doo-ph-mobile-bar__toggle:is(:hover, :focus-visible, :active, :visited) {
	background: #f0f6fa !important;
	border-color: transparent !important;
}

.doo-ph-app .doo-ph-user-menu__toggle:is(:hover, :focus-visible, :active, :visited) {
	background: #f8f8f8 !important;
	border-color: #e5e9ea !important;
	color: #003e56 !important;
}

.doo-ph-app .doo-ph-user-menu.is-open .doo-ph-user-menu__toggle:is(:hover, :focus-visible, :active, :visited) {
	background: #f0f6fa !important;
	border-color: #005991 !important;
	color: #003e56 !important;
}

.doo-ph-app .doo-ph-account-logo__dropzone:is(:hover, :focus-visible, :active, :visited) {
	background: #fff !important;
	border-color: #005991 !important;
}

.doo-ph-app .doo-ph-btn--outline:is(:hover, :active) {
	background: #eef6fb !important;
	border-color: #005991 !important;
	color: #005991 !important;
}

.doo-ph-app .doo-ph-account-delete-btn:is(:hover, :focus-visible, :active, :visited) {
	background: #fde8e8 !important;
	border-color: #7d2d2d !important;
	color: #7d2d2d !important;
}

.doo-ph-app .doo-ph-account-delete-btn--pending:is(:hover, :focus-visible, :active, :visited),
.doo-ph-app .doo-ph-account-delete-btn:disabled:is(:hover, :focus-visible, :active, :visited) {
	background: #c5c9cb !important;
	border-color: transparent !important;
	color: #fff !important;
}

.doo-ph-app .doo-ph-section--account .doo-ph-pwd-visibility:is(:hover, :focus, :focus-visible, :active) {
	background: transparent !important;
	border-color: transparent !important;
	opacity: 0.72;
}

.doo-ph-app .doo-ph-product-card__action:is(:hover, :focus-visible, :active, :visited),
.doo-ph-app .doo-ph-product-card__download-toggle:is(:hover, :focus-visible, :active, :visited) {
	background: #f2f9fd !important;
	border-color: #005991 !important;
	color: #005991 !important;
}

/* "Download Image as" reuses the email ghost toggle class; keep its border on interaction. */
.doo-ph-app .doo-ph-product-card__action.doo-ph-campaign-email-card__download-toggle:is(:hover, :focus, :focus-visible, :active, :visited) {
	background: #f2f9fd !important;
	border-color: #005991 !important;
	color: #005991 !important;
}

.doo-ph-app .doo-ph-btn:not(.doo-ph-btn--outline):not(.doo-ph-btn--secondary):not(.doo-ph-btn--danger):is(:hover, :focus-visible, :active),
.doo-ph-app .doo-ph-btn--primary:is(:hover, :focus-visible, :active) {
	background: #003b5f !important;
	border-color: #003b5f !important;
	color: #fff !important;
}

.doo-ph-app .doo-ph-btn--primary:disabled:is(:hover, :focus-visible, :active, :visited) {
	background: #9ca3af !important;
	border-color: #9ca3af !important;
	color: #fff !important;
}

.doo-ph-app .doo-ph-btn--secondary:is(:hover, :focus-visible, :active, :visited) {
	background: #d8e4ea !important;
	border-color: #d8e4ea !important;
	color: #0f4266 !important;
}

.doo-ph-app .doo-ph-btn--danger:is(:hover, :focus-visible, :active, :visited) {
	background: #912018 !important;
	border-color: #912018 !important;
	color: #fff !important;
}

.doo-ph-app .doo-ph-campaign-social__zip-btn:not(:disabled):is(:hover, :focus-visible, :active, :visited) {
	background: #F0F6FA !important; /* accent-50 */
	border-color: #005991 !important; /* primary-50 */
	color: #005991 !important; /* primary-50 */
}

.doo-ph-app .doo-ph-sales-materials__zip-btn:not(:disabled):is(:hover, :focus-visible, :active, :visited) {
	background: #F0F6FA !important; /* accent-50 */
	border-color: #005991 !important; /* primary-50 */
	color: #005991 !important; /* primary-50 */
}

.doo-ph-app .doo-ph-user-menu__action:is(:hover, :focus-visible, :active, :visited) {
	background: #f8f8f8 !important;
	color: #1d2224 !important;
}

.doo-ph-app .doo-ph-account-modal__close:is(:hover, :focus-visible, :active, :visited),
.doo-ph-app .doo-ph-modal__close:is(:hover, :focus-visible, :active, :visited) {
	color: #003e56;
}

.doo-ph-app.is-sidebar-collapsed {
	--doo-ph-sidebar-width: 88px;
}

/* Sidebar shell */
.doo-ph-sidebar {
	display: flex;
	flex-direction: column;
	box-sizing: border-box;
	position: sticky;
	top: calc(var(--doo-ph-app-offset-y) + var(--doo-ph-admin-bar-h));
	align-self: start;
	width: var(--doo-ph-sidebar-width, 288px);
	height: calc(100dvh - (var(--doo-ph-app-offset-y) * 2) - var(--doo-ph-admin-bar-h));
	max-height: calc(100dvh - (var(--doo-ph-app-offset-y) * 2) - var(--doo-ph-admin-bar-h));
	min-height: 0;
	padding: 24px 16px;
	background: #fff;
 	border-radius: 16px;
	overflow: hidden;
	transition: width 0.2s ease, padding 0.2s ease;
}

@media (min-width: 768px) {
	.doo-ph-sidebar {
		overflow: visible;
		z-index: 30;
	}

	.doo-ph-main {
		z-index: 1;
	}
}

.doo-ph-sidebar__scroll {
	flex: 1 1 auto;
	min-height: 0;
	overflow-x: hidden;
	overflow-y: auto;
	overscroll-behavior: contain;
	-webkit-overflow-scrolling: touch;
	scrollbar-width: none;
	-ms-overflow-style: none;
}

.doo-ph-sidebar__scroll::-webkit-scrollbar {
	display: none;
}

.doo-ph-sidebar__header {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 8px;
	margin-bottom: 24px;
	flex-shrink: 0;
}

/* Sidebar tooltips (desktop) */
.doo-ph-sidebar [data-tooltip] {
	position: relative;
}

.doo-ph-sidebar [data-tooltip]::after {
	content: attr(data-tooltip);
	position: absolute;
	left: calc(100% + 10px);
	top: 50%;
	z-index: 1;
	padding: 6px 10px;
	border-radius: 8px;
	background: #1d2224;
	color: #fff;
	font-size: 13px;
	font-weight: 400;
	line-height: 1.3;
	white-space: nowrap;
	pointer-events: none;
	opacity: 0;
	visibility: hidden;
	transform: translateY(-50%);
	transition: opacity 0.15s ease, visibility 0.15s ease;
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.18);
}

.doo-ph-sidebar__collapse[data-tooltip]:hover::after,
.doo-ph-sidebar__collapse[data-tooltip]:focus-visible::after,
.doo-ph-sidebar.is-collapsed [data-tooltip]:not(.doo-ph-sidebar__collapse):hover::after,
.doo-ph-sidebar.is-collapsed [data-tooltip]:not(.doo-ph-sidebar__collapse):focus-visible::after {
	opacity: 1;
	visibility: visible;
}

.doo-ph-sidebar.is-collapsed {
	overflow: visible;
}

.doo-ph-sidebar.is-collapsed .doo-ph-sidebar__scroll {
	overflow: visible;
}

@media (prefers-reduced-motion: reduce) {
	.doo-ph-sidebar [data-tooltip]::after,
	.doo-ph-logo-card__chevron,
	.doo-ph-logo-card__download-menu {
		transition: none;
	}
}

@media (max-width: 767px) {
	.doo-ph-sidebar [data-tooltip]::after {
		content: none;
	}
}

.doo-ph-sidebar__brand {
	flex: 1;
	min-width: 0;
}

.doo-ph-sidebar__brand .doo-ph-brand {
	margin-bottom: 0;
}

.doo-ph-sidebar__collapse {
	flex: 0 0 auto;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	padding: 0;
	border: 0;
	border-radius: 8px;
	background: transparent;
	cursor: pointer;
}

.doo-ph-sidebar__collapse:hover {
	background: #f0f6fa;
}

.doo-ph-sidebar__collapse-icon--expand {
	display: none;
}

.doo-ph-sidebar.is-collapsed .doo-ph-sidebar__header {
	flex-direction: column;
	align-items: center;
	gap: 16px;
}

.doo-ph-sidebar.is-collapsed .doo-ph-sidebar__collapse-icon--collapse {
	display: none;
}

.doo-ph-sidebar.is-collapsed .doo-ph-sidebar__collapse-icon--expand {
	display: block;
}

.doo-ph-sidebar.is-collapsed .doo-ph-sidebar__collapse {
	width: 44px;
	height: 44px;
	border-radius: 12px;
	background: #005991;
}

.doo-ph-sidebar.is-collapsed .doo-ph-sidebar__brand {
	display: none;
}

.doo-ph-brand {
	display: flex;
	align-items: center;
	gap: 12px;
}

.doo-ph-brand__logo-wrap {
	flex: 0 0 auto;
	line-height: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	width: clamp(32px, 4.5vw, 44px);
	height: clamp(32px, 4.5vw, 44px);
	background-color: #005991;
	border-radius: 8px;
}

.doo-ph-brand__logo {
	display: block;
	width: clamp(14px, 1.8vw, 20px);
	height: clamp(14px, 1.8vw, 20px);
}


.doo-ph-brand__title {
	font-weight: 400;
	font-size: 20px;
	line-height: 1.1;
	letter-spacing: -0.03em;
	color: #003e56;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.doo-ph-sidebar__nav {
	flex-shrink: 0;
}

.doo-ph-sidebar__menu {
	list-style: none;
	padding: 0; 
	margin: 0;
	display: flex;
	flex-direction: column;
	gap: 4px;
}

.doo-ph-sidebar__item .doo-ph-sidebar__link {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 12px 16px;
	border-radius: 8px;
	text-decoration: none;
	color: #003e56;
	font-family: Akkurat;
	font-size: clamp(16px, 1.8vw, 18px);
	line-height: 1.2 ;
	letter-spacing: -2%;
	transition: background-color 0.15s ease, padding 0.2s ease;
}

.doo-ph-sidebar__item .doo-ph-sidebar__link:visited {
	color: #003e56;
}

@media (max-width: 900px) {
	.doo-ph-sidebar__item .doo-ph-sidebar__link {
		color: #1D2224;
	}
	.doo-ph-sidebar__item .doo-ph-sidebar__link:visited {
		color: #1D2224;
	}
}


.doo-ph-sidebar__link:hover {
	background: #f8f8f8 ;
}

.doo-ph-sidebar__link.is-active {
	background: #f0f6fa;
}

.doo-ph-sidebar__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 20px;
	height: 20px;
	flex: 0 0 20px;
}

.doo-ph-sidebar__icon-img {
	display: block;
	width: 20px;
	height: 20px;
}

.doo-ph-sidebar__icon-img--filled {
	display: none;
}

.doo-ph-sidebar__link.is-active .doo-ph-sidebar__icon-img--default {
	display: none;
}

.doo-ph-sidebar__link.is-active .doo-ph-sidebar__icon-img--filled {
	display: block;
}

.doo-ph-sidebar__label {
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	max-width: 220px;
	opacity: 1;
	transition: opacity 0.15s ease, max-width 0.2s ease;
}

.doo-ph-sidebar.is-collapsed .doo-ph-sidebar__label {
	max-width: 0;
	opacity: 0;
}

.doo-ph-sidebar__footer {
	display: flex;
	flex-direction: column;
	gap: 12px;
	flex-shrink: 0;
	margin-top: 0;
	padding-top: 16px;
	background: #fff;
}

.doo-ph-sidebar.is-collapsed .doo-ph-sidebar__footer {
	padding-top: 0;
	border-top: 0;
}

/* User menu */
.doo-ph-user-menu {
	position: relative;
}

.doo-ph-user-menu__toggle {
	display: flex;
	align-items: center;
	gap: 12px;
	width: 100%;
	height: 54px;
	padding: 6px;
	border: 1px solid #E5E9EA;
	border-radius: 8px;
	background: #fff;
	cursor: pointer;
	text-align: left;
	color: #003e56;
	transition: padding 0.2s ease, gap 0.2s ease, border-color 0.2s ease, border-width 0.2s ease;
}

.doo-ph-user-menu__toggle:hover {
	background: #F8F8F8;
	border-color: #E5E9EA;
}

.doo-ph-user-menu.is-open .doo-ph-user-menu__toggle {
	background: #F0F6FA;
	border-color: #005991;
	& .doo-ph-user-menu__avatar {
		background-color: #FFF;
	}
}
 
.doo-ph-user-menu__avatar {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 42px;
	flex: 0 0 44px;
	border-radius: 6px;
	background: #EFF0F1;
	font-family: Akkurat;
	line-height: 1.1;
	letter-spacing: -2%;
	font-size: 18px;
	font-weight: 400;
	color: #003e56;
}

.doo-ph-user-menu__info {
	flex: 1;
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: 2px;
	overflow: hidden;
	max-width: 200px;
	opacity: 1;
	transition: opacity 0.15s ease, max-width 0.2s ease;
}

.doo-ph-user-menu__name {
	font-size: 18px;
	font-weight: 400;
	line-height: 1.2;
	letter-spacing: -2%;
	color: #003e56;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.doo-ph-user-menu__company {
	font-size: 14px;
	line-height: 1.4;
	color: #8A8F90;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.doo-ph-user-menu__chevron {
	flex: 0 0 auto;
	display: block;
	width: 20px;
	height: 20px;
	overflow: hidden;
	max-width: 20px;
	opacity: 1;
	transition: opacity 0.15s ease, max-width 0.2s ease;
}

.doo-ph-user-menu__dropdown {
	position: absolute;
	left: 0;
	right: 0;
	bottom: calc(100% + 8px);
	z-index: 20;
	padding: 12px;
	border-radius: 12px;
	background: #fff;
	box-shadow: 0 8px 24px rgba(0, 62, 86, 0.12);
	border: 1px solid #e5e9ea;
}

.doo-ph-user-menu__dropdown[hidden] {
	display: none;
}

.doo-ph-user-menu__email {
	margin: 0 0 8px;
	padding: 0 8px;
	font-size: 14px;
	line-height: 1.4;
	color: #8A8F90;
	word-break: break-word;
}

.doo-ph-user-menu__actions {
	list-style: none;
	padding: 0;
	margin: 0;
	border-top: 1px solid #E5E9EA;
}

.doo-ph-user-menu__action {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 10px 8px;
	text-decoration: none;
	font-family: Akkurat;
	font-size: 16px;
	font-weight: 400;
	line-height: 1.4;
	letter-spacing: -2%;
	color: #1D2224;
	border-radius: 4px;
}

.doo-ph-user-menu__action:visited {
	color: #1d2224;
}

.doo-ph-user-menu__action:hover {
	background: #F8F8F8;
}

.doo-ph-user-menu__action img {
	flex: 0 0 20px;
}

.doo-ph-sidebar.is-collapsed .doo-ph-user-menu__info,
.doo-ph-sidebar.is-collapsed .doo-ph-user-menu__chevron {
	max-width: 0;
	opacity: 0;
}

.doo-ph-sidebar.is-collapsed .doo-ph-user-menu__toggle {
	justify-content: center;
	padding: 0;
	gap: 0;
	border: 0;
}

.doo-ph-sidebar.is-collapsed .doo-ph-user-menu__toggle:is(:hover, :focus-visible, :active, :visited) {
	padding: 0 !important;
	border: 0 !important;
	background: transparent !important;
}

.doo-ph-sidebar.is-collapsed .doo-ph-user-menu__dropdown {
	left: calc(100% + 8px);
	right: auto;
	bottom: 0;
	min-width: 220px;
}

/* Support button */
.doo-ph-support-btn {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	width: 100%;
	padding: 14px 16px;
	border-radius: 8px;
	background: #005991;
	color: #fff;
	text-decoration: none;
	font-size: clamp(14px, 1.8vw, 16px);
	font-weight: 400;
	line-height: 1;
	transition: background-color 0.15s ease, padding 0.2s ease, gap 0.2s ease;
}

.doo-ph-support-btn__label {
	overflow: hidden;
	max-width: 200px;
	opacity: 1;
	white-space: nowrap;
	transition: opacity 0.15s ease, max-width 0.2s ease;
}

.doo-ph-support-btn:hover {
	background: #003b5f;
	color: #fff;
}

.doo-ph-support-btn:visited {
	color: #fff;
}

.doo-ph-support-btn.is-active {
	background: #003b5f;
}

.doo-ph-support-btn__icon {
	flex: 0 0 20px;
	filter: brightness(0) invert(1);
}

.doo-ph-sidebar.is-collapsed .doo-ph-support-btn__label {
	max-width: 0;
	opacity: 0;
}

.doo-ph-sidebar.is-collapsed .doo-ph-support-btn {
	width: 44px;
	height: 44px;
	padding: 0;
	gap: 0;
	margin: 0 auto;
	border-radius: 8px;
}

.doo-ph-user-menu--mobile,
.doo-ph-mobile-bar,
.doo-ph-sidebar__mobile-top,
.doo-ph-mobile-backdrop {
	display: none;
}

.doo-ph-main {
	display: flex;
	flex-direction: column;
	box-sizing: border-box;
	position: sticky;
	top: calc(var(--doo-ph-app-offset-y) + var(--doo-ph-admin-bar-h));
	align-self: start;
	height: calc(100dvh - (var(--doo-ph-app-offset-y) * 2) - var(--doo-ph-admin-bar-h));
	max-height: calc(100dvh - (var(--doo-ph-app-offset-y) * 2) - var(--doo-ph-admin-bar-h));
	min-height: 0;
	min-width: 0;
	background: #fff;
	border-radius: 16px;
	padding: 24px clamp(16px, 2.5vw, 32px);
	overflow-x: hidden;
	overflow-y: auto;
	overscroll-behavior: contain;
	-webkit-overflow-scrolling: touch;
	scrollbar-width: none;
	-ms-overflow-style: none;
}

.doo-ph-main::-webkit-scrollbar {
	display: none;
}

.doo-ph-content {
	flex: 1 0 auto;
	min-height: 0;
	min-width: 0;
}

.doo-ph-header {
	flex-shrink: 0;
}

.doo-ph-main--no-header .doo-ph-content {
	padding-top: 0;
}

.doo-ph-header h1 {
	margin: 0 0 clamp(16px, 2.5vw, 24px);
	color: #003e56;
	font-size: clamp(24px, 2.5vw, 32px);
	font-weight: 400;
	line-height: 1.1;
	letter-spacing: -3%;
}

.doo-ph-header__intro {
	margin: 0 0 clamp(32px, 2.5vw, 40px);
	max-width: 630px;
	color: #54585a;
	font-size: clamp(14px, 2.5vw, 16px);
	line-height: 1.4;
}

.doo-ph-placeholder {
	background: #eef6fb;
	border: 1px solid #d8e4ea;
	border-radius: 10px;
	padding: 16px;
}

.doo-ph-login {
	box-sizing: border-box;
	min-height: 100vh;
	min-height: 100dvh;
	padding: 24px;
	display: flex;
	align-items: center;
	justify-content: center;
}

.doo-ph-login-shell {
	box-sizing: border-box;
	width: 100%;
	max-width: 1464px;
	height: 838px;
	max-height: calc(100dvh - 48px);
	margin: 0 auto;
	padding: 32px 16px;
	background: #fff;
	border-radius: 16px;
	display: flex;
	flex-direction: column;
	overflow: auto;
}

.doo-ph-login-header .doo-ph-brand {
	margin-bottom: 0;
}

.doo-ph-login-header .doo-ph-brand__logo {
	width: 46px;
}

.doo-ph-login-header .doo-ph-brand__title {
	font-size: 24px;
	font-family: Akkurat;
	font-weight: 400;
	line-height: 1.1;
	letter-spacing: -3%;
	color: #003e56;
}

.doo-ph-login-body {
	flex: 1;
	display: flex;
	align-items: center;
	justify-content: center;
}

.doo-ph-login-panel {
	width: 100%;
	max-width: 520px;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 40px;
}

.doo-ph-login-panel__body {
	width: 300px;
	max-width: calc(100vw - 32px);
	margin: 0 auto;
}

.doo-ph-login-panel__heading {
	margin: 0;
	font-size: clamp(24px, 4vw, 32px);
	font-family: Akkurat;
	font-weight: 400;
	line-height: 1.1;
	letter-spacing: -3%;
	color: #003e56;
}

.doo-ph-login-panel__error {
	margin: -24px 0 24px;
	padding: 12px 14px;
	border-radius: 8px;
	background: #fdecec;
	border: 1px solid #f5c2c2;
	color: #8a1f1f;
	font-size: 14px;
}

.doo-ph-login-form {
	display: flex;
	flex-direction: column;
	gap: 24px;
}

.doo-ph-login-field label {
	display: block;
	margin-bottom: 8px;
	font-size: 14px;
	font-weight: 400;
	line-height: 1.5;
	color: #1D2224;
}

.doo-ph-login-input {
	box-sizing: border-box;
	width: 100%;
	height: 48px;
	padding: 0 16px;
	border: 1px solid #E5E9EA;
	border-radius: 12px;
	background: #fff;
	color: #54585A;
	font-size: 16px;
	line-height: 1.5;
	transition: border-color 0.2s ease;
}

.doo-ph-login-input::placeholder {
	color: #6b8494;
}

.doo-ph-login-input:focus {
	outline: none;
	border-color: #003E56;
}

.doo-ph-login-password-wrap {
	position: relative;
}

.doo-ph-login-field--password .doo-ph-login-input {
	padding-right: 48px;
}

.doo-ph-login-page .doo-ph-pwd-visibility {
	position: absolute;
	top: 50%;
	right: 12px;
	z-index: 2;
	transform: translateY(-50%);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 48px;
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 6px;
	background: transparent;
	box-shadow: none;
	color: #2f3436;
	cursor: pointer;
	-webkit-appearance: none;
	appearance: none;
	-webkit-tap-highlight-color: transparent;
	touch-action: manipulation;
}

.doo-ph-login-page .doo-ph-pwd-visibility:hover,
.doo-ph-login-page .doo-ph-pwd-visibility:active,
.doo-ph-login-page .doo-ph-pwd-visibility:focus,
.doo-ph-login-page .doo-ph-pwd-visibility:visited {
	background: transparent !important;
	border-color: transparent !important;
	box-shadow: none;
	opacity: 0.72;
}

.doo-ph-login-page .doo-ph-pwd-visibility:focus-visible {
	background: transparent !important;
	border-color: transparent !important;
}

.doo-ph-login-page .doo-ph-pwd-visibility__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	line-height: 0;
	pointer-events: none;
}

.doo-ph-login-page .doo-ph-pwd-visibility__svg {
	display: block;
	width: 15px;
	height: 11px;
	flex: 0 0 auto;
}

.doo-ph-login-page .doo-ph-pwd-visibility__icon--hide {
	display: none;
}

.doo-ph-login-page .doo-ph-pwd-visibility.is-visible .doo-ph-pwd-visibility__icon--show {
	display: none;
}

.doo-ph-login-page .doo-ph-pwd-visibility.is-visible .doo-ph-pwd-visibility__icon--hide {
	display: inline-flex;
}

.doo-ph-login-submit {
	box-sizing: border-box;
	width: 100%;
	height: 52px;
	margin-top: 8px;
	padding: 0 24px;
	border: 0;
	border-radius: 10px;
	background: #005991;
	color: #fff;
	font-size: 16px;
	font-weight: 400;
	line-height: 1;
	cursor: pointer;
	transition: background-color 0.2s ease;
}

.doo-ph-login-submit:hover,
.doo-ph-login-submit:focus-visible,
.doo-ph-login-submit:visited {
	background: #003b5f !important;
	border-color: #003b5f !important;
	color: #fff !important;
}

.doo-ph-login-submit:focus-visible {
	outline: none;
	box-shadow: none;
}

.doo-ph-login-links {
	margin-top: 24px;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 24px;
}

.doo-ph-login-links a {
	color: #005991;
	font-size: 14px;
	line-height: 1.4;
	text-decoration: underline;
}

.doo-ph-login-links a:hover {
	text-decoration: none;
	color: #003E56;
}

.doo-ph-login-links a:visited {
	color: #005991;
}

@media (max-width: 767px) {
	.doo-ph-login {
		align-items: stretch;
		padding: 0;
		min-height: 100dvh;
	}

	.doo-ph-login-shell {
		width: 100vw;
		max-width: none;
		height: auto;
		min-height: 100dvh;
		max-height: none;
		margin: 0;
		padding: 32px 20px 40px;
		border-radius: 0;
	}

	.doo-ph-login-header {
		display: flex;
		justify-content: center;
		width: 100%;
		margin-bottom: 112px;
	}

	.doo-ph-login-header .doo-ph-brand {
		justify-content: center;
	}

	.doo-ph-login-header .doo-ph-brand__logo {
		width: 36px;
	}

	.doo-ph-login-header .doo-ph-brand__title {
		font-size: 20px;
	}

	.doo-ph-login-body {
		flex: 1;
		align-items: stretch;
		justify-content: flex-start;
		width: 100%;
		padding: 0;
	}

	.doo-ph-login-panel {
		display: flex;
		flex-direction: column;
		flex: 1;
		max-width: none;
		width: 100%;
		min-height: 0;
	}

	.doo-ph-login-panel__body {
		width: 100%;
		margin: 0;
	}

	.doo-ph-login-panel__heading {
		margin: 0 0 32px;
		font-size: 2rem;
		text-align: center;
	}

	.doo-ph-login-panel__error {
		margin: -16px 0 20px;
		text-align: center;
	}

	.doo-ph-login-form {
		gap: 20px;
	}

	.doo-ph-login-field label {
		font-size: 14px;
		color: #4a6270;
	}

	.doo-ph-login-input {
		height: 48px;
		font-size: 16px;
	}

	.doo-ph-login-submit {
		height: 48px;
		margin-top: 4px;
	}

	.doo-ph-login-links {
		align-items: center;
		margin-top: auto;
		padding-top: 32px;
		gap: 14px;
	}

	.doo-ph-login-links a {
		text-align: center;
		text-decoration: underline;
		text-underline-offset: 2px;
	}

}

/* @media (max-width: 1024px) and (min-width: 768px) {
	.doo-ph-app,
	.doo-ph-app.is-sidebar-collapsed {
		grid-template-columns: 1fr;
		--doo-ph-sidebar-width: 100%;
	}

	.doo-ph-sidebar,
	.doo-ph-sidebar.is-collapsed {
		position: static;
		top: auto;
		width: 100%;
		height: auto;
		max-height: calc(100dvh - (var(--doo-ph-app-offset-y) * 2));
	}

	.doo-ph-sidebar.is-collapsed .doo-ph-sidebar__brand,
	.doo-ph-sidebar.is-collapsed .doo-ph-sidebar__label,
	.doo-ph-sidebar.is-collapsed .doo-ph-user-menu__info,
	.doo-ph-sidebar.is-collapsed .doo-ph-user-menu__chevron,
	.doo-ph-sidebar.is-collapsed .doo-ph-support-btn__label {
		position: static;
		width: auto;
		height: auto;
		margin: 0;
		overflow: visible;
		clip: auto;
	}

	.doo-ph-sidebar.is-collapsed .doo-ph-sidebar__link,
	.doo-ph-sidebar.is-collapsed .doo-ph-user-menu__toggle,
	.doo-ph-sidebar.is-collapsed .doo-ph-support-btn {
		justify-content: flex-start;
		width: 100%;
		height: auto;
		padding: 12px;
		margin: 0;
	}

	.doo-ph-sidebar.is-collapsed .doo-ph-sidebar__collapse {
		width: 36px;
		height: 36px;
		background: transparent;
	}

	.doo-ph-sidebar.is-collapsed .doo-ph-user-menu__dropdown {
		left: 0;
		right: 0;
		bottom: calc(100% + 8px);
		min-width: 0;
	}
} */

@media (max-width: 900px) {
	.doo-ph-app-page {
		background: #fff;
	}

	.doo-ph-app {
		display: flex;
		flex-direction: column;
		gap: 16px;
		max-width: none;
		padding: 0;
		margin: 0;
		--doo-ph-app-offset-y: 0;
	}

	.doo-ph-mobile-bar {
		display: flex;
		align-items: center;
		justify-content: space-between;
		gap: 12px;
		order: 1;
		position: sticky;
		top: 0;
		z-index: 40;
		width: 100%;
		box-sizing: border-box;
		padding: 16px;
		background: #fff;
		border: 0;
		border-bottom: 1px solid #e5e9ea;
		border-radius: 0;
		transition: transform 0.3s ease;
	}

	.doo-ph-mobile-bar.is-hidden {
		transform: translateY(-100%);
	}

	.doo-ph-mobile-bar__brand {
		flex: 1 1 auto;
		min-width: 0;
	}

	.doo-ph-mobile-bar__brand .doo-ph-brand {
		margin-bottom: 0;
	}
   
	.doo-ph-mobile-bar__toggle {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		flex: 0 0 32px;
		width: 32px;
		height: 32px;
		margin-left: auto;
		padding: 0;
		border: 0;
		border-radius: 8px;
		background: transparent;
		cursor: pointer;
	}

	.doo-ph-mobile-bar__toggle:hover {
		background: #f0f6fa;
	}

	.doo-ph-mobile-backdrop {
		display: block;
		position: fixed;
		inset: 0;
		z-index: 999;
		border: 0;
		padding: 0;
		background: rgba(29, 34, 36, 0.45);
		cursor: pointer;
	}

	.doo-ph-mobile-backdrop[hidden] {
		display: none;
	}

	.doo-ph-main {
		order: 2;
		position: static;
		height: auto;
		max-height: none;
		overflow: visible;
		width: 100%;
		box-sizing: border-box;
		padding: 16px;
		margin-top: -16px;
		border-radius: 0;
	}

	.doo-ph-content {
		overflow: visible;
	}

	/* Reserve space so the fixed actions bar never hides the content below it.
	   (The fixed positioning itself lives after the base rule — see below.) */
	.doo-ph-main:has(.doo-ph-account-footer.is-dirty) {
		padding-bottom: calc(96px + env(safe-area-inset-bottom, 0px));
	}

	.doo-ph-sidebar {
		position: fixed;
		inset: var(--doo-ph-admin-bar-h) 0 0;
		z-index: 1000;
		width: 85%;
		max-width: none;
		height: calc(100dvh - var(--doo-ph-admin-bar-h));
		max-height: calc(100dvh - var(--doo-ph-admin-bar-h));
		margin: 0;
		padding: 20px 16px 24px;
		border-radius: 0;
		border: 0;
		transform: translateX(-100%);
		transition: transform 0.25s ease;
		visibility: hidden;
	}

	.doo-ph-app.is-mobile-nav-open .doo-ph-sidebar {
		transform: translateX(0);
		visibility: visible;
	}

	body.doo-ph-mobile-nav-open {
		overflow: hidden;
	}

	.doo-ph-sidebar__mobile-top {
		display: flex;
		justify-content: flex-end;
		flex-shrink: 0;
		margin: -4px 0 16px;
	}

	.doo-ph-sidebar__mobile-close {
		display: inline-flex;
		align-items: center;
		gap: 8px;
		padding: 8px 4px;
		border: 0;
		background: transparent;
		color: #003e56;
		font-size: 16px;
		font-weight: 500;
		cursor: pointer;
	}

	.doo-ph-sidebar__mobile-close:hover {
		background: transparent;
		color: #003e56;
	}

	.doo-ph-sidebar__header {
		display: none;
	}

	.doo-ph-sidebar__collapse {
		display: none;
	}

	.doo-ph-sidebar__icon {
		display: none;
	}

	.doo-ph-sidebar__link {
		padding: 14px 16px;
		font-size: 16px;
		border-radius: 12px;
	}

	.doo-ph-sidebar__menu {
		gap: 8px;
	}

	.doo-ph-user-menu--desktop {
		display: none;
	}

	.doo-ph-user-menu--mobile {
		display: block;
		border: 1px solid #e5e9ea;
		border-radius: 8px;
		padding: 6px;
	}


	.doo-ph-user-menu__card {
		display: flex;
		align-items: center;
		gap: 12px;
		padding: 0;
		border: 0;
		border-radius: 0;
		background: #fff;
	}

	.doo-ph-user-menu__email--mobile {
		margin: 12px 0 8px;
		padding: 0 4px;
		font-size: 14px;
		color: #54585a;
		word-break: break-word;
	}

	.doo-ph-sidebar.is-collapsed .doo-ph-sidebar__label,
	.doo-ph-sidebar.is-collapsed .doo-ph-sidebar__link {
		position: static;
		width: auto;
		height: auto;
		max-width: none;
		margin: 0;
		overflow: visible;
		clip: auto;
		opacity: 1;
	}

	.doo-ph-sidebar.is-collapsed .doo-ph-sidebar__link {
		justify-content: flex-start;
		padding: 14px 16px;
	}

	.doo-ph-user-menu__actions--mobile {
		list-style: none;
		padding: 8px 0 0;
		margin: 0 0 4px;
		border-top: 1px solid #e5e9ea;
	}

	.doo-ph-sidebar__footer {
		border-top: 0;
		padding-top: 20px;
	}

	.doo-ph-support-btn {
		margin-top: 4px;
	}
}

/* Phase 4 — section UI */
.doo-ph-section {
	display: flex;
	flex-direction: column;
	gap: 20px;
}

.doo-ph-section--campaign-detail {
 	gap: 0;
}

.doo-ph-section--dashboard {
	gap: 32px;
}

.doo-ph-dashboard-banner {
	position: relative;
	padding: 32px;
	border-radius: 16px;
	background-color: #005991;
	color: #fff;
	overflow: hidden;
}

.doo-ph-dashboard-banner::after {
	content: '';
	position: absolute;
	top: 0;
	right: 0;
	width: min(42%, 320px);
	height: 100%;
	background-image: var(--doo-ph-banner-pattern);
	background-repeat: no-repeat;
	background-position: right center;
	background-size: auto 100%;
	pointer-events: none;
}

.doo-ph-dashboard-banner__title {
	position: relative;
	z-index: 1;
	margin: 0 0 16px;
	max-width: min(100%, 640px);
	color: #fff;
	font-family: Akkurat;
	font-size: clamp(24px, 2.5vw, 32px);
	font-weight: 400;
	line-height: 1.1;
	letter-spacing: -3%;
}

.doo-ph-dashboard-banner__text {
	position: relative;
	z-index: 1;
	margin: 0;
	max-width: min(100%, 614px);
	font-size: clamp(16px, 2.5vw, 18px);
                                          	line-height: 1.2;
	color: #F0F6FA;
	opacity: 0.8;
}

.doo-ph-panel {
	padding: 16px;
	border: 1px solid #d8e4ea;
	border-radius: 10px;
	background: #f8fbfd;
}

.doo-ph-panel h2,
.doo-ph-panel h3 {
	margin-top: 0;
	color: #0f4266;
}

.doo-ph-panel--danger {
	border-color: #f0c7c7;
	background: #fff8f8;
}

.doo-ph-grid {
	display: grid;
	gap: 16px;
}

.doo-ph-grid--downloads,
.doo-ph-grid--catalogs,
.doo-ph-grid--products,
.doo-ph-grid--brands,
.doo-ph-grid--campaigns {
	grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
}

@media (max-width: 567px) {
	.doo-ph-grid--catalogs {
		grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
	}
}

@media (max-width: 425px) {
	.doo-ph-grid--catalogs {
		grid-template-columns: repeat(auto-fill, minmax(163px, 1fr));
	}
}

.doo-ph-catalogs-title {
	font-family: Akkurat;
	font-size: clamp(20px, 2.5vw, 24px);
	font-weight: 400;
	line-height: 1.2;
	letter-spacing: -2%;
	color: #003E56;
	margin-bottom: -4px;
}

.doo-ph-card {
	display: flex;
	flex-direction: column;
	gap: 12px;
	padding: 16px;
	border: 1px solid #d8e4ea;
	border-radius: 10px;
	background: #fff;
}

.doo-ph-card__media img,
.doo-ph-logo-preview,
.doo-ph-brand-variant img {
	display: block;
	max-width: 100%;
	height: auto;
	border-radius: 8px;
}

.doo-ph-card__title {
	margin: 0;
	font-family: Akkurat;
	font-size: clamp(18px, 2.5vw, 20px);
	font-weight: 400;
	line-height: 1.2;
	letter-spacing: -2%;
	color: #003E56;
}

.doo-ph-card__meta {
	margin: 0;
	font-size: clamp(14px, 2.5vw, 16px);
	line-height: 1.4;
	color: #54585A;
}

.doo-ph-card__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

.doo-ph-card--catalog {
	border: none;
	padding: 0;
}

.doo-ph-card--catalog .doo-ph-card__media {
	border-radius: 16px;
	border: 1px solid #E5E9EA;
	overflow: hidden;
}

.doo-ph-card--catalog .doo-ph-card__body {
	padding: clamp(20px, 2.5vw, 24px) clamp(12px, 2.5vw, 16px) 0;
}

.doo-ph-card--catalog .doo-ph-card__actions {
	align-items: center;
	gap: 16px 24px;
	padding: clamp(16px, 2.5vw, 24px) clamp(12px, 2.5vw, 16px);
}

.doo-ph-card__link {
	color: inherit;
	text-decoration: none;
}

.doo-ph-card__select {
	margin-bottom: 4px;
}

.doo-ph-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 10px 16px;
	border: 0;
	border-radius: 8px;
	background: #005991;
	color: #fff;
	text-decoration: none;
	font-size: clamp(14px, 1.8vw, 16px);
	font-weight: 400;
	line-height: 1;
	cursor: pointer;
}

.doo-ph-btn:visited,
.doo-ph-btn:focus-visible {
	color: #fff;
}
.doo-ph-btn:hover {
	background: #003b5f;
	color: #fff;
}

.doo-ph-btn--secondary {
	background: #e9f2f8;
	color: #0f4266;
}

.doo-ph-btn--secondary:hover {
	background: #d8e4ea;
	color: #0f4266;
}

.doo-ph-btn--danger {
	background: #b42318;
}

.doo-ph-btn--danger:hover {
	background: #912018;
}

.doo-ph-quick-links {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
	gap: 12px;
}

.doo-ph-quick-link {
	display: block;
	padding: 14px 16px;
	border: 1px solid #d8e4ea;
	border-radius: 10px;
	background: #fff;
	color: #0f4266;
	text-decoration: none;
	font-weight: 600;
}

.doo-ph-quick-link:hover {
	background: #e9f2f8;
}

/* Dashboard */
.doo-ph-dashboard-section-title {
	margin: 0;
	font-size: 1.5rem;
	color: #003e56;
}

.doo-ph-dashboard-quick-access {
	display: flex;
	flex-direction: column;
	gap: 16px;
}

.doo-ph-quick-access-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 16px;
}

.doo-ph-quick-access-card {
	display: flex;
	flex-direction: column;
	gap: 24px;
	min-height: 100%;
	padding: 24px;
	border-radius: 16px;
	background: #F8F8F8;
	color: inherit;
	text-decoration: none;
}

.doo-ph-quick-access-card:hover .doo-ph-quick-access-card__cta {
	text-decoration: underline;
}

.doo-ph-quick-access-card__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 48px;
	height: 48px;
	border-radius: 50%;
	background: #005991;
}

.doo-ph-quick-access-card__icon img {
	display: block;
	width: 24px;
	height: 24px;
	filter: brightness(0) invert(1);
}

.doo-ph-quick-access-card__title {
	margin: 0;
	font-family: Akkurat, sans-serif;
	font-size: clamp(18px, 2.5vw, 20px);
	font-weight: 400;
	line-height: 1.2;
	letter-spacing: -2%;
	color: #003e56;
}

.doo-ph-quick-access-card__description {
	margin: 0;
	flex: 1;
	color: #54585a;
	font-size: clamp(14px, 2.5vw, 16px);
	line-height: 1.4;
}

.doo-ph-quick-access-card__cta {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	margin-top: auto;
	color: #005991;
	font-weight: 400;
	font-size: 14px;
	line-height: 1.4;
}

.doo-ph-dashboard-bottom {
	display: grid;
	gap: 24px;
}

.doo-ph-dashboard-bottom--with-aside {
	grid-template-columns: minmax(0, 1fr) minmax(260px, 320px);
	align-items: start;
}

.doo-ph-dashboard-aside {
	display: grid;
	gap: 24px;
	align-items: start;
}

.doo-ph-dashboard-faqs {
	display: grid;
	grid-template-columns: minmax(200px, 280px) minmax(0, 1fr);
	gap: 24px 32px;
	align-items: start;
}

.doo-ph-dashboard-faqs--compact {
	grid-template-columns: 1fr;
	gap: 16px;
}

.doo-ph-dashboard-faqs--compact .doo-ph-dashboard-faqs__intro {
	gap: 0;
}

.doo-ph-dashboard-faqs__intro {
	display: flex;
	flex-direction: column;
	gap: 24px;
}

.doo-ph-dashboard-faqs__intro-header {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
}

.doo-ph-dashboard-faqs__all-link {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	color: #005991;
	text-decoration: none;
	white-space: nowrap;
}

.doo-ph-dashboard-faqs__all-link:hover {
	color: #005991;
	text-decoration: underline;
} 

.doo-ph-dashboard-faqs__all-link--desktop {
	display: none;
}

@media (min-width: 768px) {
	.doo-ph-dashboard-faqs:not(.doo-ph-dashboard-faqs--compact) .doo-ph-dashboard-faqs__all-link--mobile {
		display: none;
	}

	.doo-ph-dashboard-faqs__all-link--desktop {
		display: inline-flex;
	}
}

.doo-ph-dashboard-faqs__description {
	margin: 0;
	color: #54585a;
	font-size: 0.9375rem;
	line-height: 1.5;
}

.doo-ph-dashboard-faqs__content {
	min-width: 0;
}

.doo-ph-dashboard-faqs-block,
.doo-ph-dashboard-faqs-block .faqs-wrap,
.doo-ph-dashboard-faqs-block .faqs-content-title,
.doo-ph-dashboard-faqs-block .content {
	width: 100%;
}

.doo-ph-dashboard-faqs-block .faqs-content-title {
	margin: 0;
}

.doo-ph-dashboard-marketing {
	display: flex;
	flex-direction: column;
	gap: 12px;
	padding: 24px;
	border-radius: 12px;
	background: #eef6fb;
}

.doo-ph-dashboard-marketing__title {
	margin: 0;
	font-size: 1.125rem;
	color: #003e56;
}

.doo-ph-dashboard-marketing__description {
	margin: 0;
	color: #54585a;
	font-size: 0.9375rem;
	line-height: 1.5;
}

.doo-ph-dashboard-marketing__button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
	width: fit-content;
	min-height: 48px;
	margin-top: 4px;
	padding: 8px 24px;
	border: 2px solid #005991;
	border-radius: 8px;
	background: #005991;
	color: #ffffff;
	font-family: inherit;
	font-weight: 400;
	line-height: 1.2;
	font-size: 16px;
	text-align: center;
	cursor: pointer;
}

.doo-ph-app .doo-ph-dashboard-marketing__button:is(:hover, :focus-visible, :active) {
	background: #003e56;
	border-color: #003e56;
	color: #ffffff;
}

.doo-ph-dashboard-logo-card {
	display: flex;
	flex-direction: column;
	gap: 12px;
	padding: 24px;
	border-radius: 12px;
	background: #eef6fb;
}

.doo-ph-dashboard-logo-card__title {
	margin: 0;
	font-size: 1.125rem;
	color: #003e56;
}

.doo-ph-dashboard-logo-card__description {
	margin: 0;
	color: #54585a;
	font-size: 0.9375rem;
	line-height: 1.5;
}

.doo-ph-dashboard-logo-card__form {
	margin: 0;
}

.doo-ph-dashboard-logo-card__upload {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
	width: fit-content;
	height: 48px;
	padding: 8px 16px;
	border: 2px solid #005991;
	border-radius: 8px;
	background: transparent;
	color: #005991;
	font-weight: 400;
	line-height: 1;
	letter-spacing: -3%;
	font-size: 16px;
	cursor: pointer;
}

.doo-ph-dashboard-logo-card__upload:hover {
	background: rgba(0, 62, 86, 0.06);
}

.doo-ph-dashboard-logo-card__upload input[type="file"] {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

.doo-ph-filters {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	align-items: flex-end;
	padding: 16px;
	border: 1px solid #d8e4ea;
	border-radius: 10px;
	background: #f8fbfd;
}

.doo-ph-filters label {
	display: flex;
	flex-direction: column;
	gap: 6px;
	font-size: 0.875rem;
	color: #123c59;
}

.doo-ph-filters input,
.doo-ph-filters select,
.doo-ph-form input,
.doo-ph-form textarea {
	width: 100%;
	max-width: 320px;
	padding: 10px 12px;
	border: 1px solid #d8e4ea;
	border-radius: 8px;
}

@media (max-width: 900px) {
	.doo-ph-filters input,
	.doo-ph-filters select,
	.doo-ph-form input,
	.doo-ph-form textarea {
		max-width: 100%;
	}
}

.doo-ph-section--technical-documents .filters-items-wrapper.download,
.doo-ph-technical-documents .filters-items-wrapper.download {
	width: 100%;
	min-width: 0;
	overflow: visible;
}

.doo-ph-section--technical-documents .items-grid,
.doo-ph-technical-documents .items-grid {
	min-width: 0;
}

.doo-ph-app .doo-ph-technical-documents .item.download.line,
.doo-ph-app .doo-ph-section--technical-documents .item.download.line {
	min-width: 0;
	container-type: inline-size;
	container-name: download-line;
}

.doo-ph-app .doo-ph-technical-documents .item.download.line .link,
.doo-ph-app .doo-ph-section--technical-documents .item.download.line .link {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, min(250px, 38%));
	column-gap: 16px;
	row-gap: 8px;
	align-items: start;
}

.doo-ph-app .doo-ph-technical-documents .item.download.line .left,
.doo-ph-app .doo-ph-section--technical-documents .item.download.line .left {
	grid-column: 1;
	grid-row: 1;
	display: flex;
	align-items: flex-start;
	gap: 16px;
	min-width: 0;
	max-width: 100%;
}

.doo-ph-app .doo-ph-technical-documents .item.download.line .title,
.doo-ph-app .doo-ph-section--technical-documents .item.download.line .title {
	flex: 1 1 auto;
	min-width: 0;
	max-width: 100%;
	white-space: normal !important;
	overflow: visible !important;
	text-overflow: unset !important;
	overflow-wrap: anywhere;
	word-break: break-word;
	hyphens: auto;
}

.doo-ph-app .doo-ph-technical-documents .item.download.line .right,
.doo-ph-app .doo-ph-section--technical-documents .item.download.line .right {
	grid-column: 2;
	grid-row: 1;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: flex-end;
	justify-self: end;
	align-self: start;
	gap: 8px;
	max-width: 100%;
	margin-left: 0;
}

.doo-ph-app .doo-ph-technical-documents .item-container-check,
.doo-ph-app .doo-ph-section--technical-documents .item-container-check {
	align-items: flex-start;
	min-width: 0;
}

.doo-ph-app .doo-ph-technical-documents .item-container-check .item.download.line,
.doo-ph-app .doo-ph-section--technical-documents .item-container-check .item.download.line {
	flex: 1 1 auto;
	min-width: 0;
}

@container download-line (max-width: 34rem) {
	.doo-ph-app .doo-ph-technical-documents .item.download.line .link,
	.doo-ph-app .doo-ph-section--technical-documents .item.download.line .link {
		grid-template-columns: minmax(0, 1fr);
	}

	.doo-ph-app .doo-ph-technical-documents .item.download.line .right,
	.doo-ph-app .doo-ph-section--technical-documents .item.download.line .right {
		grid-column: 1;
		grid-row: 2;
		justify-self: end;
		width: 100%;
	}
}

/* Technical documents: mobile filters + list layout below 1200px (hub has narrow list column). */
@media (max-width: 1199px) {
	.doo-ph-app:has(.doo-ph-section--technical-documents .filters-content.active, .doo-ph-technical-documents .filters-content.active) .doo-ph-main {
		position: relative;
		z-index: 100011;
	}

	.doo-ph-app .doo-ph-section--technical-documents .filters-items-wrapper.download,
	.doo-ph-app .doo-ph-technical-documents .filters-items-wrapper.download {
		grid-template-columns: 1fr;
		grid-gap: 0;
	}

	.doo-ph-app .doo-ph-section--technical-documents .filters-items-wrapper.download .filter-btn,
	.doo-ph-app .doo-ph-technical-documents .filters-items-wrapper.download .filter-btn {
		display: flex;
		gap: 8px;
		align-items: center;
		color: #005991;
		cursor: pointer;
		border: 2px solid #005991;
		padding: 8px 16px;
		height: 40px;
		border-radius: 8px;
		position: relative;
	}

	.doo-ph-app .doo-ph-section--technical-documents .filters-items-wrapper.download .filter-btn .num[data-filters="0"],
	.doo-ph-app .doo-ph-technical-documents .filters-items-wrapper.download .filter-btn .num[data-filters="0"] {
		display: none;
	}

	.doo-ph-app .doo-ph-section--technical-documents .filters-items-wrapper.download > .filters,
	.doo-ph-app .doo-ph-technical-documents .filters-items-wrapper.download > .filters {
		position: relative;
		grid-row: 1;
		display: flex;
		align-items: center;
		gap: 8px;
		border-top: 0;
		border-bottom: 0;
		padding: 8px 0;
	}

	.doo-ph-app .doo-ph-section--technical-documents .filters-items-wrapper.download .filter-search,
	.doo-ph-app .doo-ph-technical-documents .filters-items-wrapper.download .filter-search {
		width: 100%;
		margin-bottom: 0;
		border-bottom: 0;
		padding-bottom: 0;
	}

	.doo-ph-app .doo-ph-section--technical-documents .filters-items-wrapper.download .filter-search .filter-search-input,
	.doo-ph-app .doo-ph-technical-documents .filters-items-wrapper.download .filter-search .filter-search-input {
		width: 100%;
	}

	.doo-ph-app .doo-ph-section--technical-documents .filters-items-wrapper.download .filter-search input,
	.doo-ph-app .doo-ph-technical-documents .filters-items-wrapper.download .filter-search input {
		height: 40px;
	}

	.doo-ph-app .doo-ph-section--technical-documents .filters-items-wrapper.download .filter-search .wp-block-button,
	.doo-ph-app .doo-ph-technical-documents .filters-items-wrapper.download .filter-search .wp-block-button {
		display: none;
	}

	.doo-ph-app .doo-ph-section--technical-documents .filters-items-wrapper.download .filters-content,
	.doo-ph-app .doo-ph-technical-documents .filters-items-wrapper.download .filters-content {
		position: fixed;
		bottom: -100%;
		left: 0;
		width: 100%;
		height: calc(100% - 65px);
		background: #fff;
		border-radius: 16px 16px 0 0;
		padding: 20px;
		transition: bottom 0.5s ease-in-out;
		z-index: 100010;
	}

	.doo-ph-app .doo-ph-section--technical-documents .filters-items-wrapper.download .filters-content.active,
	.doo-ph-app .doo-ph-technical-documents .filters-items-wrapper.download .filters-content.active {
		bottom: 0;
	}

	.doo-ph-app .doo-ph-section--technical-documents .filters-items-wrapper.download .filters-overlay,
	.doo-ph-app .doo-ph-technical-documents .filters-items-wrapper.download .filters-overlay {
		position: fixed;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		background: rgba(29, 34, 36, 0.5);
		display: none;
		z-index: 100009;
	}

	.doo-ph-app .doo-ph-section--technical-documents .filters-items-wrapper.download .filters-overlay.active,
	.doo-ph-app .doo-ph-technical-documents .filters-items-wrapper.download .filters-overlay.active,
	.doo-ph-app .doo-ph-section--technical-documents .filters-items-wrapper.download .filters-content.active .filters-overlay,
	.doo-ph-app .doo-ph-technical-documents .filters-items-wrapper.download .filters-content.active .filters-overlay {
		display: block;
	}

	.doo-ph-app .doo-ph-section--technical-documents .filters-items-wrapper.download .filters-inn,
	.doo-ph-app .doo-ph-technical-documents .filters-items-wrapper.download .filters-inn {
		overflow-y: auto;
		padding-bottom: 56px;
		height: calc(100vh - 148px);
		margin-top: 16px;
	}

	.doo-ph-app .doo-ph-section--technical-documents .filters-items-wrapper.download .filters-inn-content,
	.doo-ph-app .doo-ph-technical-documents .filters-items-wrapper.download .filters-inn-content {
		height: max-content;
		margin-bottom: 48px;
	}

	.doo-ph-app .doo-ph-section--technical-documents .filters-items-wrapper.download .filter-submit,
	.doo-ph-app .doo-ph-technical-documents .filters-items-wrapper.download .filter-submit {
		position: absolute;
		bottom: 0;
		display: flex;
		gap: 8px;
		padding: 32px 0 16px;
		width: calc(100vw - 48px);
		border-top: 1px solid #e5e9ea;
		background: #fff;
	}

	.doo-ph-app .doo-ph-section--technical-documents .filters-items-wrapper.download .items-grid,
	.doo-ph-app .doo-ph-technical-documents .filters-items-wrapper.download .items-grid {
		grid-row: 3;
		grid-column: 1;
	}

	.doo-ph-app .doo-ph-section--technical-documents .filters-items-wrapper.download .total-sort,
	.doo-ph-app .doo-ph-technical-documents .filters-items-wrapper.download .total-sort {
		display: flex;
		justify-content: space-between;
		align-items: center;
		padding-right: 0;
		grid-column: 1;
	}

	.doo-ph-app .doo-ph-section--technical-documents .filters-items-wrapper.download .total-sort .total,
	.doo-ph-app .doo-ph-technical-documents .filters-items-wrapper.download .total-sort .total {
		margin-bottom: 6px;
	}

	.doo-ph-app .doo-ph-section--technical-documents .filters-items-wrapper.download .sort-filter-desktop,
	.doo-ph-app .doo-ph-technical-documents .filters-items-wrapper.download .sort-filter-desktop {
		display: none;
	}

	.doo-ph-app .doo-ph-section--technical-documents .filters-items-wrapper.download .sort-filter-mobile,
	.doo-ph-app .doo-ph-technical-documents .filters-items-wrapper.download .sort-filter-mobile {
		display: block;
	}

	.doo-ph-app .doo-ph-section--technical-documents .download.line .sep,
	.doo-ph-app .doo-ph-section--technical-documents .download.line .category,
	.doo-ph-app .doo-ph-technical-documents .download.line .sep,
	.doo-ph-app .doo-ph-technical-documents .download.line .category {
		display: none;
	}

	.doo-ph-app .doo-ph-section--technical-documents .item.download.line .link,
	.doo-ph-app .doo-ph-technical-documents .item.download.line .link {
		grid-template-columns: minmax(0, 1fr);
	}

	.doo-ph-app .doo-ph-section--technical-documents .item.download.line .right,
	.doo-ph-app .doo-ph-technical-documents .item.download.line .right {
		grid-column: 1;
		grid-row: 2;
		justify-self: end;
		width: 100%;
	}

	.doo-ph-app .doo-ph-section--technical-documents .item.download.line .left,
	.doo-ph-app .doo-ph-technical-documents .item.download.line .left {
		align-items: flex-start;
		color: #003e56;
	}

	.doo-ph-app .doo-ph-section--technical-documents .total-sort .selected > span,
	.doo-ph-app .doo-ph-technical-documents .total-sort .selected > span {
		padding-left: 16px;
	}
}

.doo-ph-section--support-contact {
	width: 100%;
}

.doo-ph-section--support-faqs .faqs-wrap,
.doo-ph-section--support-faqs .faqs-content {
	width: 100%;
}

.doo-ph-support-faqs .faqs-content .left-menu-container {
	border-right: 1px solid #e5e9ea;
	padding-right: clamp(16px, 2vw, 24px);
}

.doo-ph-support-faqs .faq-cat-sidebar-heading {
	margin: 0 0 16px;
	padding: 0;
	font-size: 14px;
	line-height: 1.4;
	text-transform: uppercase;
	color: #54585a;
}

.doo-ph-support-faqs .left-menu-content .left-menu {
	padding-top: 0;
}

.doo-ph-support-faqs .left-menu-content .left-menu .faq-cat-list {
	display: flex;
	flex-direction: column;
	gap: 8px;
}

@media (max-width: 800px) {
	.doo-ph-support-faqs .faqs-content .left-menu-container {
		border-right: 0;
		padding-right: 0;
		margin-right: 0;
	}

	.doo-ph-support-faqs .faq-cat-sidebar-heading {
		display: none;
	}
}

.doo-ph-section.doo-ph-tabs {
	gap: clamp(16px, 2.5vw, 32px);
}

.doo-ph-tabs__list {
	display: flex;
	flex-wrap: nowrap;
	gap: 8px;
	margin-bottom: 16px;
	overflow-x: auto;
	overflow-y: hidden;
	-webkit-overflow-scrolling: touch;
	scrollbar-width: none;
}

.doo-ph-tabs__list::-webkit-scrollbar {
	display: none;
}

.doo-ph-tabs__tab {
	flex: 0 0 auto;
	white-space: nowrap;
	padding: 10px 14px;
	border: 1px solid #d8e4ea;
	border-radius: 999px;
	background: #fff;
	color: #123c59;
	cursor: pointer;
}

.doo-ph-tabs__tab.is-active {
	background: #005991;
	border-color: #005991;
	color: #fff;
}

.doo-ph-tabs--underline .doo-ph-tabs__list {
	gap: 8px;
	margin-bottom: 0;
}

.doo-ph-tabs--underline .doo-ph-tabs__tab {
	padding: 16px;
	background: transparent;
	color: #54585a;
	font-size: 20px;
	font-family: Akkurat;
	font-weight: 400;
	line-height: 1.2;
	letter-spacing: -2%;
	cursor: pointer;
	border: 0;
	border-bottom: 2px solid transparent;
	border-radius: 0;
}

.doo-ph-tabs--underline .doo-ph-tabs__tab.is-active {
	color: #003e56;
	border-bottom-color: #003e56;
}

.doo-ph-pagination ul {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	list-style: none;
	padding: 0;
	margin: 0;
}

.doo-ph-pagination a {
	display: inline-block;
	padding: 8px 12px;
	border: 1px solid #d8e4ea;
	border-radius: 8px;
	text-decoration: none;
	color: #123c59;
}

.doo-ph-pagination a.is-current {
	background: #005991;
	border-color: #005991;
	color: #fff;
}

.doo-ph-empty,
.doo-ph-notice {
	padding: 16px;
	border-radius: 10px;
}

.doo-ph-empty {
	background: #eef6fb;
	border: 1px solid #d8e4ea;
}

.doo-ph-notice {
	background: #eef6fb;
	border: 1px solid #b8d4e8;
}

.doo-ph-notice--success {
	background: #edf7ed;
	border-color: #b7dfb9;
}

.doo-ph-notice--error {
	background: #fdecec;
	border-color: #f5c2c2;
}

.doo-ph-docs-toolbar {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	align-items: center;
	justify-content: space-between;
}

.doo-ph-docs-zip-note {
	margin: 0;
	color: #5a7384;
	font-size: 0.875rem;
}

.doo-ph-modal {
	position: fixed;
	inset: 0;
	z-index: 100000;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 20px;
}

.doo-ph-modal[hidden] {
	display: none;
}

.doo-ph-modal__backdrop {
	position: absolute;
	inset: 0;
	background: rgba(0, 0, 0, 0.3);
}

.doo-ph-modal__dialog {
	position: relative;
	width: min(100%, 560px);
	max-height: calc(100vh - 40px);
	overflow: auto;
	padding: 24px;
	border-radius: 12px;
	background: #fff;
}

.doo-ph-modal__close {
	position: absolute;
	top: 12px;
	right: 12px;
	border: 0;
	background: transparent;
	font-size: 1.5rem;
	cursor: pointer;
}

.doo-ph-form-feedback.is-success {
	color: #1e6b32;
}

.doo-ph-form-feedback.is-error {
	color: #8a1f1f;
}

.doo-ph-form--logo-remove {
	margin-top: 12px;
}

.doo-ph-logos {
	display: flex;
	flex-direction: column;
	gap: 40px;
}

.doo-ph-logo-category__title {
	margin: 0 0 24px;
	font-size: 24px;
	font-weight: 400;
	line-height: 1.1;
	letter-spacing: -3%;
	color: #003E56;
}

.doo-ph-logo-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 24px 20px;
}

.doo-ph-logo-card {
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.doo-ph-logo-card__media {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 148px;
	border-radius: 16px;
	background: #F8F8F8;
}

.doo-ph-logo-card__image {
	display: block;
	width: auto;
	max-width: 100%;
	height: auto;
	max-height: 148px;
	object-fit: contain;
}

.doo-ph-logo-card__description {
	margin: 24px clamp(12px, 2.5vw, 16px) 8px;
	font-size: 20px;
	font-weight: 400;
	line-height: 1.2;
	letter-spacing: -2%;
	color: #003E56 ;
}

.doo-ph-logo-card__download {
	position: relative;
	margin-left: clamp(12px, 2.5vw, 16px);
}

.doo-ph-logo-card__download-toggle {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 0 0 10px 0;
	border: 0;
	background: transparent;
	color: #005991;
	font-size: 14px;
	font-weight: 400;
	line-height: 1.4;
	list-style: none;
	cursor: pointer;
}

.doo-ph-logo-card__download-toggle:hover,
.doo-ph-logo-card__download-toggle:focus-visible {
	color: #005991;
	text-decoration: underline;
}

.doo-ph-logo-card__chevron {
	display: block;
	flex-shrink: 0;
	width: 20px;
	height: 20px;
	transition: transform 0.15s ease;
}

.doo-ph-logo-card__download.is-open .doo-ph-logo-card__download-toggle {
	background: transparent;
}

.doo-ph-logo-card__download.is-open .doo-ph-logo-card__chevron {
	transform: rotate(180deg);
}

.doo-ph-logo-card__download-menu {
	position: absolute;
	z-index: 5;
	top: 100%;
	left: 0;
	min-width: 160px;
	margin: 0;
	padding: 8px;
	border-radius: 4px;
	background: #fff;
	box-shadow: 2px 4px 16px 0px #003E5633;
	list-style: none;
	visibility: hidden;
	opacity: 0;
	pointer-events: none;
	transition: opacity 0.15s ease, visibility 0.15s ease;
}

.doo-ph-logo-card__download-menu::before {
	content: '';
	position: absolute;
	top: 0;
	right: 0;
	left: 0;
	height: 16px;
	transform: translateY(-100%);
}

.doo-ph-logo-card__download.is-open .doo-ph-logo-card__download-menu {
	visibility: visible;
	opacity: 1;
	pointer-events: auto;
}

.doo-ph-logo-card__download-link {
	display: block;
	padding: 10px 16px;
	color: #1d2224; 
	text-decoration: none;
	font-size: 16px;
	border-radius: 4px;
}

.doo-ph-logo-card__download-link:hover,
.doo-ph-logo-card__download-link:focus-visible {
	background: #F0F6FA ;
	color: #005991;
}

.doo-ph-guidelines-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 24px 20px;
}

.doo-ph-about-avire {
	display: flex;
	flex-direction: column;
	gap: 16px;
	padding: 24px;
	background: #F8F8F8;
	border-radius: 16px;
}

.doo-ph-about-avire__header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
}

.doo-ph-about-avire__title {
	margin: 0;
	color: #00253E;
	font-family: Akkurat, sans-serif;
	font-size: clamp(18px, 2.2vw, 20px);
	line-height: 1.2;
	letter-spacing: -2%;
}

.doo-ph-about-avire__copy {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin: 0;
	padding: 0;
	border: 0;
	background: transparent;
	color: #005991;
	font-size: 14px;
	line-height: 1.4;
	text-decoration: none;
	cursor: pointer;
	flex-shrink: 0;
}

.doo-ph-about-avire__copy:hover,
.doo-ph-about-avire__copy:focus-visible {
	text-decoration: underline;
	background: transparent;
	color: #005991;
}

.doo-ph-about-avire__copy-icon {
	display: block;
	flex-shrink: 0;
}

.doo-ph-about-avire__body {
	padding: clamp(16px, 3vw, 24px);
	border-radius: 16px;
	background: #FFFFFF;
	color: #42474E;
	font-size: 14px;
	line-height: 1.4;
}

.doo-ph-about-avire__body > *:first-child {
	margin-top: 0;
}

.doo-ph-about-avire__body > *:last-child {
	margin-bottom: 0;
}

.doo-ph-about-avire__body p {
	margin: 0 0 16px;
}

.doo-ph-about-avire__body ul,
.doo-ph-about-avire__body ol {
	margin: 0 0 16px;
	padding-left: 20px;
}

.doo-ph-about-avire__body li + li {
	margin-top: 8px;
}

.doo-ph-guideline-card {
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.doo-ph-guideline-card__media {
	display: flex;
	align-items: center;
	justify-content: center;
	overflow: hidden;
	min-height: clamp(148px, 22vw, 220px);
	border-radius: 16px;
	background: #F8F8F8;
}

.doo-ph-guideline-card__image {
	display: block;
	width: 100%;
	height: 100%;
	min-height: clamp(148px, 22vw, 220px);
	object-fit: cover;
}

.doo-ph-guideline-card__body {
	margin: 0 clamp(12px, 2.5vw, 16px);
}

.doo-ph-guideline-card__title {
	margin: 12px 0 0;
	font-family: Akkurat, sans-serif;
	font-size: clamp(18px, 2.2vw, 20px);
	font-weight: 400;
	line-height: 1.2;
	letter-spacing: -0.02em;
	color: #003E56;
}

.doo-ph-guideline-card__description {
	margin: 8px 0 0;
	font-size: clamp(14px, 1.6vw, 16px);
	font-weight: 400;
	line-height: 1.4;
	color: #54585A ;
}

.doo-ph-guideline-card__actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 16px 24px;
	margin: 0 0 8px clamp(12px, 2.5vw, 16px);
}

.doo-ph-guideline-card__action {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 0;
	border: 0;
	background: transparent;
	color: #005991;
	font-size: 14px;
	font-weight: 400;
	line-height: 1.4;
	text-decoration: none;
	cursor: pointer;
}

.doo-ph-guideline-card__action:hover,
.doo-ph-guideline-card__action:focus-visible {
	color: #005991;
	text-decoration: underline;
}

.doo-ph-guideline-card__action-icon {
	display: block;
	flex-shrink: 0;
	width: 20px;
	height: 20px;
}

/* Campaigns & Marketing */
.doo-ph-campaigns-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 24px 20px;
}

.doo-ph-campaign-card {
	display: flex;
	flex-direction: column;
	min-height: 100%;
	border-radius: 16px;
	background: #F8F8F8;
}

.doo-ph-campaign-card__body {
	display: flex;
	flex: 1;
	flex-direction: column;
	padding: clamp(16px, 3vw, 24px);
}

.doo-ph-campaign-card__title {
	margin: 0;
	font-family: Akkurat, sans-serif;
	font-size: clamp(18px, 2.2vw, 20px);
	font-weight: 400;
	line-height: 1.2;
	letter-spacing: -2%;
	color: #003E56;
	height: 48px;
	max-height: 48px;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: normal;
	line-clamp: 2;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	display: -webkit-box;
}

.doo-ph-campaign-card__description {
	margin: 12px 0 0;
	flex: 1;
	font-size: clamp(14px, 1.6vw, 16px);
	font-weight: 400;
	line-height: 1.4;
	color: #54585A;
}

.doo-ph-campaign-card__link-wrap {
	margin: 20px 0 0;
}

.doo-ph-campaign-card__link {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	color: #005991;
	font-size: 14px;
	font-weight: 400;
	line-height: 1.4;
	text-decoration: none;
}

.doo-ph-campaign-card__link:hover,
.doo-ph-campaign-card__link:focus-visible {
	color: #005991;
	text-decoration: underline;
}

.doo-ph-campaign-header__back {
	margin: 0 0 16px;
}

.doo-ph-campaign-header__back-link {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	color: #005991;
	font-size: 14px;
	text-decoration: none;
}

.doo-ph-campaign-header__back-link:hover,
.doo-ph-campaign-header__back-link:focus-visible {
	color: #005991;
	text-decoration: underline;
}

.doo-ph-campaign-header__back-icon {
	display: block;
	transform: rotate(180deg);
}

.doo-ph-campaign-header__row {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	justify-content: space-between;
	gap: 24px;
	margin-bottom: 32px;
}

.doo-ph-campaign-header__title {
	margin: 0;
	font-size: clamp(24px, 2.5vw, 32px);
	line-height: 1.1;
	letter-spacing: -3%;
	color: #003E56;
	font-family: Arial, var(--wp--preset--font-family--roboto-flex);
}

.doo-ph-campaign-header__description {
	margin: 16px 0 0;
	max-width: 720px;
	font-size: clamp(14px, 1.6vw, 16px);
	line-height: 1.4;
	color: #54585A;
}

.doo-ph-campaign-header__actions {
	position: relative;
	display: flex;
	align-items: center;
	gap: 12px;
	margin: 0;
}

.doo-ph-campaign-header__download-all {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	padding: 12px 20px;
	border-radius: 8px;
	background: #005991;
	color: #ffffff;
	font-size: 14px;
	font-weight: 400;
	line-height: 1.4;
	text-decoration: none;
	white-space: nowrap;
}

.doo-ph-campaign-header__download-all:hover,
.doo-ph-campaign-header__download-all:focus-visible {
	background: #003E56;
	color: #ffffff;
}

.doo-ph-campaign-header__tooltip {
	position: absolute;
	top: calc(100% + 12px);
	left: 50%;
	z-index: 3;
	width: min(176px, calc(100vw - 48px));
	padding: 8px 16px;
	border-radius: 4px;
	background: #1D2224;
	color: #ffffff;
	font-size: 14px;
	line-height: 1.4;
	text-align: left;
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transform: translateX(-50%) translateY(-4px);
	transition: opacity 0.2s ease, transform 0.2s ease, visibility 0.2s ease;
}

.doo-ph-campaign-header__tooltip::before {
	content: "";
	position: absolute;
	left: 50%;
	bottom: 100%;
	width: 0;
	height: 0;
	border-left: 10px solid transparent;
	border-right: 10px solid transparent;
	border-bottom: 10px solid #1F2A33;
	transform: translateX(-50%);
}

.doo-ph-campaign-header__actions:hover .doo-ph-campaign-header__tooltip,
.doo-ph-campaign-header__download-all:focus-visible + .doo-ph-campaign-header__tooltip {
	opacity: 1;
	visibility: visible;
	transform: translateX(-50%) translateY(0);
}

.doo-ph-campaign-header__info-mobile {
	display: none;
	position: relative;
	margin: 0;
	padding: 0;
}

.doo-ph-campaign-header__info-summary {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 20px;
	height: 20px;
	margin: 0;
	padding: 0;
	border: 0;
	background: transparent;
	line-height: 1;
	cursor: pointer;
	list-style: none;
}

.doo-ph-campaign-header__info-summary::marker {
	content: "";
}

.doo-ph-campaign-header__info-summary::-webkit-details-marker {
	display: none;
}

.doo-ph-campaign-header__tooltip-mobile {
	display: block;
	position: absolute;
	top: calc(100% + 16px);
	right: -15px;
	z-index: 3;
	width: min(176px, calc(100vw - 48px));
	padding: 8px 16px;
	border-radius: 4px;
	background: #1D2224;
	color: #ffffff;
	font-size: 14px;
	line-height: 1.4;
	text-align: left;
}

.doo-ph-campaign-header__tooltip-mobile::before {
	content: "";
	position: absolute;
	right: 16px;
	bottom: 100%;
	width: 0;
	height: 0;
	border-left: 10px solid transparent;
	border-right: 10px solid transparent;
	border-bottom: 10px solid #1F2A33;
}

.doo-ph-campaign-tabs__list {
	gap: 24px;
	margin: 0 0 24px;
}

@media (max-width: 768px) {
	.doo-ph-campaign-tabs__list {
		margin: 0 -16px 16px;
		padding: 0 16px;
	}
}

.doo-ph-campaign-tabs .doo-ph-tabs__tab,
.doo-ph-campaign-tabs__tab {
	position: relative;
	margin: 0;
	border: 0;
	border-radius: 0;
	background: transparent;
	color: #54585A;
	font-family: Akkurat;
	font-size: clamp(18px, 1.6vw, 20px);
	font-weight: 400;
	line-height: 1.4;
	cursor: pointer;
}

.doo-ph-campaign-tabs .doo-ph-tabs__tab:hover,
.doo-ph-campaign-tabs__tab:hover,
.doo-ph-campaign-tabs .doo-ph-tabs__tab:focus-visible,
.doo-ph-campaign-tabs__tab:focus-visible {
	background: transparent;
	border-color: transparent;
	color: #003E56;
}

.doo-ph-campaign-tabs .doo-ph-tabs__tab.is-active,
.doo-ph-campaign-tabs__tab.is-active {
	background: transparent;
	border-color: transparent;
	color: #003E56;
}

.doo-ph-campaign-tabs .doo-ph-tabs__tab.is-active::after,
.doo-ph-campaign-tabs__tab.is-active::after {
	content: '';
	position: absolute;
	right: 0;
	bottom: -1px;
	left: 0;
	height: 3px;
	background: #005991;
}

.doo-ph-campaign-email-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 24px 20px;
}

.doo-ph-campaign-email-card {
	display: flex;
	flex-direction: column;
	padding: clamp(16px, 3vw, 24px) clamp(16px, 3vw, 24px) clamp(6px, 3vw, 14px);
	border-radius: 16px;
	background: #F8F8F8;
}

.doo-ph-campaign-email-card__title {
	margin: 0;
	font-size: clamp(18px, 2.2vw, 20px);
	font-weight: 400;
	color: #003E56;
}

.doo-ph-campaign-email-card__description {
	margin: 12px 0 0;
	flex: 1;
	font-size: clamp(14px, 1.6vw, 16px);
	line-height: 1.4;
	color: #54585A;
}

.doo-ph-campaign-email-card__actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 16px 24px;
	margin-top: 20px;
}

.doo-ph-campaign-email-card__download {
	position: relative;
}

.doo-ph-campaign-email-card__download-toggle {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 0 0 10px 0;
	border: 0;
	background: transparent;
	color: #005991;
	font-size: 14px;
	line-height: 1.2;
	list-style: none;
	cursor: pointer;
}

.doo-ph-campaign-email-card__download-toggle:hover,
.doo-ph-campaign-email-card__download-toggle:focus-visible {
	color: #005991;
	text-decoration: underline;
	background: transparent;
}

.doo-ph-campaign-email-card__chevron {
	display: block;
	width: 20px;
	height: 20px;
	transition: transform 0.15s ease;
}

.doo-ph-campaign-email-card__download.is-open .doo-ph-campaign-email-card__chevron {
	transform: rotate(180deg);
}

.doo-ph-campaign-email-card__download-menu {
	position: absolute;
	z-index: 5;
	top: 100%;
	left: 0;
	min-width: 80px;
	margin: 0;
	padding: 8px;
	border-radius: 4px;
	background: #fff;
	box-shadow: 2px 4px 16px 0px #003E5633;
	list-style: none;
	visibility: hidden;
	opacity: 0;
	pointer-events: none;
	transition: opacity 0.15s ease, visibility 0.15s ease;
}

.doo-ph-campaign-email-card__download.is-open .doo-ph-campaign-email-card__download-menu {
	visibility: visible;
	opacity: 1 ;
	pointer-events: auto;
}

.doo-ph-campaign-email-card__download-link {
	display: block;
	padding: 10px 16px;
	color: #1d2224;
	text-decoration: none;
	font-size: 14px;
}

.doo-ph-campaign-email-card__download-link:hover,
.doo-ph-campaign-email-card__download-link:focus-visible {
	background: #F0F6FA;
}


.doo-ph-campaign-email-card__copy {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 0 0 10px 0;
	border: 0;
	background: transparent;
	color: #005991;
	font-size: 14px;
	line-height: 1.2;
	cursor: pointer;
}

.doo-ph-campaign-email-card__copy:hover,
.doo-ph-campaign-email-card__copy:focus-visible {
	background: transparent;
	color: #005991;
	text-decoration: underline;
}

.doo-ph-campaign-social__toolbar {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	margin-bottom: 16px;
}

.doo-ph-campaign-social__count {
	margin: 0;
	margin-right: auto; /* pushes the zip button + view toggle to the right */
	font-size: clamp(18px, 1.8vw, 20px);
	color: #003E56;
}

.doo-ph-campaign-social__zip-btn {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 10px 16px;
	border: 2px solid #005991; /* primary-50 */
	border-radius: 8px;
	background: #fff; /* neutral-0 */
	color: #005991; /* primary-50 */
	font-size: clamp(14px, 1.8vw, 16px);
	font-weight: 400;
	cursor: pointer;
}

.doo-ph-campaign-social__zip-btn:not(:disabled):hover,
.doo-ph-campaign-social__zip-btn:not(:disabled):focus-visible {
	background: #F0F6FA; /* accent-50 */
	border-color: #005991; /* primary-50 */
	color: #005991; /* primary-50 */
}

.doo-ph-campaign-social__zip-btn:disabled {
	border-color: #9CA1A2;
	background: #EFF0F1;
	color: #9CA1A2;
	cursor: not-allowed;
}

.doo-ph-campaign-social__zip-btn:disabled img {
	filter: grayscale(100%);
	opacity: 0.5;
}

.doo-ph-campaign-social__check {
	display: flex;
	align-items: center;
}

.doo-ph-technical-documents input[type="checkbox"],
input[type="checkbox"].doo-ph-sales-materials__checkbox,
input[type="checkbox"].doo-ph-campaign-social__checkbox {
	width: 18px;
	height: 18px;
	margin: 0;
	accent-color: #005991;
	border: 1px solid #005991;
}

.doo-ph-campaign-social__list {
	margin: 0;
	padding: 0;
	list-style: none;
}

.doo-ph-campaign-social__row {
	display: flex;
	align-items: center;
	gap: 16px;
	margin-bottom: 12px;
}

.doo-ph-campaign-social__panel {
	flex: 1 1 auto;
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto auto;
	align-items: center;
	gap: 16px clamp(16px, 3vw, 32px);
	padding: 18px clamp(16px, 2.5vw, 24px);
	border-radius: 16px;
	background: #F0F5F9;
}

.doo-ph-campaign-landing-row {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 12px 24px;
	margin-bottom: 8px;
	padding: 16px clamp(16px, 2.5vw, 18px);
	border-radius: 16px;
	background: #F0F5F9;
}

.doo-ph-campaign-landing-logo-hint {
	display: flex;
	align-items: center;
	gap: 8px;
	padding: 16px 24px;
	border-radius: 16px;
	background: #F8F8F8;
	list-style: none;
	font-size: 14px;
	line-height: 1.4;
	color: #003E56;
}

.doo-ph-campaign-landing-row__actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: flex-end;
	gap: 16px clamp(16px, 3vw, 32px);
	margin-left: auto;
}

.doo-ph-campaign-landing-row__links {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: flex-end;
	gap: 16px;
}

.doo-ph-campaign-landing-row__links .doo-ph-campaign-actions__link img {
	flex-shrink: 0;
	display: block;
}

.doo-ph-campaign-social__name {
	font-family: Akkurat, sans-serif;
	font-size: clamp(16px, 1.8vw, 18px);
	font-weight: 400;
	line-height: 1.2;
	letter-spacing: -2%;
	color: #003E56;
}

.doo-ph-campaign-social__name--link,
.doo-ph-campaign-social__name--link:visited {
	cursor: pointer;
	color: #003E56;
	text-decoration: none;
}

.doo-ph-campaign-social__name--link:hover,
.doo-ph-campaign-social__name--link:focus-visible {
	color: #003E56;
	text-decoration: underline;
}

.doo-ph-campaign-landing-row__name {
	font-family: Akkurat, sans-serif;
	font-size: clamp(16px, 1.8vw, 18px);
	font-weight: 400;
	line-height: 1.2;
	letter-spacing: -2%;
	color: #003E56;
}

.doo-ph-campaign-landing-row__name--link,
.doo-ph-campaign-landing-row__name--link:visited {
	cursor: pointer;
	color: #003E56;
	text-decoration: none;
}

.doo-ph-campaign-landing-row__name--link:hover,
.doo-ph-campaign-landing-row__name--link:focus-visible {
	color: #003E56;
	text-decoration: underline;
}

.doo-ph-campaign-social__format {
	font-size: clamp(14px, 1.8vw, 16px);
	color: #54585A;
	text-align: right;
	white-space: nowrap;
}

/* Social media: list / grid view toggle.
   Both views share a single DOM and are switched with .is-grid on the root, so
   the checkbox selection (and the zip form built from it) survives a toggle and
   the already-loaded thumbnails are never re-fetched. */
.doo-ph-campaign-social__view-toggle {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 10px;
	border: 2px solid #005991; /* primary-50 */
	border-radius: 8px;
	background: #fff; /* neutral-0 */
	line-height: 0;
	cursor: pointer;
}

.doo-ph-campaign-social__view-toggle:hover,
.doo-ph-campaign-social__view-toggle:focus-visible {
	background: #F0F6FA; /* accent-50 */
	border-color: #005991; /* primary-50 */
}

/* The visible icon is the view the button switches to. */
.doo-ph-campaign-social__view-toggle-icon--list {
	display: none;
}

.doo-ph-campaign-social.is-grid .doo-ph-campaign-social__view-toggle-icon--grid {
	display: none;
}

.doo-ph-campaign-social.is-grid .doo-ph-campaign-social__view-toggle-icon--list {
	display: block;
}

.doo-ph-campaign-social__media {
	display: none; /* grid view only */
	position: relative;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 4px;
	aspect-ratio: 16 / 10;
	border-radius: 16px;
	background: #F0F5F9;
	overflow: hidden;
}

.doo-ph-campaign-social__media-label {
	font-size: 14px;
	color: #54585A;
}

.doo-ph-campaign-social__media-image {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	/* contain: social crops vary (1:1, 4:5, 9:16); the background hides the
	   format label behind transparent PNGs. */
	object-fit: contain;
	background: #F0F5F9;
}

/* Delivery nonces expire, so a failed image falls back to the format label. */
.doo-ph-campaign-social__media--error .doo-ph-campaign-social__media-image {
	display: none;
}

.doo-ph-campaign-social__media-play {
	position: relative;
	z-index: 1;
	width: 32px;
	height: 32px;
}

.doo-ph-campaign-social__media.has-image .doo-ph-campaign-social__media-play {
	padding: 8px;
	border-radius: 50%;
	background: #fff; /* keeps the glyph legible over photos */
}

.doo-ph-campaign-social__media--error .doo-ph-campaign-social__media-play {
	padding: 0;
	background: transparent;
}

.doo-ph-campaign-social.is-grid .doo-ph-campaign-social__list {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
	gap: 24px 20px;
}

.doo-ph-campaign-social.is-grid .doo-ph-campaign-social__row {
	position: relative;
	align-items: stretch;
	margin-bottom: 0;
}

.doo-ph-campaign-social.is-grid .doo-ph-campaign-social__panel {
	grid-template-columns: minmax(0, 1fr);
	align-content: start;
	gap: 8px;
	padding: 0;
	background: transparent;
}

.doo-ph-campaign-social.is-grid .doo-ph-campaign-social__media {
	display: flex;
}

.doo-ph-campaign-social.is-grid .doo-ph-campaign-social__check {
	position: absolute;
	top: 12px;
	left: 12px;
	z-index: 2;
	padding: 2px;
	border-radius: 4px;
	background: #fff;
}

.doo-ph-campaign-social.is-grid .doo-ph-campaign-social__format {
	text-align: left;
}

.doo-ph-campaign-social.is-grid .doo-ph-campaign-actions {
	justify-content: flex-start;
}

.doo-ph-campaign-landing-row__type {
	font-size: 14px;
	font-weight: 400;
	color: #4A6678;
	white-space: nowrap;
}

/* legacy rule kept for backwards compat — new hint uses .doo-ph-campaign-landing-logo-hint */
.doo-ph-campaign-landing-row__logo-hint {
	display: none;
}

.doo-ph-campaign-landing-row__logo-hint-icon {
	flex-shrink: 0;
	opacity: 0.7;
}

.doo-ph-campaign-landing-row__logo-hint-text {
	flex: 1 1 auto;
}

.doo-ph-campaign-landing-row__logo-hint-text a {
	color: #005991;
	text-decoration: underline;
}

.doo-ph-campaign-landing-row__logo-hint-text a:hover,
.doo-ph-campaign-landing-row__logo-hint-text a:focus-visible {
	text-decoration: none;
}

.doo-ph-campaign-landing-row__logo-hint-close {
	flex-shrink: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 20px;
	height: 20px;
	padding: 0;
	border: 0;
	background: transparent;
	cursor: pointer;
}

.doo-ph-campaign-landing-row__logo-hint-close:hover,
.doo-ph-campaign-landing-row__logo-hint-close:focus-visible {
	background: transparent;
}

.doo-ph-sales-materials__toolbar {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	margin-bottom: 16px;
}

.doo-ph-sales-materials__count {
	margin: 0;
	font-family: Akkurat, sans-serif;
	font-size: clamp(18px, 1.8vw, 20px);
	color: #003E56;
}

.doo-ph-sales-materials__zip-btn {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 10px 16px;
	border: 2px solid #005991; /* primary-50 */
	border-radius: 8px;
	background: #fff; /* neutral-0 */
	color: #005991; /* primary-50 */
	font-size: clamp(14px, 1.8vw, 16px);
	font-weight: 400;
	cursor: pointer;
}

.doo-ph-sales-materials__zip-btn:not(:disabled):hover,
.doo-ph-sales-materials__zip-btn:not(:disabled):focus-visible {
	background: #F0F6FA; /* accent-50 */
	border-color: #005991; /* primary-50 */
	color: #005991; /* primary-50 */
}

.doo-ph-sales-materials__zip-btn:disabled {
	border-color: #9CA1A2;
	background: #EFF0F1;
	color: #9CA1A2;
	cursor: not-allowed;
}

.doo-ph-sales-materials__zip-btn:disabled img {
	filter: grayscale(100%);
	opacity: 0.5;
}

.doo-ph-sales-materials__list {
	margin: 0;
	padding: 0;
	list-style: none;
}

.doo-ph-sales-materials__row {
	display: flex;
	align-items: center;
	gap: 16px;
	margin-bottom: 12px;
}

.doo-ph-sales-materials__check {
	display: flex;
	align-items: center;
}

.doo-ph-sales-materials__check--spacer {
	flex: 0 0 1.25rem;
	width: 1.25rem;
	min-height: 1.25rem;
}

.doo-ph-sales-materials__panel {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	padding: 16px clamp(16px, 2.5vw, 24px);
	border-radius: 16px;
	background: #F0F5F9;
	width: 100%;
}

.doo-ph-sales-materials__name {
	font-family: Akkurat, sans-serif;
	font-size: clamp(16px, 1.8vw, 18px);
	font-weight: 400;
	line-height: 1.2;
	letter-spacing: -2%;
	color: #003E56;
}

.doo-ph-sales-materials__name--link,
.doo-ph-sales-materials__name--link:visited {
	cursor: pointer;
	color: #003E56;
	text-decoration: none;
}

.doo-ph-sales-materials__name--link:hover,
.doo-ph-sales-materials__name--link:focus-visible {
	color: #003E56;
	text-decoration: underline;
}

.doo-ph-sales-materials__format-actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 16px;
	justify-content: space-between;
}

.doo-ph-sales-materials__format {
	font-size: clamp(14px, 1.8vw, 16px);
	font-weight: 400;
	line-height: 1.4;
	color: #54585A;
	text-align: right;
}

.doo-ph-campaign-actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: flex-end;
	gap: 16px;
}

.doo-ph-campaign-actions__link {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	padding: 0;
	border: 0;
	background: transparent;
	color: #005991;
	font-size: 14px;
	line-height: 1.4;
	text-decoration: none;
	cursor: pointer;
}

.doo-ph-campaign-actions__link:hover,
.doo-ph-campaign-actions__link:focus-visible {
	text-decoration: underline;
	color: #005991;
}

.doo-ph-campaign-landing-section {
	margin-bottom: 24px;
}

.doo-ph-campaign-landing-section--files {
	margin-top: 32px;
}

.doo-ph-campaign-landing-section__title {
	margin: 0 0 12px;
	font-family: Akkurat, sans-serif;
	font-size: clamp(18px, 1.8vw, 20px);
	color: #003E56;
	line-height: 1.2;
	letter-spacing: -2%;
}

.doo-ph-campaign-landing-list {
	margin: 0;
	padding: 0;
	list-style: none;
}

.doo-ph-campaign-landing-row__legacy-downloads {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: flex-end;
	gap: 16px;
	width: 100%;
	margin-top: 4px;
}

.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;
	width: 1px;
	word-wrap: normal;
}

@media (max-width: 1199px) {
	.doo-ph-logo-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.doo-ph-campaigns-grid,
	.doo-ph-campaign-email-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.doo-ph-dashboard-banner::after {
		width: 100%;
		opacity: 0.85;
		background-size: auto 100%;
	}
}

@media (max-width: 767px) {
	.doo-ph-logo-grid {
		grid-template-columns: 1fr;
	}

	.doo-ph-guidelines-grid {
		grid-template-columns: 1fr;
		gap: 24px;
	}

	.doo-ph-about-avire__header {
		flex-wrap: wrap;
		align-items: flex-start;
	}

	.doo-ph-guideline-card__body {
		margin-left: 12px;
		margin-right: 12px;
	}

	.doo-ph-guideline-card__actions {
		margin-left: 12px;
	}

	.doo-ph-campaigns-grid,
	.doo-ph-campaign-email-grid {
		grid-template-columns: 1fr;
	}

	.doo-ph-campaign-header__row {
		flex-direction: column;
	}

	.doo-ph-campaign-header__actions {
		width: 100%;
		display: flex;
		flex-wrap: nowrap;
		align-items: center;
		gap: 8px;
	}

	.doo-ph-campaign-header__tooltip {
		display: none;
	}

	.doo-ph-campaign-header__download-all {
		flex: 1 1 auto;
		min-width: 0;
		justify-content: center;
		padding: 12px 14px;
	}

	.doo-ph-campaign-header__download-all span {
		overflow: hidden;
		text-overflow: ellipsis;
	}

	.doo-ph-campaign-header__info-mobile {
		display: flex;
		flex: 0 0 auto;
		align-items: center;
		justify-content: center;
		margin: 0;
		padding: 0;
		line-height: 1;
	}

	.doo-ph-campaign-header__info-mobile:not([open]) .doo-ph-campaign-header__tooltip-mobile {
		display: none;
	}


	.doo-ph-sales-materials__panel,
	.doo-ph-campaign-social:not(.is-grid) .doo-ph-campaign-social__panel {
		flex-direction: column;
		align-items: flex-start;
		gap: 16px;
	}

	.doo-ph-sales-materials__format-actions {
		width: 100%;
	}

	/* Move the "Download selection" button below the list on mobile. */
	.doo-ph-sales-materials {
		display: flex;
		flex-direction: column;
		gap: 16px;
	}

	/* Social media keeps the count and the view toggle on the same row, so it
	   needs explicit areas instead of the flex + order approach above. */
	.doo-ph-campaign-social {
		display: grid;
		grid-template-columns: minmax(0, 1fr) auto;
		grid-template-areas:
			"count toggle"
			"list list"
			"form form";
		gap: 16px;
		align-items: center;
	}

	.doo-ph-sales-materials__toolbar,
	.doo-ph-campaign-social__toolbar {
		display: contents;
	}

	.doo-ph-sales-materials__count {
		order: 1;
	}

	.doo-ph-sales-materials__list {
		order: 2;
	}

	.doo-ph-sales-materials__zip-form {
		order: 3;
		width: 100%;
	}

	.doo-ph-campaign-social__count {
		grid-area: count;
		margin-right: 0;
	}

	.doo-ph-campaign-social__view-toggle {
		grid-area: toggle;
	}

	.doo-ph-campaign-social__list {
		grid-area: list;
	}

	.doo-ph-campaign-social__zip-form {
		grid-area: form;
		width: 100%;
	}

	.doo-ph-campaign-social.is-grid .doo-ph-campaign-social__list {
		grid-template-columns: 1fr;
	}

	.doo-ph-sales-materials__zip-btn,
	.doo-ph-campaign-social__zip-btn {
		width: 100%;
		justify-content: center;
	}

	.doo-ph-campaign-landing-row__actions {
		margin-left: 0;
		justify-content: flex-start;
	}

	.doo-ph-campaign-landing-row__links {
		justify-content: flex-start;
	}

	.doo-ph-campaign-social__format,
	.doo-ph-campaign-landing-row__type,
	.doo-ph-sales-materials__format {
		text-align: left;
	}

	.doo-ph-campaign-actions {
		justify-content: flex-start;
	}

	.doo-ph-logo-category__title {
		font-size: 1.25rem;
		margin-bottom: 16px;
	}

	.doo-ph-quick-access-grid {
		grid-template-columns: 1fr;
	}

	.doo-ph-dashboard-banner {
		padding: 24px;
	}

	.doo-ph-dashboard-banner::after {
		width: 100%;
		opacity: 0.85;
		background-size: auto 100%;
	}

	.doo-ph-dashboard-banner__title,
	.doo-ph-dashboard-banner__text {
		max-width: 100%;
	}

	.doo-ph-dashboard-bottom--with-aside {
		grid-template-columns: 1fr;
	}

	.doo-ph-dashboard-faqs {
		grid-template-columns: 1fr;
	}

	.doo-ph-dashboard-faqs__intro-header {
		flex-direction: row;
		align-items: center;
		justify-content: space-between;
	}
}

@media (max-width: 1023px) and (min-width: 768px) {
	.doo-ph-quick-access-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

/* Secondary scrollable nav — mirrors the theme's `.navigation-secondary nav`.
   `width: max-content` + `max-width: 100%` lets it size to its items but cap at
   the container width, so it scrolls horizontally instead of overflowing. Using
   max-content (instead of relying on flex stretch) is required because the
   `margin: 0 auto` below would otherwise disable stretch and content-size it. */
.doo-ph-secondary-nav {
	display: flex;
	flex-wrap: nowrap;
	width: max-content;
	max-width: 100%;
	min-width: 0;
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
	scrollbar-width: none;
	-ms-overflow-style: none;
}

.doo-ph-secondary-nav::-webkit-scrollbar {
	display: none;
}

/* Sticky pill wrapper: holds the nav + scroll arrows. */
.doo-ph-cat-nav-wrapper {
	position: sticky;
	top: 0;
	z-index: 30;
	display: flex;
	align-items: center;
	width: max-content;
	max-width: 100%;
	min-width: 0;
	margin: 0 auto 32px;
	background: #fff;
	box-shadow: 0px 4px 12px 0px #003E561A;
	border-radius: 48px;
	padding: 8px;
	overflow: hidden;
}

/* On mobile the wrapper sticks below the sticky mobile bar.
   When the bar is hidden (is-hidden) JS sets --doo-ph-mobile-bar-h to 0,
   so the nav settles at 24px from the viewport top. */
@media (max-width: 900px) {
	.doo-ph-cat-nav-wrapper {
		top: calc(var(--doo-ph-mobile-bar-h, 0px) + 24px);
		transition: top 0.3s ease;
	}
}

.doo-ph-product-assets__cat-nav {
	flex: 1 1 auto;
	min-width: 0;
	gap: 16px;
}

/* Arrow buttons: absolutely overlaid on the nav edges, gradient fades category names. */
.doo-ph-cat-nav-arrow {
	position: absolute;
	top: 0;
	height: 100%;
	width: 48px;
	display: none;
	align-items: center;
	padding: 0;
	border: none;
	cursor: pointer;
	color: #005991;
	z-index: 1;
}

.doo-ph-cat-nav-arrow--left {
	left: 0;
	justify-content: flex-start;
	padding-left: 10px;
	background: linear-gradient(90deg, #FFFFFF 69.27%, rgba(255, 255, 255, 0) 100%);
}

.doo-ph-cat-nav-arrow--right {
	right: 0;
	justify-content: flex-end;
	padding-right: 10px;
	background: linear-gradient(270deg, #FFFFFF 69.27%, rgba(255, 255, 255, 0) 100%);
}

.doo-ph-cat-nav-wrapper.has-scroll-left .doo-ph-cat-nav-arrow--left,
.doo-ph-cat-nav-wrapper.has-scroll-right .doo-ph-cat-nav-arrow--right {
	display: flex;
}

.doo-ph-cat-nav-wrapper.has-scroll-left .doo-ph-cat-nav-arrow--left:hover {
	background: linear-gradient(90deg, #FFFFFF 69.27%, rgba(255, 255, 255, 0) 100%);
}
.doo-ph-cat-nav-wrapper.has-scroll-right .doo-ph-cat-nav-arrow--right:hover {
	background: linear-gradient(270deg, #FFFFFF 69.27%, rgba(255, 255, 255, 0) 100%);
}

.doo-ph-product-assets__category {
	scroll-margin-top: 96px;
}

.doo-ph-product-assets__category + .doo-ph-product-assets__category {
	margin-top: 40px;
}

.doo-ph-product-assets__cat-tab {
	display: inline-flex;
	align-items: center;
	flex: 0 0 auto;
	white-space: nowrap;
	padding: 12px 8px;
	border-radius: 24px;
	background: #ffffff;
	color: #003E56;
	font-family: Akkurat, sans-serif;
	font-size: clamp(16px, 2.5vw, 18px);
	line-height: 1.2;
	text-decoration: none;
	letter-spacing: -2%;
	transition: 0.2s;
}

.doo-ph-product-assets__cat-tab:hover,
.doo-ph-product-assets__cat-tab:focus-visible {
	color: #003E56;
}

.doo-ph-product-assets__cat-tab.is-active {
	background: #F0F6FA;
}

.doo-ph-product-assets__section-header {
	display: flex;
	flex-wrap: wrap;
	gap: 16px;
	align-items: center;
	justify-content: space-between;
	margin: 0 0 24px;
}

.doo-ph-product-assets__section-title {
	margin: 0;
	font-family: Akkurat, sans-serif;
	font-size: clamp(20px, 2.2vw, 24px);
	line-height: 1.1;
	letter-spacing: -3%;
	color: #003E56;
}

.doo-ph-product-assets__documents-link {
	display: inline-flex;
	align-items: center;
	gap: 8px;
}

.doo-ph-product-assets__list {
	display: flex;
	flex-direction: column;
	gap: 24px;
}

.doo-ph-product-card {
	padding: 24px;
	border-radius: 16px;
	background: #F8F8F8;
}

.doo-ph-product-card__header {
	display: flex;
	flex-wrap: wrap;
	gap: 12px 24px;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 24px;
}

.doo-ph-product-card__title {
	margin: 0;
	color: #00253E;
	font-family: Akkurat, sans-serif;
	font-size: clamp(18px, 1.8vw, 20px);
	line-height: 1.2;
	letter-spacing: -2%;
}

.doo-ph-product-card__public-link {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	color: #005991;
	font-size: 14px;
	text-decoration: none;
}

.doo-ph-product-card__public-link:hover,
.doo-ph-product-card__public-link:focus-visible {
	text-decoration: underline;
	color: #005991;
}

.doo-ph-product-card__body {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 24px;
	align-items: start;
}

.doo-ph-product-card__media {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 100%;
	border-radius: 16px;
	background: #FFFFFF;
}

.doo-ph-product-card__image {
	display: block;
	max-width: 100%;
	height: auto;
	object-fit: contain;
}

.doo-ph-product-card__description {
	margin-bottom: 16px;
	color: #4A6678;
	font-size: 15px;
	line-height: 1.6;
}

.doo-ph-product-card__features {
	margin: 0 0 16px;
	padding-left: 20px;
	color: #4A6678;
}

.doo-ph-product-card__features li + li {
	margin-top: 8px;
}

.doo-ph-product-card__copy {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin: 0 0 20px;
	padding: 0;
	border: 0;
	background: transparent;
	color: #005991;
	font-family: Akkurat, sans-serif;
	font-size: 14px;
	line-height: 1.4;
	text-decoration: none;
	cursor: pointer;
}

.doo-ph-product-card__copy:hover,
.doo-ph-product-card__copy:focus-visible {
	text-decoration: underline;
	background: transparent;
	color: #005991;
}

.doo-ph-product-card__copy-icon {
	display: block;
	flex-shrink: 0;
}

.doo-ph-product-card__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	align-items: flex-start;
}

.doo-ph-product-card__action,
.doo-ph-product-card__download-toggle {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	height: 40px;
	padding: 8px 16px;
	border: 2px solid #005991;
	border-radius: 8px;
	color: #005991;
	font-family: Akkurat, sans-serif;
	font-size: 16px;
	font-weight: 400;
	line-height: 1;
	letter-spacing: -3%;
	text-decoration: none;
	cursor: pointer;
}

.doo-ph-product-card__action:hover,
.doo-ph-product-card__action:focus-visible,
.doo-ph-product-card__download-toggle:hover,
.doo-ph-product-card__download-toggle:focus-visible {
	background: #f2f9fd;
	color: #005991; 
	text-decoration: none;
	border: 2px solid #005991;
}

/* Keep the open "Download Image as" menu above the sibling action buttons. */
.doo-ph-product-card__download.is-open {
	z-index: 20;
}

.doo-ph-product-card__download-menu {
	z-index: 20;
}

.doo-ph-product-card__download-link {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
}

@media (max-width: 767px) {
	.doo-ph-product-card__body {
		grid-template-columns: 1fr;
	}

	.doo-ph-product-assets__section-header {
		align-items: flex-start;
	}
}

/* Reuses theme .doo-spinner classes (see doo-avire/sass/custom/_general.scss). */
@keyframes doo-spin {
	to {
		transform: rotate(360deg);
	}
}

.doo-ph-app .doo-spinner-wrapper {
	display: none;
	position: fixed;
	inset: 0;
	z-index: 999999;
	background-color: rgb(51 51 51 / 70%);
}

.doo-ph-app .doo-spinner-wrapper.is-active {
	display: block;
}

.doo-ph-app .doo-spinner {
	position: fixed;
	width: 42px;
	height: 42px;
	margin: 8px;
	top: 48%;
	left: 48%;
	z-index: 1000000;
	border: 4px solid #005991;
	border-right-color: transparent;
	border-radius: 50%;
	animation: doo-spin 0.8s linear infinite;
}

.doo-ph-app a.is-busy,
.doo-ph-app .doo-ph-btn.is-busy {
	pointer-events: none;
	opacity: 0.65;
}

@media (prefers-reduced-motion: reduce) {
	.doo-ph-app .doo-spinner {
		animation: none;
		border-right-color: #005991;
	}

	.doo-ph-mobile-bar {
		transition: none;
	}
}

/* Account settings */
.doo-ph-header--with-actions .doo-ph-header__inner {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 24px;
}

.doo-ph-header--with-actions .doo-ph-header__main {
	flex: 1;
	min-width: 0;
}

.doo-ph-header__actions {
	flex: 0 0 auto;
	align-self: flex-start;
	padding-top: 4px;
}

.doo-ph-header__actions .doo-ph-notice {
	margin: 0;
	white-space: nowrap;
}

/* Product Assets — CSV export CTA in page header */
.doo-ph-product-assets-export {
	position: relative;
}

/* Above sticky category nav (.doo-ph-cat-nav-wrapper z-index: 30). */
.doo-ph-header:has(.doo-ph-product-assets-export.is-open) {
	position: relative;
	z-index: 40;
}

.doo-ph-product-assets-export.is-open {
	z-index: 40;
}

.doo-ph-product-assets-export__toggle {
	gap: 8px;
	white-space: nowrap;
}

.doo-ph-product-assets-export__chevron {
	display: block;
	width: 20px;
	height: 20px;
	flex: 0 0 auto;
	transition: transform 0.15s ease;
}

.doo-ph-product-assets-export.is-open .doo-ph-product-assets-export__chevron {
	transform: rotate(180deg);
}

.doo-ph-product-assets-export__menu {
	top: calc(100% + 8px);
	right: 0;
	left: auto;
	min-width: 260px;
	z-index: 40;
}

.doo-ph-product-assets-export.is-open .doo-ph-product-assets-export__menu {
	visibility: visible;
	opacity: 1;
	pointer-events: auto;
}

.doo-ph-product-assets-export__link {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
}

.doo-ph-account-delete-placement--footer {
	display: none;
}

.doo-ph-account-delete-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 10px 16px;
	border: 1px solid #7d2d2d;
	border-radius: 8px;
	background: #fde8e8;
	color: #7d2d2d;
	font-family: Akkurat, sans-serif;
	font-weight: 400;
	font-size: clamp(14px, 1.8vw, 16px);
	line-height: 1;
	cursor: pointer;
	white-space: nowrap;
}

.doo-ph-account-delete-btn:hover:not(:disabled) {
	background: #f9d4d4;
}

.doo-ph-account-delete-btn--pending,
.doo-ph-account-delete-btn:disabled {
	border-color: transparent;
	background: #c5c9cb;
	color: #fff;
	cursor: not-allowed;
}

.doo-ph-account-delete-btn--confirm {
	border-color: #7d2d2d;
	background: #fde8e8; 
	color: #7d2d2d;
}

.doo-ph-btn--primary {
	background: #005991;
	color: #fff;
}

.doo-ph-btn--primary:disabled {
	border-color: #9CA1A2;
	background: #EFF0F1;
	color: #9CA1A2;
	cursor: not-allowed;
	opacity: 1;
}

.doo-ph-btn--outline {
	border: 1px solid #005991;
	border-radius: 8px;
	background: #fff;
	color: #005991;
}

.doo-ph-btn--outline:visited {
	color: #005991;
	background: #fff;
}

.doo-ph-btn--outline:hover {
	background: #eef6fb;
	color: #005991;
}

.doo-ph-section--account {
	display: flex;
	flex-direction: column;
	gap: 24px;
}

.doo-ph-account-body {
	display: flex;
	flex-wrap: wrap;
	align-items: stretch;
	gap: 48px 32px;
}

.doo-ph-account-body .doo-ph-account-card {
	flex: 1 1 480px;
	min-width: 0;
}

.doo-ph-account-card {
	padding: 16px;
	border-radius: 16px;
	background: #F8F8F8;
}

.doo-ph-account-form__grid {
	display: grid;
	gap: 20px 24px;
	margin-bottom: 0;
}

.doo-ph-account-form__grid--two {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.doo-ph-account-form__grid--two + .doo-ph-account-form__grid--two {
	margin-top: 20px;
}

.doo-ph-account-form__grid--password {
	margin-top: 20px;
	margin-bottom: 24px;
}

.doo-ph-account-field {
	display: flex;
	flex-direction: column;
	margin: 0;
	min-width: 0;
}

.doo-ph-account-field label,
.doo-ph-account-logo__label {
	display: block;
	margin-bottom: 8px;
	color: #1D2224;
	font-size: 14px;
	line-height: 1.5;
}

.doo-ph-account-field input[type="text"],
.doo-ph-account-field input[type="email"],
.doo-ph-account-field input[type="password"],
.doo-ph-account-modal__field input {
	box-sizing: border-box;
	width: 100%;
	padding: 10px 12px;
	border: 1px solid #e5e7eb;
	border-radius: 8px;
	background: #fff;
	color: #54585a;
	font-size: 16px;
	line-height: 1.5;
}

.doo-ph-account-field input:disabled {
	background: #fff;
	color: #54585a;
	opacity: 1;
}

.doo-ph-password-field {
	position: relative;
}

.doo-ph-password-field__input {
	padding-right: 44px;
}

.doo-ph-section--account .doo-ph-pwd-visibility {
	position: absolute;
	top: 50%;
	right: 10px;
	transform: translateY(-50%);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 28px;
	height: 28px;
	padding: 0;
	border: 0;
	border-radius: 4px;
	background: transparent;
	cursor: pointer;
}

.doo-ph-section--account .doo-ph-pwd-visibility__icon--hide {
	display: none;
}

.doo-ph-section--account .doo-ph-pwd-visibility.is-visible .doo-ph-pwd-visibility__icon--show {
	display: none;
}

.doo-ph-section--account .doo-ph-pwd-visibility.is-visible .doo-ph-pwd-visibility__icon--hide {
	display: inline-flex;
}

.doo-ph-account-field--password-action {
	justify-content: flex-end;
}

.doo-ph-account-field__label-spacer {
	display: block;
	margin: 0 0 6px;
	color: #54585a;
	font-size: 0.8125rem;
	line-height: 1.3;
	visibility: hidden;
	user-select: none;
}

.doo-ph-account-change-password {
	align-self: flex-start;
	padding: 10px 0;
	border: 0;
	background: transparent;
	color: #005991;
	font-size: 0.9375rem;
	line-height: 1.4;
	text-decoration: underline;
	cursor: pointer;
}

.doo-ph-account-logo__label {
	font-weight: 400;
}

.doo-ph-account-logo {
	margin-top: 24px;
	padding-top: 8px;
}

.doo-ph-account-logo__upload-col {
	display: flex;
	flex-direction: column;
	gap: 8px;
	width: 323px;
	max-width: 100%;
}

.doo-ph-account-logo__dropzone {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 12px;
	width: 100%;
	min-height: 140px;
	padding: 24px 16px;
	border: 1px dashed #c5c9cb;
	border-radius: 8px;
	background: #fff;
	cursor: pointer;
}

.doo-ph-account-logo__dropzone:hover {
	border-color: #005991;
	background: #eef6fb;
}

.doo-ph-account-logo__dropzone-text {
	color: #005991;
	font-size: 0.9375rem;
	text-decoration: underline;
}

.doo-ph-account-logo__hint {
	margin: 0;
	color: #6b7280;
	font-size: 0.75rem;
	line-height: 1.4;
}

.doo-ph-account-logo__help {
	box-sizing: border-box;
	flex: 0 1 300px;
	width: min(100%, 300px);
	align-self: flex-start;
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
	padding: 20px 24px;
	border-radius: 16px;
	background: #F0F6FA;
}

.doo-ph-account-logo__help-icon {
	display: block;
	margin-bottom: 8px;
}

.doo-ph-account-logo__help-title {
	margin: 0 0 10px;
	color: #003e56;
	font-family: Akkurat, sans-serif;
	font-size: 18px;
	font-weight: 400;
	line-height: 1.2;
	letter-spacing: -2%;
}

.doo-ph-account-logo__help-text {
	margin: 0;
	color: #003E56;
	font-size: 14px;
	line-height: 1.4;
}

.doo-ph-account-logo__has-logo {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	gap: 8px;
}

.doo-ph-account-logo__preview {
	position: relative;
	flex: 0 0 min(100%, 323px);
	width: 323px;
	max-width: 100%;
	aspect-ratio: 16 / 10;
	border-radius: 16px;
	overflow: hidden;
	background: #1d222466;
}

.doo-ph-account-logo__preview img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.doo-ph-account-logo__filename {
	position: absolute;
	top: 8px;
	left: 8px;
	z-index: 1;
	padding: 2px 6px;
	color: #fff;
	font-size: 0.75rem;
	line-height: 1.3;
	text-shadow: 0 1px 2px rgba(0, 0, 0, 0.5);
}

.doo-ph-account-logo__download {
	position: absolute;
	right: 8px;
	bottom: 8px;
	z-index: 1;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.95);
	text-decoration: none;
}

.doo-ph-account-logo__download img {
	display: block;
	width: 24px;
	height: 24px;
}

.doo-ph-account-logo__actions {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 8px;
	align-self: center;
}

.doo-ph-account-logo__remove-form {
	margin: 0;
}

.doo-ph-account-logo__upload-link,
.doo-ph-account-logo__remove-link {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 8px 16px;
	border: 0;
	background: transparent;
	color: #005991;
	font-size: 16px;
	text-decoration: none;
	cursor: pointer;
}

.doo-ph-account-footer {
	display: none;
	flex: 0 0 auto;
	flex-wrap: wrap;
	align-items: center;
	gap: 16px 24px;
	position: sticky;
	bottom: -24px;
	z-index: 1;
	margin: 0 calc(clamp(16px, 2.5vw, 32px) * -1) -24px;
	padding: 16px clamp(16px, 2.5vw, 32px) 24px;
	background: #fff;
	box-shadow: 0px -1px 12px 0px #003E561A;
}

.doo-ph-account-footer.is-dirty {
	display: flex;
}

/* On mobile (<=900px) the whole page scrolls because `.doo-ph-main` is static,
   so the bar must be pinned to the viewport bottom. This override is placed
   after the base rule above so it wins the cascade (same specificity), since
   the mobile breakpoint block earlier in the file would otherwise be overridden. */
@media (max-width: 900px) {
	.doo-ph-account-footer {
		position: fixed;
		left: 0;
		right: 0;
		bottom: 0;
		margin: 0;
		padding: 16px;
		padding-bottom: calc(16px + env(safe-area-inset-bottom, 0px));
		z-index: 30;
	}
}

.doo-ph-account-discard {
	padding: 0;
	border: 0;
	background: transparent;
	color: #005991;
	font-size: 16px;
	text-decoration: underline;
	cursor: pointer;
}

body.doo-ph-modal-open .doo-ph-main {
	z-index: 1001;
}

.doo-ph-modal--account {
	z-index: 100001;
}

.doo-ph-account-modal__dialog {
	width: min(100%, 460px);
	padding: 0;
	border-radius: 16px;
	overflow: hidden;
}

.doo-ph-account-modal__header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	padding: clamp(24px, 2.5vw, 40px) clamp(16px, 2.5vw, 32px) clamp(16px, 2.5vw, 24px);
}

.doo-ph-account-modal__title {
	margin: 0 24px 0 0;
	color: #003e56;
	font-family: Akkurat, sans-serif;
	font-size: 1.25rem;
	font-weight: 400;
	line-height: 1.2;
}

.doo-ph-account-modal__close {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 32px;
	height: 32px;
	padding: 0;
	border: 0;
	background: transparent;
	cursor: pointer;
}

.doo-ph-account-modal__form,
.doo-ph-account-logo-modal__form {
	padding: 0 clamp(16px, 2.5vw, 32px) clamp(24px, 2.5vw, 40px);
}

.doo-ph-account-modal__field {
	margin: 0 0 16px;
}

.doo-ph-account-modal__label {
	display: block;
	margin-bottom: 8px;
	color: #1d2224;
	font-size: 0.875rem;
	font-weight: 400;
	line-height: 1.4;
}

.doo-ph-account-logo-modal__dropzone {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: stretch;
	justify-content: center;
	min-height: 140px;
	padding: 24px;
	border: 1px dashed #c5c9cb;
	border-radius: 8px;
	background: #fff;
	cursor: pointer;
}

.doo-ph-account-logo-modal__input {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	clip-path: inset(50%);
	white-space: nowrap;
	border: 0;
	opacity: 0;
	pointer-events: none;
}

.doo-ph-account-logo-modal__panel {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 16px;
	width: 100%;
}

.doo-ph-account-logo-modal__panel--staged {
	align-items: stretch;
}

.doo-ph-account-logo-modal__panel[hidden] {
	display: none;
}

.doo-ph-account-logo-modal__browse {
	padding: 0;
	border: 0;
	background: transparent;
	color: #005991;
	font-size: 0.9375rem;
	line-height: 1.4;
	text-decoration: underline;
	cursor: pointer;
}

.doo-ph-account-logo-modal__browse:hover {
	color: #003b5f;
}

.doo-ph-account-logo-modal__hint {
	margin: 8px 0 0;
	color: #6b7280;
	font-size: 0.75rem;
	line-height: 1.4;
}

.doo-ph-account-logo-file {
	display: flex;
	align-items: center;
	gap: 12px;
	width: 100%;
	max-width: 100%;
	padding: 12px 16px;
	border-radius: 8px;
	background: #fff;
	border: 1px solid #c5c9cb;
}

.doo-ph-account-logo-file__icon {
	flex: 0 0 auto;
	display: block;
	width: 20px;
	height: 20px;
}

.doo-ph-account-logo-file__meta {
	display: flex;
	flex: 1;
	align-items: baseline;
	gap: 8px;
	min-width: 0;
	overflow: hidden;
}

.doo-ph-account-logo-file__name {
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	font-size: 0.875rem;
	line-height: 1.4;
	color: #1d2224;
}

.doo-ph-account-logo-file__size {
	flex: 0 0 auto;
	color: #8a8f90;
	font-size: 0.875rem;
	line-height: 1.4;
}

.doo-ph-account-logo-file__remove {
	flex: 0 0 auto;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 20px;
	height: 20px;
	margin-left: auto;
	padding: 0;
	border: 0;
	background: transparent;
	cursor: pointer;
}

.doo-ph-account-logo-file__remove:hover {
	opacity: 0.72;
}

.doo-ph-account-logo-file__remove img {
	display: block;
	width: 20px;
	height: 20px;
}

.doo-ph-account-logo-modal__panel--staged .doo-ph-account-logo-modal__browse {
	align-self: center;
}

.doo-ph-account-modal__footer {
	padding-top: 8px;
}

.doo-ph-account-delete-modal__text {
	margin: 0;
	padding: 24px clamp(16px, 2.5vw, 32px) 0;
	color: #1D2224;
	font-size: 16px;
	line-height: 1.4;
}

.doo-ph-account-delete-modal__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	padding: 24px clamp(16px, 2.5vw, 32px) clamp(24px, 2.5vw, 40px);
	& > * {
		flex: 1;
	}
}

/* Mobile (<=900px): account modals (Upload logo, Change password, Request
   delete account) behave as bottom sheets — pinned to the viewport bottom,
   full width, with only the top corners rounded. Placed after the base modal
   rules above so it wins the cascade (same specificity). */
@media (max-width: 900px) {
	.doo-ph-modal--account {
		align-items: flex-end;
		padding: 0;
	}

	.doo-ph-modal--account .doo-ph-account-modal__dialog {
		width: 100%;
		max-width: none;
		max-height: 90dvh;
		overflow: hidden auto;
		border-radius: 16px 16px 0 0;
		padding-bottom: env(safe-area-inset-bottom, 0px);
	}
}

/* Marketing Request modal (dashboard widget).
   Hosts a Contact Form 7 form. The hub renders its own layout template, so the
   theme's .wpcf7-* styles are not available here and the fields are styled from
   scratch to match the account modals. */
.doo-ph-marketing-modal__form {
	padding: 0 clamp(16px, 2.5vw, 32px) clamp(24px, 2.5vw, 40px);
}

.doo-ph-marketing-modal__form .wpcf7 {
	margin: 0;
}

.doo-ph-marketing-modal__form .wpcf7-form p {
	margin: 0 0 16px;
	color: #1d2224;
	font-size: 0.875rem;
	line-height: 1.4;
}

.doo-ph-marketing-modal__form .wpcf7-form label {
	display: block;
	color: #1d2224;
	font-size: 0.875rem;
	font-weight: 400;
	line-height: 1.4;
}

.doo-ph-marketing-modal__form .wpcf7-form-control-wrap {
	display: block;
	margin-top: 8px;
}

.doo-ph-marketing-modal__form .wpcf7-form input[type="text"],
.doo-ph-marketing-modal__form .wpcf7-form input[type="email"],
.doo-ph-marketing-modal__form .wpcf7-form input[type="tel"],
.doo-ph-marketing-modal__form .wpcf7-form input[type="url"],
.doo-ph-marketing-modal__form .wpcf7-form input[type="number"],
.doo-ph-marketing-modal__form .wpcf7-form input[type="date"],
.doo-ph-marketing-modal__form .wpcf7-form select,
.doo-ph-marketing-modal__form .wpcf7-form textarea {
	box-sizing: border-box;
	width: 100%;
	padding: 12px 16px;
	border: 1px solid #d8e4ea;
	border-radius: 8px;
	background: #fff;
	color: #1d2224;
	font-family: inherit;
	font-size: 16px;
	line-height: 1.4;
}

.doo-ph-marketing-modal__form .wpcf7-form textarea {
	min-height: 120px;
	resize: vertical;
}

.doo-ph-marketing-modal__form .wpcf7-form :is(input, select, textarea)::placeholder {
	color: #8a9298;
}

.doo-ph-marketing-modal__form .wpcf7-form :is(input, select, textarea):focus-visible {
	outline: 2px solid #005991;
	outline-offset: 1px;
	border-color: #005991;
}

.doo-ph-app .doo-ph-marketing-modal__form .wpcf7-form input[type="submit"] {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	min-height: 48px;
	padding: 8px 24px;
	border: 2px solid #005991;
	border-radius: 8px;
	background: #005991;
	color: #fff;
	font-family: inherit;
	font-size: 16px;
	line-height: 1.2;
	cursor: pointer;
}

.doo-ph-app .doo-ph-marketing-modal__form .wpcf7-form input[type="submit"]:is(:hover, :focus-visible, :active) {
	background: #003e56;
	border-color: #003e56;
	color: #fff;
}

.doo-ph-app .doo-ph-marketing-modal__form .wpcf7-form input[type="submit"]:disabled {
	opacity: 0.6;
	cursor: default;
}

.doo-ph-marketing-modal__form .wpcf7-spinner {
	display: block;
	margin: 12px auto 0;
}

.doo-ph-marketing-modal__form .wpcf7-not-valid-tip {
	display: block;
	margin-top: 6px;
	color: #b32d2e;
	font-size: 0.8125rem;
	line-height: 1.4;
}

.doo-ph-marketing-modal__form .wpcf7-response-output {
	margin: 16px 0 0;
	padding: 12px 16px;
	border: 1px solid #d8e4ea;
	border-radius: 8px;
	color: #1d2224;
	font-size: 0.875rem;
	line-height: 1.4;
}

.doo-ph-marketing-modal__form .wpcf7 form.sent .wpcf7-response-output {
	border-color: #46b450;
	background: #f2fbf3;
}

.doo-ph-marketing-modal__form .wpcf7 form.invalid .wpcf7-response-output,
.doo-ph-marketing-modal__form .wpcf7 form.unaccepted .wpcf7-response-output,
.doo-ph-marketing-modal__form .wpcf7 form.payment-required .wpcf7-response-output {
	border-color: #ffb900;
	background: #fffaf0;
}

.doo-ph-marketing-modal__form .wpcf7 form.failed .wpcf7-response-output,
.doo-ph-marketing-modal__form .wpcf7 form.aborted .wpcf7-response-output {
	border-color: #b32d2e;
	background: #fdf3f3;
}

/* Mobile FAQ category popup (theme block-faqs, used in the hub support section).
   The theme renders it as a near-fullscreen panel anchored at top:52px; here we
   turn it into a bottom sheet to match the account/contact modals. Scoped to the
   hub wrapper (.doo-ph-support-faqs) so the theme's public FAQ pages stay intact,
   and at the theme's own popup breakpoint (<=800px). Selectors are one level
   deeper than the theme rules so they win the cascade regardless of load order. */
@media (max-width: 800px) {
	.doo-ph-support-faqs .faqs-content .left-menu-content {
		position: fixed;
		top: auto;
		bottom: 0;
		left: 0;
		width: 100%;
		height: auto;
		max-height: 85dvh;
	}

	.doo-ph-support-faqs .faqs-content .left-menu {
		height: auto;
		max-height: 85dvh;
		border-radius: 16px 16px 0 0;
	}

	.doo-ph-support-faqs .faqs-content .left-menu .faq-cat-list {
		min-height: 0;
		padding-bottom: calc(80px + env(safe-area-inset-bottom, 0px));
	}
}

.doo-ph-toast {
	position: fixed;
	right: 24px;
	bottom: 24px;
	left: auto;
	z-index: 100002;
	max-width: min(420px, calc(100vw - 48px));
	padding: 14px 18px;
	border-radius: 8px;
	background: #1f2937;
	color: #fff;
	font-size: 0.875rem;
	line-height: 1.4;
	box-shadow: 0 8px 24px rgba(0, 0, 0, 0.18);
	opacity: 0;
	transform: translateY(8px);
	transition: opacity 0.2s ease, transform 0.2s ease;
	pointer-events: none;
}

.doo-ph-toast.is-visible {
	opacity: 1;
	transform: translateY(0);
	pointer-events: auto;
}

/* Used to hide the toast instantly before re-showing it on rapid re-trigger. */
.doo-ph-toast.doo-ph-toast--no-anim {
	transition: none;
}

.doo-ph-toast--error {
	background: #7d2d2d;
}

body.doo-ph-modal-open {
	overflow: hidden;
}

body.doo-ph-modal-open .doo-ph-modal__backdrop {
	cursor: pointer;
}

@media (max-width: 900px) {
	.doo-ph-header--with-actions .doo-ph-header__inner {
		flex-direction: column;
		align-items: stretch;
	}

	.doo-ph-header--with-actions .doo-ph-header__actions:has(.doo-ph-product-assets-export) {
		width: 100%;
		padding-top: 0;
		margin-top: -40px;
    	margin-bottom: 32px;
	}

	.doo-ph-product-assets-export,
	.doo-ph-product-assets-export__toggle {
		width: 100%;
	}

	.doo-ph-main:has(.doo-ph-section--account) .doo-ph-account-delete-placement--header {
		display: none;
	}

	.doo-ph-account-delete-placement--footer {
		display: flex;
		justify-content: flex-start;
		margin-top: 24px;
	}

	.doo-ph-account-delete-placement--footer .doo-ph-account-delete-btn {
		width: 100%;
	}

	.doo-ph-account-form__grid--two,
	.doo-ph-account-form__grid--password {
		grid-template-columns: 1fr;
	}

	.doo-ph-account-field--password-action .doo-ph-account-change-password {
		padding: 0;
	}

	.doo-ph-account-body {
		flex-direction: column;
	}

	.doo-ph-account-body .doo-ph-account-card {
		flex-basis: auto;
		width: 100%;
	}

	.doo-ph-account-logo__help {
		width: 100%;
		max-width: none;
		flex: 1 1 auto;
		align-self: stretch;
	}
}

@media (prefers-reduced-motion: reduce) {
	.doo-ph-toast {
		transition: none;
	}
}

@media (max-width: 781px) {
	.doo-ph-toast {
		right: 50%;
		left: 50%;
		transform: translateX(-50%) translateY(8px);
		max-width: calc(100vw - 32px);
	}

	.doo-ph-toast.is-visible {
		transform: translateX(-50%) translateY(0);
	}
}

/* ── Bottom sheet (mobile download dropdown) ──────────────────────────── */
.doo-ph-bottom-sheet {
	display: none;
}

@media (max-width: 781px) {
	.doo-ph-bottom-sheet {
		display: block;
		position: fixed;
		inset: 0;
		z-index: 100010;
	}

	.doo-ph-bottom-sheet[hidden] {
		display: none;
	}

	.doo-ph-bottom-sheet__overlay {
		position: absolute;
		inset: 0;
		background: rgba(0, 0, 0, 0.3);
		opacity: 0;
		backdrop-filter: blur(4px);
		transition: opacity 0.25s ease;
	}

	.doo-ph-bottom-sheet.is-open .doo-ph-bottom-sheet__overlay {
		opacity: 1;
	}

	.doo-ph-bottom-sheet__panel {
		position: absolute;
		bottom: 0;
		left: 0;
		right: 0;
		width: 100%;
		background: #fff;
		border-radius: 16px 16px 0 0;
		padding: 0 0 env(safe-area-inset-bottom, 0);
		transform: translateY(100%);
		transition: transform 0.25s ease;
	}

	.doo-ph-bottom-sheet.is-open .doo-ph-bottom-sheet__panel {
		transform: translateY(0);
	}

	.doo-ph-bottom-sheet__header {
		display: flex;
		align-items: center;
		justify-content: space-between;
		padding: 16px;
	}

	.doo-ph-bottom-sheet__title {
		font-size: 24px;
		font-family: Akkurat;
		line-height: 1.1;
		letter-spacing: -3%;
		font-weight: 400;
		color: #003E56;
	}

	.doo-ph-bottom-sheet__close {
		display: flex;
		align-items: center;
		justify-content: center;
		width: 40px;
		height: 40px;
		padding: 8px;
		border: 0;
		background: transparent;
		cursor: pointer;
	}

	.doo-ph-bottom-sheet__close:hover,
	.doo-ph-bottom-sheet__close:focus-visible {
		background: #f0f6fa;
		border-radius: 6px;
	}

	.doo-ph-bottom-sheet__list {
		margin: 0;
		padding: 8px 24px 24px 16px;
		list-style: none;
	}

	.doo-ph-bottom-sheet__list li {
		margin: 0;
	}

	.doo-ph-bottom-sheet__list a {
		display: flex;
		align-items: center;
		justify-content: space-between;
		gap: 12px;
		padding: 14px 16px;
		color: #1d2224;
		font-size: 18px;
		text-decoration: none;
		border-radius: 8px;
	}

	.doo-ph-bottom-sheet__list a:hover,
	.doo-ph-bottom-sheet__list a:focus-visible {
		background: #f0f6fa;
	}
}

@media (max-width: 781px) and (prefers-reduced-motion: reduce) {
	.doo-ph-bottom-sheet__overlay,
	.doo-ph-bottom-sheet__panel {
		transition: none;
	}
}
