/*
 * Auptimate Cookie Consent — banner, modal, revisit button.
 *
 * NOTE ON !important: this UI is injected into an unknown theme. Themes and
 * page builders style bare `button`, `h2`, `p`, `span` and `table` elements
 * globally, which otherwise turns our solid buttons into outlined ones, blows
 * up the headings and hides the category descriptions. Every declaration below
 * that a theme is likely to fight over is therefore locked.
 */

/* ------------------------------------------------------------------ */
/* Reset — neutralise inherited theme styling                          */
/* ------------------------------------------------------------------ */

#acc-root,
#acc-root *,
#acc-root *::before,
#acc-root *::after,
.acc-revisit,
.acc-revisit *,
.acc-embed-placeholder,
.acc-embed-placeholder *{
	box-sizing: border-box !important;
}

#acc-root{
	--acc-font: inherit;
	font-family: var(--acc-font) !important;
	font-size: 16px;
	position: relative;
	z-index: var(--acc-z, 999999);
	text-align: left !important;
}

#acc-root button,
#acc-root h2,
#acc-root p,
#acc-root span,
#acc-root label,
#acc-root table,
#acc-root th,
#acc-root td,
.acc-revisit{
	margin: 0;
	padding: 0;
	font-family: inherit;
	letter-spacing: normal !important;
	text-transform: none !important;
	text-shadow: none !important;
	background-image: none !important;
	box-shadow: none;
	min-width: 0;
	min-height: 0;
	max-width: none;
	width: auto;
	height: auto;
	float: none !important;
	text-align: left;
}

#acc-root button,
.acc-revisit{
	border: 0;
	background: transparent;
	border-radius: 0;
	color: inherit;
	font-size: inherit;
	line-height: 1.2;
	cursor: pointer;
	-webkit-appearance: none;
	appearance: none;
	transition: none;
}

#acc-root button::-moz-focus-inner{ border: 0; padding: 0; }

/* ------------------------------------------------------------------ */
/* Overlay                                                             */
/* ------------------------------------------------------------------ */

.acc-overlay{
	position: fixed !important;
	inset: 0;
	top: 0; right: 0; bottom: 0; left: 0;
	background: rgba(0,0,0,.55);
	z-index: var(--acc-z, 999999);
}

/* ------------------------------------------------------------------ */
/* Banner                                                              */
/* ------------------------------------------------------------------ */

