/*
Theme Name: beROVER
Theme URI: https://jawdandev.dz
Author: JawdanDEV
Author URI: https://jawdandev.dz
Description: beROVER Theme
Requires at least: 6.7
Tested up to: 7.0
Requires PHP: 7.4
Version: 2.0
License: GNU General Public License v2 or later
Text Domain: berover
*/

/* Default Dispositions: NOT ITALIC by default */
body, h1, h2, h3, h4, h5, h6, p, button, a, li, span, input, select {
	font-style: normal;
}

/* Explicit Italic Dispositions */
em, i, cite, .italic {
	font-style: italic;
}

/* 
 * 1 / Light Mode Colors:
 * Base: #F9F8F6
 * Contrast: #1A1A1A
 * Accent 1: #7E838B
 * Accent 2: #1A422B
 * Accent 3: #A0D284
 * Accent 4: #A7BEA8
 * Accent 5: #FFFFFF
 * Accent 6: #E7666E
 */
:root,
html[data-theme="light"],
body.is-light-theme {
	--wp--preset--color--base: #F9F8F6;
	--wp--preset--color--contrast: #1A1A1A;
	--wp--preset--color--accent-1: #7E838B;
	--wp--preset--color--accent-2: #1a422b;
	--wp--preset--color--accent-3: #a0d284;
	--wp--preset--color--accent-4: #a7bea8;
	--wp--preset--color--accent-5: #ffffff;
	--wp--preset--color--accent-6: #E7666E;
	--berover--color-base: #F9F8F6;
	--berover--color-contrast: #1A1A1A;
	--berover--color-accent-1: #7E838B;
	--berover--color-accent-2: #1a422b;
	--berover--color-accent-3: #a0d284;
	--berover--color-accent-4: #a7bea8;
	--berover--color-accent-5: #ffffff;
	--berover--color-accent-6: #E7666E;
	background-color: #F9F8F6;
	color: #1A1A1A;
}

html {
	background-color: #F9F8F6;
	color: #1A1A1A;
	transition: background-color 0.25s cubic-bezier(0.4, 0, 0.2, 1), color 0.25s cubic-bezier(0.4, 0, 0.2, 1);
}

body {
	background-color: var(--wp--preset--color--base);
	color: var(--wp--preset--color--contrast);
	transition: background-color 0.25s cubic-bezier(0.4, 0, 0.2, 1), color 0.25s cubic-bezier(0.4, 0, 0.2, 1);
	margin: 0;
	padding: 0;
}

/* 
 * 2 / Dark Mode Colors:
 * Base: #1A1A1A
 * Contrast: #F9F8F6
 * Accent 1: #EAEAEC
 * Accent 2: #1A422B
 * Accent 3: #A0D284
 * Accent 4: #A7BEA8
 * Accent 5: #171717
 * Accent 6: #C82D38
 */
html[data-theme="dark"],
html[data-theme="dark"] body,
html[data-theme="dark"] .wp-site-blocks,
body.is-dark-theme,
body.is-dark-theme .wp-site-blocks,
[data-theme="dark"] {
	--wp--preset--color--base: #1A1A1A !important;
	--wp--preset--color--contrast: #F9F8F6 !important;
	--wp--preset--color--accent-1: #EAEAEC !important;
	--wp--preset--color--accent-2: #1a422b !important;
	--wp--preset--color--accent-3: #a0d284 !important;
	--wp--preset--color--accent-4: #a7bea8 !important;
	--wp--preset--color--accent-5: #171717 !important;
	--wp--preset--color--accent-6: #C82D38 !important;
	--berover--color-base: #1A1A1A !important;
	--berover--color-contrast: #F9F8F6 !important;
	--berover--color-accent-1: #EAEAEC !important;
	--berover--color-accent-2: #1a422b !important;
	--berover--color-accent-3: #a0d284 !important;
	--berover--color-accent-4: #a7bea8 !important;
	--berover--color-accent-5: #171717 !important;
	--berover--color-accent-6: #C82D38 !important;
	background-color: #1A1A1A !important;
	color: #F9F8F6 !important;
}

/* Smooth Button Hover Animations */
button,
a.button,
.wp-block-button__link,
.berover-theme-toggle,
.berover-lang-toggle,
.berover-btn {
	transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1) !important;
}