.acc-banner{
	position: fixed !important;
	left: 0;
	right: 0;
	background: var(--acc-bg, #fff) !important;
	color: var(--acc-text, #1a1a1a);
	box-shadow: 0 -2px 24px rgba(0,0,0,.12);
	z-index: calc(var(--acc-z, 999999) + 1);
	animation: acc-slide-up .28s ease-out;
	max-height: 90vh;
	overflow-y: auto;
}
.acc-pos-bottom .acc-banner{ bottom: 0; border-top: 1px solid var(--acc-border,#e6e6e6); }
.acc-pos-top .acc-banner{ top: 0; border-bottom: 1px solid var(--acc-border,#e6e6e6); animation: acc-slide-down .28s ease-out; }

@keyframes acc-slide-up{ from{ transform: translateY(100%); } to{ transform: translateY(0); } }
@keyframes acc-slide-down{ from{ transform: translateY(-100%); } to{ transform: translateY(0); } }

.acc-banner-inner{
	max-width: 1320px;
	margin: 0 auto !important;
	padding: 24px 32px !important;
	display: flex !important;
	align-items: center;
	gap: 40px;
}
.acc-banner-copy{ flex: 1 1 auto; min-width: 0; }

#acc-root .acc-banner-title{
	display: block !important;
	margin: 0 0 8px !important;
	padding: 0 !important;
	font-size: 19px !important;
	line-height: 1.35 !important;
	font-weight: 700 !important;
	color: var(--acc-text, #1a1a1a) !important;
	font-family: inherit !important;
}
#acc-root .acc-banner-text{
	display: block !important;
	margin: 0 !important;
	padding: 0 !important;
	font-size: 14px !important;
	line-height: 1.6 !important;
	font-weight: 400 !important;
	color: var(--acc-muted, #4a4a4a) !important;
	max-width: 900px;
}
#acc-root .acc-policy-link{
	color: var(--acc-accent, #E6007E) !important;
	text-decoration: underline !important;
	font-size: inherit !important;
}

.acc-banner-actions{
	flex: 0 0 auto;
	display: flex !important;
	align-items: center;
	gap: 12px;
	flex-wrap: wrap;
}

/* Box / popup layouts */
.acc-layout-box .acc-banner{
	left: auto;
	right: 24px;
	bottom: 24px;
	max-width: 420px;
	border: 1px solid var(--acc-border,#e6e6e6);
	border-radius: var(--acc-radius, 6px);
}
.acc-layout-box .acc-banner-inner{ display: block !important; padding: 26px !important; }
.acc-layout-box .acc-banner-actions{ margin-top: 20px !important; }
.acc-layout-box .acc-btn{ flex: 1 1 auto; }

.acc-layout-popup .acc-banner{
	left: 50%;
	right: auto;
	top: 50%;
	bottom: auto;
	transform: translate(-50%,-50%);
	max-width: 520px;
	width: calc(100% - 32px);
	border-radius: var(--acc-radius, 6px);
	animation: none;
}
.acc-layout-popup .acc-banner-inner{ display: block !important; padding: 30px !important; }
.acc-layout-popup .acc-banner-actions{ margin-top: 22px !important; }

/* ------------------------------------------------------------------ */
/* Buttons                                                             */
/* ------------------------------------------------------------------ */

#acc-root .acc-btn{
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	padding: 12px 26px !important;
	font-size: 14px !important;
	font-weight: 600 !important;
	font-family: inherit !important;
	line-height: 1.25 !important;
	border-radius: var(--acc-radius, 6px) !important;
	border: 1px solid var(--acc-accent, #E6007E) !important;
	cursor: pointer !important;
	transition: opacity .15s ease, background-color .15s ease, color .15s ease !important;
	text-align: center !important;
	text-decoration: none !important;
	white-space: nowrap;
	width: auto;
	min-width: 0;
	height: auto;
	opacity: 1;
}
#acc-root .acc-btn:focus-visible{ outline: 2px solid var(--acc-accent,#E6007E) !important; outline-offset: 2px; }

#acc-root .acc-btn-primary{
	background: var(--acc-accent, #E6007E) !important;
	background-color: var(--acc-accent, #E6007E) !important;
	color: var(--acc-accent-text, #fff) !important;
}
#acc-root .acc-btn-primary:hover{ opacity: .88; }

#acc-root .acc-btn-ghost{
	background: transparent !important;
	background-color: transparent !important;
	color: var(--acc-accent, #E6007E) !important;
}
#acc-root .acc-btn-ghost:hover{
	background: var(--acc-accent, #E6007E) !important;
	background-color: var(--acc-accent, #E6007E) !important;
	color: var(--acc-accent-text,#fff) !important;
}

#acc-root .acc-link{
	display: inline !important;
	background: none !important;
	border: 0 !important;
	padding: 0 !important;
	margin: 0 0 0 4px !important;
	font: inherit !important;
	font-size: inherit !important;
	font-weight: 500 !important;
	color: var(--acc-accent, #E6007E) !important;
	text-decoration: underline !important;
	border-radius: 0 !important;
	cursor: pointer !important;
	vertical-align: baseline !important;
}

/* ------------------------------------------------------------------ */
/* Preferences modal                                                   */
/* ------------------------------------------------------------------ */

.acc-modal{
	position: fixed !important;
	inset: 0;
	top: 0; right: 0; bottom: 0; left: 0;
	z-index: calc(var(--acc-z, 999999) + 2);
	display: flex !important;
	align-items: center;
	justify-content: center;
	padding: 24px 16px;
}
.acc-modal-card{
	background: var(--acc-bg, #fff) !important;
	color: var(--acc-text, #1a1a1a);
	width: 100%;
	max-width: 845px;
	max-height: 92vh;
	display: flex !important;
	flex-direction: column;
	border-radius: var(--acc-radius, 6px);
	box-shadow: 0 12px 48px rgba(0,0,0,.28);
	overflow: hidden;
}
.acc-modal-head{
	display: flex !important;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	padding: 20px 26px !important;
	border-bottom: 1px solid var(--acc-border,#e6e6e6);
	flex: 0 0 auto;
}
#acc-root .acc-modal-head h2{
	display: block !important;
	margin: 0 !important;
	padding: 0 !important;
	font-size: 20px !important;
	font-weight: 700 !important;
	line-height: 1.3 !important;
	color: var(--acc-text, #1a1a1a) !important;
	font-family: inherit !important;
}
#acc-root .acc-modal-close{
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	width: 32px !important;
	height: 32px !important;
	flex: 0 0 auto;
	background: transparent !important;
	border: 0 !important;
	border-radius: 50% !important;
	font-size: 24px !important;
	font-weight: 400 !important;
	line-height: 1 !important;
	padding: 0 !important;
	cursor: pointer !important;
	color: var(--acc-muted,#4a4a4a) !important;
}
#acc-root .acc-modal-close:hover{ background: rgba(0,0,0,.06) !important; }

.acc-modal-body{
	padding: 20px 26px !important;
	overflow-y: auto;
	flex: 1 1 auto;
	-webkit-overflow-scrolling: touch;
}
#acc-root .acc-modal-intro{
	display: block !important;
	margin: 0 0 6px !important;
	padding: 0 !important;
	font-size: 14px !important;
	line-height: 1.65 !important;
	font-weight: 400 !important;
	color: var(--acc-muted, #4a4a4a) !important;
}
#acc-root .acc-more{
	display: inline !important;
	font-size: inherit !important;
	color: inherit !important;
	border: 0 !important;
}

.acc-modal-foot{
	display: flex !important;
	gap: 12px;
	padding: 18px 26px !important;
	border-top: 1px solid var(--acc-border,#e6e6e6);
	flex-wrap: wrap;
	flex: 0 0 auto;
}
.acc-modal-foot .acc-btn{ flex: 1 1 180px; }

/* ---------- Categories ---------- */

.acc-cats{ margin-top: 4px; }

.acc-cat{
	border-top: 1px solid var(--acc-border,#e6e6e6);
	padding: 14px 0 !important;
}
.acc-cat:first-child{ border-top: 0; }

.acc-cat-head{
	display: flex !important;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
}

#acc-root .acc-cat-toggle-desc{
	display: inline-flex !important;
	align-items: center !important;
	gap: 10px !important;
	background: transparent !important;
	background-color: transparent !important;
	border: 0 !important;
	border-radius: 0 !important;
	padding: 0 !important;
	margin: 0 !important;
	cursor: pointer !important;
	font-family: inherit !important;
	font-size: 15px !important;
	font-weight: 600 !important;
	line-height: 1.4 !important;
	color: var(--acc-text, #1a1a1a) !important;
	text-align: left !important;
	width: auto !important;
	box-shadow: none !important;
}
#acc-root .acc-cat-toggle-desc:hover{ color: var(--acc-accent,#E6007E) !important; }

#acc-root .acc-caret{
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	flex: 0 0 auto;
	width: 12px !important;
	height: 12px !important;
	border: 0 !important;
	background: none !important;
	transition: transform .18s ease;
	color: currentColor;
}
#acc-root .acc-caret svg{ display: block; width: 12px; height: 12px; }
#acc-root .acc-cat-toggle-desc[aria-expanded="true"] .acc-caret{ transform: rotate(90deg); }

#acc-root .acc-always{
	display: inline-block !important;
	font-size: 13px !important;
	font-weight: 700 !important;
	line-height: 1.4 !important;
	color: #15803d !important;
	white-space: nowrap;
	border: 0 !important;
	background: none !important;
}

#acc-root .acc-cat-desc{
	display: block !important;
	padding: 10px 0 2px 22px !important;
	margin: 0 !important;
	border: 0 !important;
	background: none !important;
}
#acc-root .acc-cat-desc p{
	display: block !important;
	margin: 0 0 10px !important;
	padding: 0 !important;
	font-family: inherit !important;
	font-size: 13.5px !important;
	line-height: 1.65 !important;
	font-weight: 400 !important;
	color: var(--acc-muted, #4a4a4a) !important;
	text-align: left !important;
}
#acc-root .acc-cat-desc p:last-child{ margin-bottom: 0 !important; }

/* ---------- Switch ---------- */

#acc-root .acc-switch{
	position: relative !important;
	display: inline-block !important;
	width: 44px !important;
	height: 24px !important;
	flex: 0 0 auto;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	font-size: 0 !important;
	vertical-align: middle;
}
#acc-root .acc-switch input{
	position: absolute !important;
	opacity: 0 !important;
	width: 100% !important;
	height: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
	cursor: pointer;
	z-index: 2;
	appearance: none;
	-webkit-appearance: none;
}
#acc-root .acc-slider{
	position: absolute !important;
	inset: 0;
	top: 0; right: 0; bottom: 0; left: 0;
	background: #cfcfcf !important;
	border: 0 !important;
	border-radius: 999px !important;
	transition: background-color .18s ease;
}
#acc-root .acc-slider::before{
	content: "" !important;
	position: absolute !important;
	width: 18px !important;
	height: 18px !important;
	left: 3px !important;
	top: 3px !important;
	background: #fff !important;
	border: 0 !important;
	border-radius: 50% !important;
	transition: transform .18s ease;
	box-shadow: 0 1px 3px rgba(0,0,0,.25) !important;
}
#acc-root .acc-switch input:checked + .acc-slider{ background: var(--acc-accent, #E6007E) !important; }
#acc-root .acc-switch input:checked + .acc-slider::before{ transform: translateX(20px); }
#acc-root .acc-switch input:focus-visible + .acc-slider{ outline: 2px solid var(--acc-accent,#E6007E); outline-offset: 2px; }

#acc-root .acc-sr{
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	overflow: hidden;
	clip: rect(1px,1px,1px,1px);
	white-space: nowrap;
}

/* ---------- Cookie declaration table ---------- */

#acc-root .acc-decl{
	display: table !important;
	width: 100% !important;
	border-collapse: collapse !important;
	border: 1px solid var(--acc-border,#e6e6e6) !important;
	font-size: 12.5px !important;
	line-height: 1.5 !important;
	margin: 6px 0 4px !important;
	background: transparent !important;
}
#acc-root .acc-decl th,
#acc-root .acc-decl td{
	border: 1px solid var(--acc-border,#e6e6e6) !important;
	padding: 7px 9px !important;
	font-size: 12.5px !important;
	line-height: 1.5 !important;
	color: var(--acc-muted,#4a4a4a) !important;
	text-align: left !important;
	vertical-align: top !important;
}
#acc-root .acc-decl th{
	background: rgba(0,0,0,.03) !important;
	font-weight: 600 !important;
	color: var(--acc-text,#1a1a1a) !important;
}

/* ------------------------------------------------------------------ */
/* Blocked embed placeholder                                           */
/* ------------------------------------------------------------------ */

.acc-embed-placeholder{
	display: none;
	background: #f4f4f5;
	border: 1px dashed #c9c9cf;
	border-radius: 6px;
	padding: 28px 20px;
	text-align: center;
	min-height: 160px;
	align-items: center;
	justify-content: center;
}
.acc-embed-placeholder.acc-visible{ display: flex !important; }
.acc-embed-placeholder p{
	margin: 0 0 12px !important;
	font-size: 14px !important;
	line-height: 1.5 !important;
	color: #52525b !important;
}
.acc-embed-btn{
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	-webkit-appearance: none;
	appearance: none;
	border: 1px solid var(--acc-accent, #E6007E) !important;
	background: var(--acc-accent, #E6007E) !important;
	color: var(--acc-accent-text, #fff) !important;
	border-radius: 6px !important;
	padding: 10px 18px !important;
	font-family: inherit !important;
	font-size: 13px !important;
	font-weight: 600 !important;
	line-height: 1.2 !important;
	cursor: pointer !important;
	width: auto !important;
}

/* ------------------------------------------------------------------ */
/* Revisit button                                                      */
/* ------------------------------------------------------------------ */

.acc-revisit{
	position: fixed !important;
	z-index: 999998;
	display: inline-flex !important;
	align-items: center !important;
	gap: 8px !important;
	background: var(--acc-accent, #E6007E) !important;
	background-color: var(--acc-accent, #E6007E) !important;
	color: var(--acc-accent-text, #fff) !important;
	border: 0 !important;
	border-radius: 999px !important;
	padding: 11px 17px 11px 14px !important;
	font-family: inherit !important;
	font-size: 13px !important;
	font-weight: 600 !important;
	line-height: 1 !important;
	cursor: pointer !important;
	box-shadow: 0 4px 14px rgba(0,0,0,.18) !important;
	width: auto !important;
	height: auto !important;
	margin: 0 !important;
	text-transform: none !important;
}
.acc-revisit:hover{ opacity: .9; }
.acc-revisit svg{ display: block; flex: 0 0 auto; }
.acc-revisit-bottom-left{ left: 18px; bottom: 18px; }
.acc-revisit-bottom-right{ right: 18px; bottom: 18px; }
.acc-revisit[hidden]{ display: none !important; }

/* Inline shortcode trigger — matches surrounding text */
.acc-open-prefs-link{
	display: inline !important;
	background: none !important;
	border: 0 !important;
	padding: 0 !important;
	margin: 0 !important;
	font: inherit !important;
	color: var(--acc-accent, #E6007E) !important;
	text-decoration: underline !important;
	cursor: pointer !important;
	border-radius: 0 !important;
}

/* ------------------------------------------------------------------ */
/* Responsive                                                          */
/* ------------------------------------------------------------------ */

@media (max-width: 1024px){
	.acc-banner-inner{ gap: 24px; padding: 20px 24px !important; }
}

@media (max-width: 860px){
	.acc-banner-inner{ display: block !important; padding: 20px !important; }
	.acc-banner-actions{ margin-top: 16px !important; gap: 10px; }
	.acc-banner-actions .acc-btn{ flex: 1 1 130px; }
	.acc-layout-box .acc-banner{ left: 12px; right: 12px; bottom: 12px; max-width: none; }
	.acc-modal{ padding: 12px; }
	.acc-modal-card{ max-height: 90vh; }
	.acc-modal-head{ padding: 16px 18px !important; }
	#acc-root .acc-modal-head h2{ font-size: 18px !important; }
	.acc-modal-body{ padding: 16px 18px !important; }
	.acc-modal-foot{ flex-direction: column; padding: 14px 18px !important; }
	.acc-modal-foot .acc-btn{ width: 100%; }
	.acc-revisit-text{ display: none; }
	.acc-revisit{ padding: 12px !important; border-radius: 50% !important; }
}

@media (prefers-reduced-motion: reduce){
	.acc-banner, .acc-caret, .acc-slider, .acc-slider::before{ animation: none !important; transition: none !important; }
}

/* ------------------------------------------------------------------ */
/* Final overrides — keep last                                         */
/*                                                                     */
/* `hidden` must beat every display rule above, including the          */
/* #acc-root-prefixed ones, or an invisible dialog still covers the    */
/* page and swallows clicks and every accordion sits open. These are   */
/* deliberately ID-scoped AND last in the file so they win on both     */
/* specificity and source order.                                       */
/* ------------------------------------------------------------------ */

#acc-root[hidden],
#acc-root .acc-overlay[hidden],
#acc-root .acc-banner[hidden],
#acc-root .acc-modal[hidden],
#acc-root .acc-cat[hidden],
#acc-root .acc-cat-desc[hidden],
#acc-root .acc-more[hidden],
#acc-root [hidden],
.acc-revisit[hidden],
.acc-embed-placeholder[hidden]{ display: none !important; }