button:hover,
a.button:hover,
.wp-block-button__link:hover,
.berover-btn:hover {
	box-shadow: none !important;
	transform: none !important;
}

button:active,
a.button:active,
.wp-block-button__link:active,
.berover-btn:active {
	transform: translateY(0) scale(0.98);
}

/* 
 * Theme Color Switcher: NO BORDER, ONLY BACKGROUND AND ICON COLOR
 */
.berover-theme-toggle {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 42px;
	height: 42px;
	padding: 0;
	margin: 0;
	border-radius: 9999px;
	border: none !important;
	border-width: 0 !important;
	background: var(--wp--preset--color--accent-5, #FFFFFF);
	color: var(--wp--preset--color--accent-2, #1A422B);
	cursor: pointer;
	box-shadow: none !important;
	line-height: 1;
	box-sizing: border-box;
}

.berover-theme-toggle:hover {
	box-shadow: none !important;
	transform: none !important;
}

.berover-theme-toggle svg {
	width: 22px;
	height: 22px;
	display: block;
	transition: transform 0.25s ease;
}

.berover-toggle-icon-sun {
	display: block !important;
}
.berover-toggle-icon-moon {
	display: none !important;
}

html[data-theme="dark"] .berover-theme-toggle,
body.is-dark-theme .berover-theme-toggle,
[data-theme="dark"] .berover-theme-toggle {
	background: var(--wp--preset--color--accent-5, #171717) !important;
	color: var(--wp--preset--color--contrast, #F9F8F6) !important;
	border: none !important;
	box-shadow: none !important;
}

html[data-theme="dark"] .berover-toggle-icon-sun,
body.is-dark-theme .berover-toggle-icon-sun,
[data-theme="dark"] .berover-toggle-icon-sun {
	display: none !important;
}

html[data-theme="dark"] .berover-toggle-icon-moon,
body.is-dark-theme .berover-toggle-icon-moon,
[data-theme="dark"] .berover-toggle-icon-moon {
	display: block !important;
}

/* 
 * Trilingual Language Switcher Widget: NO BORDER, THMANYAH SERIF DISPLAY 700 BOLD
 */
.berover-lang-toggle {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 8px 14px;
	border-radius: 9999px;
	border: none !important;
	border-width: 0 !important;
	background: var(--wp--preset--color--accent-5, #FFFFFF);
	color: var(--wp--preset--color--accent-2, #1A422B);
	font-family: 'Thmanyah Serif Display', Georgia, serif;
	font-weight: 700;
	font-size: 13px;
	cursor: pointer;
	box-shadow: none !important;
}

.berover-lang-toggle:hover {
	box-shadow: none !important;
	transform: none !important;
}

html[data-theme="dark"] .berover-lang-toggle,
body.is-dark-theme .berover-lang-toggle,
[data-theme="dark"] .berover-lang-toggle {
	background: var(--wp--preset--color--accent-5, #171717) !important;
	color: var(--wp--preset--color--contrast, #F9F8F6) !important;
	border: none !important;
	box-shadow: none !important;
}

/* Segmented Language Switcher Styles */
.berover-trilingual-switcher {
	display: inline-flex;
	align-items: center;
	padding: 4px;
	border-radius: 9999px;
	border: none !important;
	background: var(--wp--preset--color--accent-4);
	box-shadow: none !important;
}
.berover-lang-btn {
	border: none !important;
	outline: none !important;
	border-radius: 9999px;
	font-family: 'Thmanyah Serif Display', Georgia, serif !important;
	font-weight: 700 !important;
	font-size: 12px;
	padding: 4px 12px;
	cursor: pointer;
	transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
	color: var(--wp--preset--color--accent-2, #1A422B);
	background: transparent;
}
.berover-lang-btn:hover {
	transform: none !important;
	opacity: 1;
}
.berover-lang-btn.is-active {
	background: var(--wp--preset--color--accent-2) !important;
	color: var(--wp--preset--color--accent-3) !important;
	box-shadow: none !important;
}
html[data-theme="dark"] .berover-lang-btn.is-active,
body.is-dark-theme .berover-lang-btn.is-active {
	background: var(--wp--preset--color--accent-2) !important;
	color: var(--wp--preset--color--accent-3) !important;
}

/* Hover-triggered Language Dropdown */
.berover-trilingual-dropdown-wrapper:hover .berover-lang-dropdown-menu,
.berover-trilingual-dropdown-wrapper:focus-within .berover-lang-dropdown-menu {
	display: block !important;
	animation: beroverDropdownFade 0.18s cubic-bezier(0.4, 0, 0.2, 1);
}

@keyframes beroverDropdownFade {
	from {
		opacity: 0;
		transform: translateY(-4px) scale(0.98);
	}
	to {
		opacity: 1;
		transform: translateY(0) scale(1);
	}
}

.berover-lang-dropdown-menu {
	background-color: var(--wp--preset--color--accent-4) !important;
	border: 1px solid var(--wp--preset--color--accent-5) !important;
}

.berover-lang-option:hover {
	background-color: var(--wp--preset--color--base) !important;
	color: var(--wp--preset--color--contrast) !important;
	transform: none !important;
}

/* ========================================================
   Automatic Language & Container Direction (Native Bidirectional)
   ======================================================== */
[dir="auto"],
.wp-block-post-title,
.wp-block-post-content,
.wp-block-paragraph,
.wp-block-heading,
.wp-block-quote,
.wp-block-columns,
.wp-block-column,
.wp-block-group {
	unicode-bidi: plaintext;
	text-align: start;
}

html[dir="rtl"],
body.rtl {
	direction: rtl;
	text-align: right;
}

html[dir="ltr"],
body.ltr {
	direction: ltr;
	text-align: left;
}

/* Fluid logical alignments for bidirectional block layouts */
.wp-block-group,
.wp-block-post-content {
	padding-inline-start: 0;
	padding-inline-end: 0;
}

/* Dual Mode Site Logo: Light Media (Default) & 2nd Dark Media */
.berover-dual-logo-container,
.custom-logo-link {
	display: inline-flex;
	align-items: center;
	line-height: 1;
}

.berover-logo {
	display: block;
	transition: opacity 0.25s cubic-bezier(0.4, 0, 0.2, 1);
}

.berover-logo-light {
	display: block !important;
}

.berover-logo-dark {
	display: none !important;
}

html[data-theme="dark"] .berover-logo-light,
body.is-dark-theme .berover-logo-light,
[data-theme="dark"] .berover-logo-light {
	display: none !important;
}

html[data-theme="dark"] .berover-logo-dark,
body.is-dark-theme .berover-logo-dark,
[data-theme="dark"] .berover-logo-dark {
	display: block !important;
}

/* ==========================================================================
   Header & Content Container Dimensions & Dispositions
   ========================================================================== */

/* 1. Global Viewport & Container Reset */
.wp-site-blocks,
body .is-layout-constrained,
body .is-layout-flow {
	box-sizing: border-box;
}

/* 2. Header Container Disposition & Sizing */
header.wp-block-group,
.wp-block-template-part > header,
.wp-site-blocks > header,
.wp-block-group.site-header {
	width: 100%;
	max-width: 100%;
	box-sizing: border-box;
}

header.wp-block-group > .wp-block-group,
.wp-block-template-part > header > .wp-block-group {
	max-width: var(--wp--style--global--wide-size, 1340px);
	margin-left: auto !important;
	margin-right: auto !important;
	box-sizing: border-box;
}

/* 3. Content Block Disposition & Typographic Line Measures */
.entry-content,
.wp-block-post-content {
	width: 100%;
	box-sizing: border-box;
}

/* Standard Constrained Child: Respects Readable 840px content-size */
.is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull):not(.alignwide)) {
	max-width: var(--wp--style--global--content-size, 840px);
	margin-left: auto !important;
	margin-right: auto !important;
}

/* Wide Container: Spans up to 1340px wide-size with margin auto */
.is-layout-constrained > :where(.alignwide) {
	max-width: var(--wp--style--global--wide-size, 1340px);
	margin-left: auto !important;
	margin-right: auto !important;
}

/* Full Width Element: 100% Viewport Span */
.is-layout-constrained > :where(.alignfull) {
	max-width: 100% !important;
	width: 100% !important;
}

/* Gutter Guard: Prevent elements from touching screen boundaries */
.wp-site-blocks > main {
	box-sizing: border-box;
	width: 100%;
}

/* ==========================================================================
   Container Position & Disposition Architecture (Sticky, Fixe & Responsive)
   For Grid, Row, Stack, Group, and Columns
   ========================================================================== */

/* 1. Sticky Position */
.has-position-sticky {
	position: sticky !important;
	top: var(--berover-pos-offset, 0px) !important;
	z-index: var(--berover-pos-zindex, 100) !important;
}

/* 2. Fixed (Fixe) & Responsive Base */
.has-position-fixed,
.has-position-responsive {
	z-index: var(--berover-pos-zindex, 100) !important;
	box-sizing: border-box !important;
}

/* Fixed Always Active */
.has-position-fixed,
.has-position-responsive.position-device-all-screens {
	position: fixed !important;
}

/* Responsive Device Breakpoints */
@media (max-width: 767px) {
	.has-position-responsive.position-device-mobile-only {
		position: fixed !important;
	}
	.has-position-responsive.position-device-desktop-only {
		position: static !important;
	}
}

@media (min-width: 768px) {
	.has-position-responsive.position-device-desktop-only {
		position: fixed !important;
	}
	.has-position-responsive.position-device-mobile-only {
		position: static !important;
	}
}

/* --- DISPOSITION: TOP --- */
.has-position-fixed.position-disposition-top,
.has-position-responsive.position-disposition-top {
	top: var(--berover-pos-offset, 0px) !important;
	bottom: auto !important;
}

.has-position-fixed.position-disposition-top.position-align-left,
.has-position-responsive.position-disposition-top.position-align-left {
	left: var(--berover-pos-offset, 0px) !important;
	right: auto !important;
}

.has-position-fixed.position-disposition-top.position-align-center,
.has-position-responsive.position-disposition-top.position-align-center {
	left: 50% !important;
	right: auto !important;
	transform: translateX(-50%) !important;
	max-width: calc(100% - (var(--berover-pos-offset, 0px) * 2)) !important;
}

.has-position-fixed.position-disposition-top.position-align-right,
.has-position-responsive.position-disposition-top.position-align-right {
	right: var(--berover-pos-offset, 0px) !important;
	left: auto !important;
}

.has-position-fixed.position-disposition-top.position-align-space-between,
.has-position-responsive.position-disposition-top.position-align-space-between {
	left: var(--berover-pos-offset, 0px) !important;
	right: var(--berover-pos-offset, 0px) !important;
	width: calc(100% - (var(--berover-pos-offset, 0px) * 2)) !important;
	max-width: calc(100% - (var(--berover-pos-offset, 0px) * 2)) !important;
}

/* --- DISPOSITION: BOTTOM --- */
.has-position-fixed.position-disposition-bottom,
.has-position-responsive.position-disposition-bottom {
	bottom: var(--berover-pos-offset, 0px) !important;
	top: auto !important;
}

.has-position-fixed.position-disposition-bottom.position-align-left,
.has-position-responsive.position-disposition-bottom.position-align-left {
	left: var(--berover-pos-offset, 0px) !important;
	right: auto !important;
}

.has-position-fixed.position-disposition-bottom.position-align-center,
.has-position-responsive.position-disposition-bottom.position-align-center {
	left: 50% !important;
	right: auto !important;
	transform: translateX(-50%) !important;
	max-width: calc(100% - (var(--berover-pos-offset, 0px) * 2)) !important;
}

.has-position-fixed.position-disposition-bottom.position-align-right,
.has-position-responsive.position-disposition-bottom.position-align-right {
	right: var(--berover-pos-offset, 0px) !important;
	left: auto !important;
}

.has-position-fixed.position-disposition-bottom.position-align-space-between,
.has-position-responsive.position-disposition-bottom.position-align-space-between {
	left: var(--berover-pos-offset, 0px) !important;
	right: var(--berover-pos-offset, 0px) !important;
	width: calc(100% - (var(--berover-pos-offset, 0px) * 2)) !important;
	max-width: calc(100% - (var(--berover-pos-offset, 0px) * 2)) !important;
}

/* --- DISPOSITION: LEFT --- */
.has-position-fixed.position-disposition-left,
.has-position-responsive.position-disposition-left {
	left: var(--berover-pos-offset, 0px) !important;
	right: auto !important;
}

.has-position-fixed.position-disposition-left.position-align-left,
.has-position-responsive.position-disposition-left.position-align-left {
	top: var(--berover-pos-offset, 0px) !important;
	bottom: auto !important;
}

.has-position-fixed.position-disposition-left.position-align-center,
.has-position-responsive.position-disposition-left.position-align-center {
	top: 50% !important;
	bottom: auto !important;
	transform: translateY(-50%) !important;
}

.has-position-fixed.position-disposition-left.position-align-right,
.has-position-responsive.position-disposition-left.position-align-right {
	bottom: var(--berover-pos-offset, 0px) !important;
	top: auto !important;
}

.has-position-fixed.position-disposition-left.position-align-space-between,
.has-position-responsive.position-disposition-left.position-align-space-between {
	top: var(--berover-pos-offset, 0px) !important;
	bottom: var(--berover-pos-offset, 0px) !important;
	height: calc(100% - (var(--berover-pos-offset, 0px) * 2)) !important;
}

/* --- DISPOSITION: RIGHT --- */
.has-position-fixed.position-disposition-right,
.has-position-responsive.position-disposition-right {
	right: var(--berover-pos-offset, 0px) !important;
	left: auto !important;
}

.has-position-fixed.position-disposition-right.position-align-left,
.has-position-responsive.position-disposition-right.position-align-left {
	top: var(--berover-pos-offset, 0px) !important;
	bottom: auto !important;
}

.has-position-fixed.position-disposition-right.position-align-center,
.has-position-responsive.position-disposition-right.position-align-center {
	top: 50% !important;
	bottom: auto !important;
	transform: translateY(-50%) !important;
}

.has-position-fixed.position-disposition-right.position-align-right,
.has-position-responsive.position-disposition-right.position-align-right {
	bottom: var(--berover-pos-offset, 0px) !important;
	top: auto !important;
}

.has-position-fixed.position-disposition-right.position-align-space-between,
.has-position-responsive.position-disposition-right.position-align-space-between {
	top: var(--berover-pos-offset, 0px) !important;
	bottom: var(--berover-pos-offset, 0px) !important;
	height: calc(100% - (var(--berover-pos-offset, 0px) * 2)) !important;
}

/* ==========================================================================
   Universal Block Tooltip Architecture
   ========================================================================== */
.has-berover-tooltip {
	position: relative !important;
}

.berover-tooltip-bubble {
	position: absolute;
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transition: opacity 0.2s cubic-bezier(0.16, 1, 0.3, 1), transform 0.2s cubic-bezier(0.16, 1, 0.3, 1);
	color: var(--berover-tooltip-color, var(--wp--preset--color--accent-5, #FFFFFF));
	background-color: var(--berover-tooltip-bg, var(--wp--preset--color--accent-2, #1A422B));
	padding: var(--berover-tooltip-padding, 8px 12px);
	border: var(--berover-tooltip-bsize, 1px) solid var(--berover-tooltip-border, var(--wp--preset--color--accent-4, #A7BEA8));
	border-radius: var(--berover-tooltip-radius, 8px);
	font-family: var(--berover-tooltip-font, inherit);
	font-size: var(--berover-tooltip-fsize, 12px);
	line-height: 1.35;
	box-shadow: var(--berover-tooltip-shadow, none);
	z-index: var(--berover-tooltip-zindex, 9999);
	white-space: normal;
	min-width: 120px;
	max-width: 280px;
	box-sizing: border-box;
	text-align: center;
}

/* Tooltip Reveal on Hover and Focus */
.has-berover-tooltip:hover > .berover-tooltip-bubble,
.has-berover-tooltip:focus-within > .berover-tooltip-bubble {
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
}

/* Dispositions & Anchor Alignment */
.berover-tooltip-top {
	bottom: calc(100% + var(--berover-tooltip-margin, 10px));
	left: 50%;
	transform: translateX(-50%) translateY(4px);
}
.has-berover-tooltip:hover > .berover-tooltip-top,
.has-berover-tooltip:focus-within > .berover-tooltip-top {
	transform: translateX(-50%) translateY(0);
}

.berover-tooltip-top-left {
	bottom: calc(100% + var(--berover-tooltip-margin, 10px));
	left: 0;
	transform: translateY(4px);
}
.has-berover-tooltip:hover > .berover-tooltip-top-left,
.has-berover-tooltip:focus-within > .berover-tooltip-top-left {
	transform: translateY(0);
}

.berover-tooltip-top-right {
	bottom: calc(100% + var(--berover-tooltip-margin, 10px));
	right: 0;
	transform: translateY(4px);
}
.has-berover-tooltip:hover > .berover-tooltip-top-right,
.has-berover-tooltip:focus-within > .berover-tooltip-top-right {
	transform: translateY(0);
}

.berover-tooltip-bottom {
	top: calc(100% + var(--berover-tooltip-margin, 10px));
	left: 50%;
	transform: translateX(-50%) translateY(-4px);
}
.has-berover-tooltip:hover > .berover-tooltip-bottom,
.has-berover-tooltip:focus-within > .berover-tooltip-bottom {
	transform: translateX(-50%) translateY(0);
}

.berover-tooltip-bottom-left {
	top: calc(100% + var(--berover-tooltip-margin, 10px));
	left: 0;
	transform: translateY(-4px);
}
.has-berover-tooltip:hover > .berover-tooltip-bottom-left,
.has-berover-tooltip:focus-within > .berover-tooltip-bottom-left {
	transform: translateY(0);
}

.berover-tooltip-bottom-right {
	top: calc(100% + var(--berover-tooltip-margin, 10px));
	right: 0;
	transform: translateY(-4px);
}
.has-berover-tooltip:hover > .berover-tooltip-bottom-right,
.has-berover-tooltip:focus-within > .berover-tooltip-bottom-right {
	transform: translateY(0);
}

.berover-tooltip-left {
	right: calc(100% + var(--berover-tooltip-margin, 10px));
	top: 50%;
	transform: translateY(-50%) translateX(4px);
}
.has-berover-tooltip:hover > .berover-tooltip-left,
.has-berover-tooltip:focus-within > .berover-tooltip-left {
	transform: translateY(-50%) translateX(0);
}

.berover-tooltip-right {
	left: calc(100% + var(--berover-tooltip-margin, 10px));
	top: 50%;
	transform: translateY(-50%) translateX(-4px);
}
.has-berover-tooltip:hover > .berover-tooltip-right,
.has-berover-tooltip:focus-within > .berover-tooltip-right {
	transform: translateY(-50%) translateX(0);
}

/* ==========================================================================
   Unified Gutenberg Block Inspector (No Two Tabs, Single Seamless Stream)
   ========================================================================== */
.block-editor-block-inspector .components-tab-panel__tabs,
.edit-post-sidebar .components-tab-panel__tabs,
.interface-interface-skeleton__sidebar .components-tab-panel__tabs {
	display: none !important;
}

.block-editor-block-inspector .components-tab-panel__tab-content {
	padding-top: 0 !important;
}

/* ==========================================================================
   Clean Buttons & Icons (Default Setting Design: No Shadow or Background on Hover)
   ========================================================================== */
button:hover,
a.button:hover,
.wp-block-button__link:hover,
.components-button:hover,
.components-panel__body-toggle:hover,
.block-editor-block-inspector button:hover,
.berover-panel-tooltip button:hover,
.berover-panel-position button:hover {
	color: var(--wp--preset--color--accent-3) !important;
	box-shadow: none !important;
	transform: none !important;
}
/* ==========================================================================
   Universal Block & Widget Palette Adaptor (Seamless Light/Dark Theme Switching)
   ========================================================================== */
.has-base-color { color: var(--wp--preset--color--base) !important; }
.has-contrast-color { color: var(--wp--preset--color--contrast) !important; }
.has-accent-1-color { color: var(--wp--preset--color--accent-1) !important; }
.has-accent-2-color { color: var(--wp--preset--color--accent-2) !important; }
.has-accent-3-color { color: var(--wp--preset--color--accent-3) !important; }
.has-accent-4-color { color: var(--wp--preset--color--accent-4) !important; }
.has-accent-5-color { color: var(--wp--preset--color--accent-5) !important; }
.has-accent-6-color { color: var(--wp--preset--color--accent-6) !important; }

.has-base-background-color { background-color: var(--wp--preset--color--base) !important; }
.has-contrast-background-color { background-color: var(--wp--preset--color--contrast) !important; }
.has-accent-1-background-color { background-color: var(--wp--preset--color--accent-1) !important; }
.has-accent-2-background-color { background-color: var(--wp--preset--color--accent-2) !important; }
.has-accent-3-background-color { background-color: var(--wp--preset--color--accent-3) !important; }
.has-accent-4-background-color { background-color: var(--wp--preset--color--accent-4) !important; }
.has-accent-5-background-color { background-color: var(--wp--preset--color--accent-5) !important; }
.has-accent-6-background-color { background-color: var(--wp--preset--color--accent-6) !important; }

.has-base-border-color { border-color: var(--wp--preset--color--base) !important; }
.has-contrast-border-color { border-color: var(--wp--preset--color--contrast) !important; }
.has-accent-1-border-color { border-color: var(--wp--preset--color--accent-1) !important; }
.has-accent-2-border-color { border-color: var(--wp--preset--color--accent-2) !important; }
.has-accent-3-border-color { border-color: var(--wp--preset--color--accent-3) !important; }
.has-accent-4-border-color { border-color: var(--wp--preset--color--accent-4) !important; }
.has-accent-5-border-color { border-color: var(--wp--preset--color--accent-5) !important; }
.has-accent-6-border-color { border-color: var(--wp--preset--color--accent-6) !important; }

.widget,
.wp-block-widget,
.wp-site-blocks .wp-block-group,
.wp-site-blocks .wp-block-columns,
.wp-site-blocks .wp-block-column {
	transition: background-color 0.25s cubic-bezier(0.4, 0, 0.2, 1), color 0.25s cubic-bezier(0.4, 0, 0.2, 1), border-color 0.25s cubic-bezier(0.4, 0, 0.2, 1);
}
/* ==========================================================================
   Theme Buttons: Default #1a422b bg / #a0d284 text with FULL Customization
   - By default: background is #1a422b (accent-2) and text is #a0d284 (accent-3)
   - When a user customizes color/style in Gutenberg editor or settings,
     it immediately takes full effect without being locked by !important.
   - Sizing: Sleek 5px padding top & bottom, 14px left & right, 8px radius
   - Zero blue hover across all states
   ========================================================================== */

/* Button base structure and dimensions */
.wp-block-button__link,
.wp-block-button .wp-element-button,
.wp-element-button,
a.button,
button.button-primary,
.berover-btn-primary {
	padding-top: 5px;
	padding-bottom: 5px;
	padding-left: 14px;
	padding-right: 14px;
	border-radius: 8px;
	font-size: 13px;
	line-height: 1.4;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
	border: none;
	text-decoration: none;
	cursor: pointer;
}

/* Default button colors (applied only when no custom background / text color is set) */
.wp-block-button__link:not(.has-background),
.wp-block-button .wp-element-button:not(.has-background),
.wp-element-button:not(.has-background),
a.button:not(.has-background),
button.button-primary:not(.has-background),
.berover-btn-primary:not(.has-background) {
	background-color: var(--wp--preset--color--accent-2, #1a422b);
}

.wp-block-button__link:not(.has-text-color),
.wp-block-button .wp-element-button:not(.has-text-color),
.wp-element-button:not(.has-text-color),
a.button:not(.has-text-color),
button.button-primary:not(.has-text-color),
.berover-btn-primary:not(.has-text-color) {
	color: var(--wp--preset--color--accent-3, #a0d284);
}

/* Default Hover state */
.wp-block-button__link:not(.has-background):hover,
.wp-block-button .wp-element-button:not(.has-background):hover,
.wp-element-button:not(.has-background):hover,
a.button:not(.has-background):hover,
button.button-primary:not(.has-background):hover,
.berover-btn-primary:not(.has-background):hover {
	background-color: var(--wp--preset--color--accent-2, #1a422b);
	opacity: 0.92;
	box-shadow: none;
	transform: none;
}

.wp-block-button__link:not(.has-text-color):hover,
.wp-block-button .wp-element-button:not(.has-text-color):hover,
.wp-element-button:not(.has-text-color):hover,
a.button:not(.has-text-color):hover,
button.button-primary:not(.has-text-color):hover,
.berover-btn-primary:not(.has-text-color):hover {
	color: var(--wp--preset--color--accent-3, #a0d284);
}

/* Custom button hover state (preserves user custom colors while giving subtle feedback) */
.wp-block-button__link.has-background:hover,
.wp-block-button .wp-element-button.has-background:hover,
.wp-element-button.has-background:hover {
	opacity: 0.90;
	box-shadow: none;
	transform: none;
}

/* Zero Blue Hover / Outline when surfing */
a:hover,
a:focus,
.wp-block-button__link:hover,
.wp-block-button__link:focus,
.wp-element-button:hover,
.wp-element-button:focus {
	outline: none;
}
