/*
Theme Name: Bridge Child
Theme URI: http://bridgelanding.qodeinteractive.com/
Description: A child theme of Bridge Theme
Author: Qode Interactive
Author URI: https://qodeinteractive.com
Version: 1.1.0
Text Domain: bridge
Template: bridge
*/

/* ==========================================================================
   BeatUsedTech – Custom Header  (v1.0.0)
   ========================================================================== */

/* ── Reset / base ─────────────────────────────────────────────────────────── */
#but-header,
#but-header * {
	box-sizing: border-box !important;
}

/* ── Topbar: fixed at top:0.
   JS hides it (is-hidden) once user has scrolled past its height. ─────────── */
#but-topbar.but-header__topbar {
	position: fixed !important;
	top: 0 !important;
	left: 0 !important;
	right: 0 !important;
	z-index: 99998 !important;
	width: 100% !important;
	transform: translateY(0) !important;
	transition: transform 0.28s ease !important;
}

#but-topbar.but-header__topbar.is-hidden {
	transform: translateY(-100%) !important;
}

/* ── Nav bar: fixed, sits below the topbar at page-top.
   JS sets --but-topbar-height. When topbar hides, JS adds
   .but-header--revealed (top:0). When scrolling down, .but-header--hidden
   (transform off-screen). ─────────────────────────────────────────────────── */
#but-header.but-header {
	position: fixed !important;
	left: 0 !important;
	right: 0 !important;
	top: var(--but-topbar-height, 48px) !important;
	z-index: 99999 !important;
	width: 100% !important;
	transform: translateY(0) !important;
	transition: transform 0.32s ease, top 0.28s ease, box-shadow 0.25s ease !important;
}

/* Nav revealed on scroll-up: moves to top of viewport */
#but-header.but-header.but-header--revealed {
	top: 0 !important;
	box-shadow: 0 2px 16px rgba(0, 0, 0, 0.18) !important;
}

/* Nav hidden on scroll-down: slides up off-screen */
#but-header.but-header.but-header--hidden {
	transform: translateY(-100%) !important;
}

/* Body padding = total header height (topbar + nav).
   JS sets --but-total-header-height on load / resize. */
body {
	padding-top: var(--but-total-header-height, 120px) !important;
}

/* ── Topbar ───────────────────────────────────────────────────────────────── */
#but-topbar.but-header__topbar {
	background: #ffffff !important;
	width: 100% !important;
	border-bottom: 1px solid #e8eaed !important;
}

#but-topbar .but-header__topbar-inner {
	max-width: 1400px !important;
	margin: 0 auto !important;
	padding: 0 24px !important;  /* matches .but-header__nav-inner */
	height: 48px !important;
	display: flex !important;
	flex-direction: row !important;
	align-items: center !important;
	justify-content: space-between !important;
	box-sizing: border-box !important;
}

#but-topbar .but-header__topbar-socials {
	display: flex !important;
	flex-direction: row !important;
	align-items: center !important;
	gap: 10px !important;
	height: 100% !important;
}

#but-topbar .but-header__topbar-social-link {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 32px !important;
	height: 32px !important;
	min-width: 32px !important;
	min-height: 32px !important;
	border: 1px solid rgba(0, 0, 0, 0.25) !important;
	border-radius: 50% !important;
	background: transparent !important;
	color: #1a1a2e !important;
	text-decoration: none !important;
	line-height: 1 !important;
	vertical-align: middle !important;
	padding: 0 !important;
	margin: 0 !important;
	transition: border-color 0.2s ease, color 0.2s ease, background 0.2s ease !important;
	flex-shrink: 0 !important;
}

#but-topbar .but-header__topbar-social-link:hover {
	border-color: #2453d4 !important;
	color: #2453d4 !important;
	background: rgba(36, 83, 212, 0.07) !important;
}

#but-topbar .but-header__topbar-social-link svg {
	display: block !important;
	width: 15px !important;
	height: 15px !important;
	flex-shrink: 0 !important;
}

#but-topbar .but-header__topbar-text {
	font-family: 'Poppins', sans-serif !important;
	font-size: 0.8rem !important;
	font-weight: 500 !important;
	color: #333 !important;
	margin: 0 !important;
	padding: 0 !important;
	letter-spacing: 0.02em !important;
}

/* ── Main nav bar ─────────────────────────────────────────────────────────── */
#but-header .but-header__nav {
	width: 100% !important;
	background-color: #2453d4 !important;
}

#but-header .but-header__nav-inner {
	max-width: 1400px !important;
	margin: 0 auto !important;
	padding: 0 24px !important;
	height: 72px !important;
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	gap: 24px !important;
}

/* ── Logo ─────────────────────────────────────────────────────────────────── */
#but-header .but-header__logo-link {
	display: flex !important;
	align-items: center !important;
	text-decoration: none !important;
	flex-shrink: 0 !important;
}

#but-header .but-header__logo-img {
	display: block !important;
	max-height: 48px !important;
	width: auto !important;
}

#but-header .but-header__logo-text {
	font-family: 'Poppins', sans-serif !important;
	font-size: 1.25rem !important;
	font-weight: 700 !important;
	color: #ffffff !important;
	letter-spacing: -0.01em !important;
}

/* ── Desktop menu ─────────────────────────────────────────────────────────── */
#but-header .but-header__nav-menu {
	flex: 1 1 auto !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
}

#but-header .but-header__menu {
	display: flex !important;
	align-items: center !important;
	list-style: none !important;
	margin: 0 !important;
	padding: 0 !important;
	gap: 4px !important;
}

#but-header .but-header__menu li {
	position: relative !important;
	list-style: none !important;
	margin: 0 !important;
	padding: 0 !important;
}

#but-header .but-header__menu > li > a,
#but-header .but-header__menu > li > span {
	display: flex !important;
	align-items: center !important;
	padding: 6px 14px !important;
	font-family: 'Poppins', sans-serif !important;
	font-size: 0.9rem !important;
	font-weight: 500 !important;
	color: #ffffff !important;
	text-decoration: none !important;
	border-radius: 6px !important;
	transition: background 0.18s ease, color 0.18s ease !important;
	white-space: nowrap !important;
}

#but-header .but-header__menu > li > a:hover,
#but-header .but-header__menu > li.current-menu-item > a,
#but-header .but-header__menu > li.current-menu-ancestor > a {
	background: rgba(255, 255, 255, 0.15) !important;
	color: #ffffff !important;
}

/* Dropdown sub-menu */
#but-header .but-header__menu .sub-menu {
	display: none !important;
	position: absolute !important;
	top: calc(100% + 6px) !important;
	left: 0 !important;
	min-width: 200px !important;
	background: #ffffff !important;
	border-radius: 8px !important;
	box-shadow: 0 8px 32px rgba(0, 0, 0, 0.14) !important;
	padding: 8px 0 !important;
	list-style: none !important;
	margin: 0 !important;
	z-index: 100000 !important;
}

#but-header .but-header__menu li:hover > .sub-menu,
#but-header .but-header__menu li:focus-within > .sub-menu {
	display: block !important;
}

#but-header .but-header__menu .sub-menu li a {
	display: block !important;
	padding: 9px 18px !important;
	font-family: 'Poppins', sans-serif !important;
	font-size: 0.875rem !important;
	font-weight: 400 !important;
	color: #1a1a2e !important;
	text-decoration: none !important;
	transition: background 0.15s ease !important;
	white-space: nowrap !important;
}

#but-header .but-header__menu .sub-menu li a:hover {
	background: #f0f4ff !important;
	color: #2453d4 !important;
}

/* ── Right side controls ──────────────────────────────────────────────────── */
#but-header .but-header__nav-right {
	display: flex !important;
	align-items: center !important;
	gap: 8px !important;
	flex-shrink: 0 !important;
}

#but-header .but-header__search-btn,
#but-header .but-header__hamburger {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	background: transparent !important;
	border: none !important;
	cursor: pointer !important;
	padding: 8px !important;
	border-radius: 6px !important;
	color: #ffffff !important;
	transition: background 0.18s ease !important;
	line-height: 1 !important;
}

#but-header .but-header__search-btn:hover,
#but-header .but-header__hamburger:hover {
	background: rgba(255, 255, 255, 0.15) !important;
}

#but-header .but-header__search-btn svg,
#but-header .but-header__hamburger svg {
	display: block !important;
}

/* ── Hamburger bars ───────────────────────────────────────────────────────── */
#but-header .but-header__hamburger {
	display: none !important; /* shown only on mobile */
	flex-direction: column !important;
	gap: 5px !important;
	width: 40px !important;
	height: 40px !important;
}

#but-header .but-header__hamburger-bar {
	display: block !important;
	width: 22px !important;
	height: 2px !important;
	background: #ffffff !important;
	border-radius: 2px !important;
	transition: transform 0.25s ease, opacity 0.25s ease !important;
}

#but-header .but-header__hamburger.is-open .but-header__hamburger-bar:nth-child(1) {
	transform: translateY(7px) rotate(45deg) !important;
}
#but-header .but-header__hamburger.is-open .but-header__hamburger-bar:nth-child(2) {
	opacity: 0 !important;
}
#but-header .but-header__hamburger.is-open .but-header__hamburger-bar:nth-child(3) {
	transform: translateY(-7px) rotate(-45deg) !important;
}

/* ── Mobile drawer ────────────────────────────────────────────────────────── */
#but-header .but-header__mobile-drawer {
	display: none !important;
	background: #1c3ab8 !important;
	overflow: hidden !important;
	max-height: 0 !important;
	transition: max-height 0.3s ease !important;
}

#but-header .but-header__mobile-drawer.is-open {
	display: block !important;
	max-height: 600px !important;
}

#but-header .but-header__mobile-menu {
	display: block !important;
	list-style: none !important;
	margin: 0 !important;
	padding: 12px 24px 20px !important;
}

#but-header .but-header__mobile-menu li {
	list-style: none !important;
	border-bottom: 1px solid rgba(255, 255, 255, 0.1) !important;
}

#but-header .but-header__mobile-menu li:last-child {
	border-bottom: none !important;
}

#but-header .but-header__mobile-menu a {
	display: block !important;
	padding: 12px 0 !important;
	font-family: 'Poppins', sans-serif !important;
	font-size: 0.95rem !important;
	font-weight: 500 !important;
	color: #ffffff !important;
	text-decoration: none !important;
}

#but-header .but-header__mobile-menu .sub-menu {
	display: none !important; /* simple: hide sub-menus on mobile */
}

/* ── Search overlay ───────────────────────────────────────────────────────── */
.but-header__search-overlay {
	position: fixed !important;
	inset: 0 !important;
	z-index: 199999 !important;
	background: rgba(255, 255, 255, 0.97) !important;
	display: flex !important;
	flex-direction: column !important;
	align-items: center !important;
	justify-content: center !important;
	padding: 40px 24px !important;
	/* hidden state */
	opacity: 0 !important;
	visibility: hidden !important;
	pointer-events: none !important;
	transition: opacity 0.3s ease, visibility 0.3s ease !important;
}

.but-header__search-overlay.is-open {
	opacity: 1 !important;
	visibility: visible !important;
	pointer-events: auto !important;
}

.but-header__search-backdrop {
	position: fixed !important;
	inset: 0 !important;
	z-index: 199998 !important;
	background: rgba(0, 0, 0, 0.25) !important;
	opacity: 0 !important;
	visibility: hidden !important;
	pointer-events: none !important;
	cursor: pointer !important;
	transition: opacity 0.3s ease, visibility 0.3s ease !important;
}

.but-header__search-backdrop.is-open {
	opacity: 1 !important;
	visibility: visible !important;
	pointer-events: auto !important;
}

.but-header__search-close {
	position: absolute !important;
	top: 24px !important;
	right: 24px !important;
	background: transparent !important;
	border: none !important;
	cursor: pointer !important;
	padding: 8px !important;
	color: #333 !important;
	border-radius: 6px !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	transition: background 0.18s ease !important;
}

.but-header__search-close:hover {
	background: #f0f4ff !important;
}

.but-header__search-inner {
	width: 100% !important;
	max-width: 640px !important;
	text-align: center !important;
	transform: translateY(16px) !important;
	transition: transform 0.35s ease !important;
}

.but-header__search-overlay.is-open .but-header__search-inner {
	transform: translateY(0) !important;
}

.but-header__search-label {
	font-family: 'Poppins', sans-serif !important;
	font-size: 1.5rem !important;
	font-weight: 600 !important;
	color: #1a1a2e !important;
	margin: 0 0 24px !important;
}

/* Custom searchform.php markup */
.but-header__search-inner .but-searchform {
	display: flex !important;
	align-items: stretch !important;
	gap: 0 !important;
	border: 2px solid #2453d4 !important;
	border-radius: 10px !important;
	overflow: hidden !important;
	width: 100% !important;
}

.but-header__search-inner .but-searchform__input {
	flex: 1 1 auto !important;
	border: none !important;
	outline: none !important;
	box-shadow: none !important;
	padding: 14px 18px !important;
	font-family: 'Poppins', sans-serif !important;
	font-size: 1rem !important;
	color: #1a1a2e !important;
	background: #fff !important;
	line-height: normal !important;
	min-width: 0 !important;
	height: auto !important;
	margin: 0 !important;
}

.but-header__search-inner .but-searchform__btn {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 8px !important;
	background: #2453d4 !important;
	color: #ffffff !important;
	border: none !important;
	padding: 0 28px !important;
	font-family: 'Poppins', sans-serif !important;
	font-size: 0.9rem !important;
	font-weight: 600 !important;
	cursor: pointer !important;
	white-space: nowrap !important;
	transition: background 0.18s ease !important;
	flex-shrink: 0 !important;
	line-height: 1 !important;
}

.but-header__search-inner .but-searchform__btn:hover {
	background: #1a3fb0 !important;
}

.but-header__search-inner .but-searchform__btn svg {
	display: block !important;
	flex-shrink: 0 !important;
}

.but-header__search-inner .but-searchform__btn-text {
	display: inline !important;
}

/* Prevent body scroll when search or mobile menu is open */
body.but-search-open,
body.but-mobile-menu-open {
	overflow: hidden !important;
}

/* ── Responsive: mobile ───────────────────────────────────────────────────── */
@media (max-width: 991px) {
	#but-header .but-header__nav-menu {
		display: none !important;
	}

	#but-header .but-header__hamburger {
		display: flex !important;
	}

	#but-header .but-header__nav-inner {
		height: 64px !important;
	}
}

@media (max-width: 479px) {
	#but-topbar .but-header__topbar-inner {
		padding: 0 16px !important;
	}

	#but-topbar .but-header__topbar-text {
		font-size: 0.72rem !important;
	}

	#but-header .but-header__nav-inner {
		padding: 0 16px !important;
	}
}

/* ==========================================================================
   BeatUsedTech – Custom Footer
   All layout rules use footer.but-footer prefix for high specificity so
   nothing in Bridge's stylesheet can override them.
   ========================================================================== */

   :root {
	--but-topbar-bg:   #141928;
	--but-main-bg:     #0d1117;
	--but-bottom-bg:   #090c14;
	--but-border:      rgba(255, 255, 255, 0.09);
	--but-text:        #e2e8f0;
	--but-text-muted:  #8b9ab0;
	--but-text-dim:    #5a6a82;
	--but-accent:      #3b82f6;
	--but-tp-green:    #00b67a;
}

/* ==========================================================================
   SITE-WIDE POPPINS FONT
   ========================================================================== */
body,
body h1, body h2, body h3, body h4, body h5, body h6,
body p, body a, body li, body span, body label,
body input, body textarea, body select, body button {
	font-family: 'Poppins', sans-serif !important;
}

/* ── Base reset ─────────────────────────────────────────────────────────────── */
footer.but-footer,
footer.but-footer *,
footer.but-footer *::before,
footer.but-footer *::after {
	box-sizing: border-box;
}
footer.but-footer {
	display: block !important;
	background: var(--but-main-bg);
	color: var(--but-text);
	font-family: inherit;
	line-height: 1.6;
	margin: 0 !important;
	padding: 0 !important;
	border: none;
	width: 100% !important;
}

/* ── Wrapper — pure centering container, no side padding (sections handle their own) */
footer.but-footer .but-footer__wrap {
	width: 100% !important;
	margin: 0 auto !important;
	padding: 0 !important;
	box-sizing: border-box !important;
	float: none !important;
}

/* ==========================================================================
   TOP BAR
   ========================================================================== */
footer.but-footer .but-footer__topbar {
	background: var(--but-topbar-bg);
	border-bottom: 1px solid var(--but-border);
}
/* Stretch so borders span the full row height */
footer.but-footer .but-footer__topbar-inner {
	display: flex !important;
	flex-direction: row !important;
	align-items: stretch !important;
	flex-wrap: nowrap !important;
	min-height: 140px;
	gap: 0;
	padding: 50px 24px !important;        /* side padding lives here, not on the wrap */
}
/* Explicitly override any Bridge rule that would collapse these to flex-start */
footer.but-footer .but-footer__branding,
footer.but-footer .but-footer__newsletter,
footer.but-footer .but-footer__social {
	align-self: stretch !important;
}

/* Branding – 25% of container */
footer.but-footer .but-footer__branding {
	display: flex !important;
	flex-direction: column !important;
	justify-content: center !important;
	flex: 0 0 25% !important;
	padding: 36px 32px 36px 0 !important;
}
footer.but-footer .but-footer__logo-link {
	display: inline-block;
	text-decoration: none;
}
footer.but-footer .but-footer__logo {
	max-height: 56px;
	width: auto;
	display: block;
}
footer.but-footer .but-footer__logo-link--text {
	font-size: 1.5rem;
	font-weight: 700;
	color: var(--but-text);
}
footer.but-footer .but-footer__tagline {
	font-size: 0.62rem;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--but-text-muted);
	margin: 10px 0 0 !important;
	font-weight: 500;
}

/* Newsletter — takes the middle 50% */
footer.but-footer .but-footer__newsletter {
	display: flex !important;
	flex-direction: column !important;
	justify-content: center !important;
	flex: 1 1 0 !important;
	padding: 36px 52px !important;
	border-left: 1px solid var(--but-border) !important;
	border-right: 1px solid var(--but-border) !important;
}
footer.but-footer .but-footer__nl-heading {
	font-size: 1.1rem;
	font-weight: 700;
	color: var(--but-text);
	margin: 0 0 5px !important;
	line-height: 1.3;
}
footer.but-footer .but-footer__nl-subtext {
	font-size: 0.84rem;
	color: var(--but-text-muted);
	margin: 0 0 16px !important;
	line-height: 1.5;
}
/* Default newsletter form — input and button are SEPARATE elements */
footer.but-footer .but-footer__nl-field {
	display: flex !important;
	flex-direction: row !important;
	align-items: center !important;
	gap: 10px !important;
	background: none !important;
	border: none !important;
	height: auto !important;
}
/* Bordered input box (icon + text input) */
footer.but-footer .but-footer__nl-input-wrap {
	flex: 1 !important;
	display: flex !important;
	align-items: center !important;
	height: 50px !important;
	background: rgba(255, 255, 255, 0.04) !important;
	border: 1px solid rgba(255, 255, 255, 0.15) !important;
	border-radius: 8px !important;
	overflow: hidden !important;
	min-width: 0 !important;
}
footer.but-footer .but-footer__nl-icon {
	display: flex !important;
	align-items: center !important;
	padding: 0 14px !important;
	color: var(--but-text-muted);
	flex-shrink: 0 !important;
}
footer.but-footer .but-footer__nl-input {
	flex: 1 !important;
	background: transparent !important;
	border: none !important;
	outline: none !important;
	padding: 0 8px 0 0 !important;
	margin: 0 !important;
	color: var(--but-text) !important;
	font-size: 0.88rem !important;
	min-width: 0 !important;
	box-shadow: none !important;
	height: 100% !important;
	line-height: normal !important;
	vertical-align: middle !important;
	display: block !important;
}
footer.but-footer .but-footer__nl-input::placeholder { color: var(--but-text-dim); }
/* Separate Subscribe button */
footer.but-footer .but-footer__nl-btn {
	background: var(--but-accent) !important;
	color: #fff !important;
	border: none !important;
	padding: 0 28px !important;
	font-size: 0.9rem !important;
	font-weight: 600 !important;
	cursor: pointer !important;
	white-space: nowrap !important;
	transition: background 0.18s ease !important;
	flex-shrink: 0 !important;
	line-height: 1 !important;
	border-radius: 8px !important;
	box-shadow: none !important;
	height: 50px !important;
	letter-spacing: 0.01em !important;
}
footer.but-footer .but-footer__nl-btn:hover { background: #2563eb !important; }

/* CF7 shortcode form — separated input box + button, matches default form */
footer.but-footer .but-footer__nl-shortcode .wpcf7 { margin: 0 !important; padding: 0 !important; }
footer.but-footer .but-footer__nl-shortcode .wpcf7-form {
	display: flex !important;
	flex-direction: row !important;
	align-items: center !important;
	flex-wrap: wrap !important;   /* allows response message to wrap below */
	gap: 10px !important;
	background: none !important;
	border: none !important;
	margin: 0 !important;
	padding: 0 !important;
	height: auto !important;
	overflow: visible !important;
}
/* Hidden-fields fieldset must NOT participate in the flex row */
footer.but-footer .but-footer__nl-shortcode .hidden-fields-container {
	display: none !important;
}
/* The control-wrap becomes the bordered input box */
footer.but-footer .but-footer__nl-shortcode .wpcf7-form-control-wrap {
	flex: 1 1 0 !important;
	display: flex !important;
	align-items: center !important;
	height: 50px !important;
	max-height: 50px !important;   /* prevents CF7 validation state from stretching it */
	background: rgba(255, 255, 255, 0.04) !important;
	border: 1px solid rgba(255, 255, 255, 0.15) !important;
	border-radius: 8px !important;
	overflow: hidden !important;
	min-width: 0 !important;
	padding-left: 46px !important;
	position: relative !important;
}
/* Envelope icon */
footer.but-footer .but-footer__nl-shortcode .wpcf7-form-control-wrap::before {
	content: "" !important;
	position: absolute !important;
	left: 0 !important;
	top: 0 !important;
	width: 46px !important;
	height: 100% !important;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%238b9ab0' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='2' y='4' width='20' height='16' rx='2'/%3E%3Cpath d='m22 7-8.97 5.7a1.94 1.94 0 0 1-2.06 0L2 7'/%3E%3C/svg%3E") center no-repeat !important;
	pointer-events: none !important;
}
footer.but-footer .but-footer__nl-shortcode .wpcf7-form-control-wrap input[type="email"],
footer.but-footer .but-footer__nl-shortcode .wpcf7-form-control-wrap input[type="text"] {
	width: 100% !important;
	height: 100% !important;
	background: transparent !important;
	border: none !important;
	outline: none !important;
	box-shadow: none !important;
	padding: 0 8px 0 0 !important;
	margin: 0 !important;
	color: var(--but-text) !important;
	font-size: 0.88rem !important;
	font-family: inherit !important;
	line-height: normal !important;
	vertical-align: middle !important;
	display: block !important;
}
footer.but-footer .but-footer__nl-shortcode .wpcf7-form-control-wrap input::placeholder { color: var(--but-text-dim); }
/* Separate Submit button */
footer.but-footer .but-footer__nl-shortcode .wpcf7-submit,
footer.but-footer .but-footer__nl-shortcode input[type="submit"] {
	background: var(--but-accent) !important;
	color: #fff !important;
	border: none !important;
	padding: 0 28px !important;
	font-size: 0.9rem !important;
	font-weight: 600 !important;
	cursor: pointer !important;
	white-space: nowrap !important;
	border-radius: 8px !important;
	box-shadow: none !important;
	height: 50px !important;
	flex-shrink: 0 !important;
	order: 2 !important;          /* stay after input, before spinner */
	transition: background 0.18s ease !important;
	font-family: inherit !important;
	letter-spacing: 0.01em !important;
}
footer.but-footer .but-footer__nl-shortcode .wpcf7-submit:hover,
footer.but-footer .but-footer__nl-shortcode input[type="submit"]:hover { background: #2563eb !important; }
/* Spinner — absolutely positioned so it never shifts input/button widths.
   Appears to the right of the button. CF7 controls its visibility via JS. */
footer.but-footer .but-footer__nl-shortcode .wpcf7-spinner {
	position: absolute !important;
	right: 0 !important;
	top: 50% !important;
	transform: translate(calc(100% + 10px), -50%) !important;
	flex: none !important;
	pointer-events: none !important;
	margin: 0 !important;
	padding: 0 !important;
	/* restore normal spinner dimensions — CF7 manages visibility */
	width: 20px !important;
	height: 20px !important;
	overflow: visible !important;
	opacity: 1 !important;
}
/* Inline validation tip — hidden to prevent it blocking the input (CF7 still
   prevents submission on empty/invalid fields) */
footer.but-footer .but-footer__nl-shortcode .wpcf7-not-valid-tip {
	display: none !important;
}
/* Response message — base styles (wraps to full-width line below the form row) */
footer.but-footer .but-footer__nl-shortcode .wpcf7-response-output {
	flex: 0 0 100% !important;
	width: 100% !important;
	order: 20 !important;
	margin: 8px 0 0 !important;
	padding: 8px 14px !important;
	border: none !important;
	border-left: 3px solid var(--but-tp-green) !important;
	border-radius: 0 4px 4px 0 !important;
	font-size: 0.8rem !important;
	color: var(--but-text-muted) !important;
	background: rgba(0, 182, 122, 0.07) !important;
	line-height: 1.5 !important;
}
/* CF7 v6 puts state on the <form> element — target response output via parent form class */
/* Success — green */
footer.but-footer .but-footer__nl-shortcode .wpcf7-form.sent .wpcf7-response-output,
footer.but-footer .but-footer__nl-shortcode .wpcf7-response-output.wpcf7-mail-sent-ok {
	border-left-color: var(--but-tp-green) !important;
	background: rgba(0, 182, 122, 0.07) !important;
	color: var(--but-text-muted) !important;
}
/* Validation error / failure / spam — red (CF7 v6 form classes + v5 response classes) */
footer.but-footer .but-footer__nl-shortcode .wpcf7-form.invalid .wpcf7-response-output,
footer.but-footer .but-footer__nl-shortcode .wpcf7-form.failed .wpcf7-response-output,
footer.but-footer .but-footer__nl-shortcode .wpcf7-form.spam .wpcf7-response-output,
footer.but-footer .but-footer__nl-shortcode .wpcf7-form.aborted .wpcf7-response-output,
footer.but-footer .but-footer__nl-shortcode .wpcf7-response-output.wpcf7-validation-errors,
footer.but-footer .but-footer__nl-shortcode .wpcf7-response-output.wpcf7-mail-sent-ng,
footer.but-footer .but-footer__nl-shortcode .wpcf7-response-output.wpcf7-spam-blocked {
	border-left-color: #f87171 !important;
	background: rgba(248, 113, 113, 0.07) !important;
	color: #f87171 !important;
}
/* Remove any icon injected by Bridge or CF7 before/after the response output */
footer.but-footer .but-footer__nl-shortcode .wpcf7-response-output::before,
footer.but-footer .but-footer__nl-shortcode .wpcf7-response-output::after {
	content: none !important;
	display: none !important;
}

footer.but-footer .but-footer__nl-shortcode {
	margin-top: 2px;
	overflow: visible !important; /* ensure spinner is never clipped */
	position: relative !important;
}

/* Social – 25% of container; right-aligned so icons end at the right column edge */
footer.but-footer .but-footer__social {
	display: flex !important;
	flex-direction: column !important;
	justify-content: center !important;
	align-items: flex-end !important;
	flex: 0 0 20% !important;
	padding: 36px 24px 36px 52px !important;
}
footer.but-footer .but-footer__social-heading {
	font-size: 0.95rem;
	font-weight: 600;
	color: var(--but-text);
	margin: 0 0 16px !important;
}
footer.but-footer .but-footer__social-icons {
	display: flex !important;
	flex-direction: row !important;
	gap: 12px !important;
}
footer.but-footer .but-footer__social-icon {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 46px !important;
	height: 46px !important;
	border: 1px solid rgba(255, 255, 255, 0.2) !important;
	border-radius: 50% !important;
	color: var(--but-text) !important;
	text-decoration: none !important;
	transition: border-color 0.2s, color 0.2s, box-shadow 0.2s !important;
	padding: 0 !important;
	margin: 0 !important;
	background: transparent !important;
	box-shadow: 0 0 0 0 rgba(59, 130, 246, 0) !important;
}
footer.but-footer .but-footer__social-icon:hover {
	border-color: var(--but-accent) !important;
	color: var(--but-accent) !important;
	background: rgba(59, 130, 246, 0.08) !important;
	box-shadow: 0 0 12px 2px rgba(59, 130, 246, 0.35) !important;
}

/* ==========================================================================
   MAIN COLUMNS
   ========================================================================== */
footer.but-footer .but-footer__main {
	display: block !important;
	padding: 0 !important;
}
/* Vertical breathing room + section side padding */
footer.but-footer .but-footer__main .but-footer__wrap {
	padding: 50px 24px !important;
}
footer.but-footer .but-footer__cols {
	display: grid !important;
	grid-template-columns: 1.15fr 1fr 1fr 1fr 1fr !important;
	gap: 0 !important;
	align-items: stretch !important;
}

/* Every column is a flex column so inner boxes can fill height */
footer.but-footer .but-footer__col {
	display: flex !important;
	flex-direction: column !important;
	padding: 0 28px !important;         
	
}
footer.but-footer .but-footer__col:first-child { padding-left: 0 !important; }
footer.but-footer .but-footer__col:last-child  { border-right: none !important; padding-right: 0 !important; }

/* Column header */
footer.but-footer .but-footer__col-header {
	display: flex !important;
	flex-direction: row !important;
	align-items: center !important;
	gap: 10px;
	margin-bottom: 20px !important;
}
footer.but-footer .but-footer__col-icon {
	flex-shrink: 0;
	color: var(--but-accent) !important;
	stroke: var(--but-accent) !important;
}
footer.but-footer .but-footer__col-title {
	font-size: 0.92rem;
	font-weight: 600;
	color: var(--but-text) !important;
	margin: 0 !important;
}

/* ── Col 1: Disclaimer – box IS the cell, fills full row height ── */
footer.but-footer .but-footer__col--disclaimer {
	padding: 0 !important;               /* box handles its own padding */
	border-right: none !important;       /* box has full border; separator implicit by gap */
}
footer.but-footer .but-footer__disclaimer-box {
	display: flex !important;
	flex-direction: column !important;
	flex: 1 !important;                  /* fills full column height */
	background: rgba(255, 255, 255, 0.03) !important;
	border: 1px solid rgba(59, 130, 246, 0.18) !important;
	border-radius: 10px !important;
	box-shadow: 0 0 0 1px rgba(59, 130, 246, 0.06), 0 4px 28px rgba(0,0,0,0.35) !important;
	padding: 24px 22px !important;
}
/* Disclaimer col header sits flush inside the box (no extra padding-top) */
footer.but-footer .but-footer__col--disclaimer .but-footer__col-header {
	padding-top: 0 !important;
	margin-bottom: 16px !important;
}
/* Circular icon container for the disclaimer header – matches design */
footer.but-footer .but-footer__col--disclaimer .but-footer__col-icon {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 36px !important;
	height: 36px !important;
	border: 1.5px solid rgba(59, 130, 246, 0.5) !important;
	border-radius: 50% !important;
	background: rgba(59, 130, 246, 0.08) !important;
	padding: 7px !important;
	box-sizing: border-box !important;
	flex-shrink: 0 !important;
	color: var(--but-accent) !important;
}
footer.but-footer .but-footer__disclaimer-text {
	font-size: 1rem;
	color: var(--but-text-muted);
	margin: 0 !important;
	line-height: 1.75;
}

/* ── Col 2: Navigation ── */
footer.but-footer .but-footer__nav-list {
	list-style: none !important;
	margin: 0 !important;
	padding: 0 !important;
}
footer.but-footer .but-footer__nav-list li {
	border-bottom: 1px solid var(--but-border) !important;
	display: block !important;
	float: none !important;
	margin: 0 !important;
	padding: 0 !important;
}
footer.but-footer .but-footer__nav-list li:last-child { border-bottom: none !important; }
footer.but-footer .but-footer__nav-list li a {
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	padding: 9px 0 !important;
	color: var(--but-text-muted) !important;
	text-decoration: none !important;
	font-size: 0.85rem !important;
	transition: color 0.18s;
	background: none !important;
	border: none !important;
}
footer.but-footer .but-footer__nav-list li a::after {
	content: "›";
	font-size: 1.15rem;
	line-height: 1;
	opacity: 0.45;
	transition: opacity 0.18s, transform 0.18s;
}
footer.but-footer .but-footer__nav-list li a:hover { color: var(--but-text) !important; }
footer.but-footer .but-footer__nav-list li a:hover::after { opacity: 1; transform: translateX(3px); }

/* ── Col 3: App Buttons ── */
footer.but-footer .but-footer__app-buttons {
	display: flex !important;
	flex-direction: column !important;
	gap: 10px;
}

/* Fallback button (no image uploaded) */
footer.but-footer .but-footer__app-btn {
	display: flex !important;
	flex-direction: row !important;
	align-items: center !important;
	gap: 12px;
	width: 100% !important;
	background: rgba(255, 255, 255, 0.05) !important;
	border: 1px solid rgba(255, 255, 255, 0.1) !important;
	border-radius: 8px !important;
	padding: 11px 16px !important;
	color: var(--but-text) !important;
	text-decoration: none !important;
	transition: border-color 0.18s, background 0.18s;
	min-height: 58px;
	box-sizing: border-box !important;
}
footer.but-footer .but-footer__app-btn:hover {
	border-color: rgba(255, 255, 255, 0.22) !important;
	background: rgba(255, 255, 255, 0.08) !important;
	color: var(--but-text) !important;
}

/* When image IS uploaded: wrapper becomes a plain transparent link */
footer.but-footer .but-footer__app-btn:has(.but-footer__app-img) {
	background: transparent !important;
	border-color: transparent !important;
	padding: 0 !important;
	min-height: unset !important;
	border-radius: 8px !important;
	overflow: hidden;
}
footer.but-footer .but-footer__app-btn:has(.but-footer__app-img):hover {
	background: transparent !important;
	opacity: 0.85;
}

/* The badge image */
footer.but-footer .but-footer__app-img {
	display: block !important;
	width: 90% !important;
	height: auto !important;
	object-fit: contain !important;
	object-position: left center !important;
	border-radius: 8px !important;
}

/* Fallback SVG+label */
footer.but-footer .but-footer__app-btn svg { flex-shrink: 0; opacity: 0.9; }
footer.but-footer .but-footer__app-label {
	display: flex !important;
	flex-direction: column !important;
	line-height: 1.2;
}
footer.but-footer .but-footer__app-label small {
	font-size: 0.62rem;
	color: var(--but-text-muted);
	text-transform: uppercase;
	letter-spacing: 0.05em;
}
footer.but-footer .but-footer__app-label strong { font-size: 0.88rem; font-weight: 600; }

/* ── Col 4: Payment Methods ── */
footer.but-footer .but-footer__payment-list {
	list-style: none !important;
	margin: 0 !important;
	padding: 0 !important;
	display: flex !important;
	flex-direction: column !important;
	gap: 11px;
}
footer.but-footer .but-footer__payment-item {
	display: flex !important;
	flex-direction: row !important;
	align-items: center !important;
	gap: 12px;
	font-size: 0.86rem;
	color: var(--but-text-muted);
	margin: 0 !important;
	padding: 0 !important;
}
footer.but-footer .but-footer__payment-img {
	display: block !important;
	height: 30px !important;
	width: auto !important;
	max-width: 58px !important;
	object-fit: contain !important;
	flex-shrink: 0 !important;
	border-radius: 4px !important;
}
footer.but-footer .but-footer__payment-badge {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	height: 28px;
	min-width: 48px;
	border-radius: 4px;
	font-size: 0.68rem;
	font-weight: 700;
	letter-spacing: 0.04em;
	flex-shrink: 0;
}
footer.but-footer .but-footer__payment-badge--visa  { background: #1a1f71 !important; color: #fff !important; font-style: italic; font-size: 0.82rem; }
footer.but-footer .but-footer__payment-badge--mc    { position: relative !important; background: transparent !important; width: 48px; height: 28px; }
footer.but-footer .but-mc-l,
footer.but-footer .but-mc-r {
	position: absolute !important;
	top: 50% !important;
	width: 22px !important;
	height: 22px !important;
	border-radius: 50% !important;
	transform: translateY(-50%) !important;
}
footer.but-footer .but-mc-l { background: #eb001b !important; left: 2px !important; }
footer.but-footer .but-mc-r { background: #f79e1b !important; left: 16px !important; opacity: 0.9; }
footer.but-footer .but-footer__payment-badge--amex   { background: #007bc1 !important; color: #fff !important; padding: 0 7px !important; }
footer.but-footer .but-footer__payment-badge--paypal { background: #003087 !important; color: #009cde !important; font-family: Arial, sans-serif; padding: 0 7px !important; }
footer.but-footer .but-footer__payment-badge--gpay   { background: rgba(255,255,255,0.07) !important; border: 1px solid var(--but-border) !important; color: var(--but-text) !important; padding: 0 7px !important; font-size: 0.74rem; }

/* ── Col 5: Trustpilot – box fills full column height ── */
footer.but-footer .but-footer__col--trustpilot {
	padding: 0 !important;               /* inner box handles all spacing */
}
footer.but-footer .but-footer__tp-box {
	display: flex !important;
	flex-direction: column !important;
	justify-content: center;
	flex: 1 !important;                  /* fills full column height */
	background: rgba(255, 255, 255, 0.03) !important;
	border: 1px solid rgba(59, 130, 246, 0.18) !important;
	border-radius: 10px !important;
	box-shadow: 0 0 0 1px rgba(59, 130, 246, 0.06), 0 4px 28px rgba(0,0,0,0.35) !important;
	padding: 24px 22px !important;
}
footer.but-footer .but-footer__tp-header {
	display: flex !important;
	flex-direction: row !important;
	align-items: center !important;
	gap: 8px;
	margin-bottom: 14px !important;
}
footer.but-footer .but-footer__tp-name {
	font-size: 1.3rem;
	font-weight: 500;
	color: var(--but-text) !important;
}
footer.but-footer .but-footer__tp-stars {
	display: flex !important;
	flex-direction: row !important;
	gap: 3px;
	margin-bottom: 14px !important;
}
footer.but-footer .but-footer__tp-star {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 32px !important;
	height: 32px !important;
	background: var(--but-tp-green) !important;
	border-radius: 3px !important;
}
footer.but-footer .but-footer__tp-star svg { width: 18px; height: 18px; }
footer.but-footer .but-footer__tp-rated {
	font-size: 0.8rem;
	color: var(--but-text-muted);
	margin: 0 0 5px !important;
	line-height: 1.5;
}
footer.but-footer .but-footer__tp-rating-link {
	color: var(--but-tp-green) !important;
	font-weight: 600;
}
footer.but-footer .but-footer__tp-count {
	font-size: 0.8rem;
	color: var(--but-text-muted);
	margin: 0 !important;
}

/* ==========================================================================
   BOTTOM BAR
   ========================================================================== */
footer.but-footer .but-footer__bottom {
	display: block !important;
	background: var(--but-bottom-bg);
}
footer.but-footer .but-footer__bottom .but-footer__wrap {
	padding: 18px 24px !important;
}
footer.but-footer .but-footer__copyright {
	font-size: 0.82rem !important;
	color: var(--but-text-dim) !important;
	text-align: center !important;
	margin: 0 !important;
}
footer.but-footer .but-footer__copyright a { color: var(--but-text-muted); text-decoration: none; }
footer.but-footer .but-footer__copyright a:hover { color: var(--but-text); }

/* ==========================================================================
   FONT SIZE NORMALISATION  (1rem body · 1.1rem titles · 0.75rem micro)
   ========================================================================== */

/* Body-level text — all at 1rem */
footer.but-footer .but-footer__nl-subtext,
footer.but-footer .but-footer__nl-input,
footer.but-footer .but-footer__nl-btn,
footer.but-footer .but-footer__nl-shortcode .wpcf7-form-control-wrap input[type="email"],
footer.but-footer .but-footer__nl-shortcode .wpcf7-form-control-wrap input[type="text"],
footer.but-footer .but-footer__nl-shortcode .wpcf7-submit,
footer.but-footer .but-footer__nl-shortcode input[type="submit"],
footer.but-footer .but-footer__nl-shortcode .wpcf7-response-output,
footer.but-footer .but-footer__nav-list li a,
footer.but-footer .but-footer__app-label strong,
footer.but-footer .but-footer__payment-item,
footer.but-footer .but-footer__disclaimer-text,
footer.but-footer .but-footer__tp-rated,
footer.but-footer .but-footer__tp-count,
footer.but-footer .but-footer__copyright { font-size: 1rem !important; }

/* Titles — 1.1rem */
footer.but-footer .but-footer__nl-heading,
footer.but-footer .but-footer__col-title,
footer.but-footer .but-footer__social-heading { font-size: 1.1rem !important; }

/* Micro text (taglines, badge labels) */
footer.but-footer .but-footer__tagline,
footer.but-footer .but-footer__app-label small { font-size: 0.75rem !important; }

/* ==========================================================================
   RESPONSIVE — 3 tiers only
   ========================================================================== */

/* ── Tablet: 768px – 1024px ── */
@media ( min-width: 768px ) and ( max-width: 1024px ) {
	/* Topbar: social drops to its own full-width row, left-aligned */
	footer.but-footer .but-footer__topbar-inner {
		flex-wrap: wrap !important;
		padding: 0 16px !important;
		gap: 0 !important;
	}
	footer.but-footer .but-footer__branding {
		flex: 0 0 40% !important;
	}
	footer.but-footer .but-footer__newsletter {
		flex: 1 1 auto !important;
		padding: 28px 20px !important;
	}
	footer.but-footer .but-footer__social {
		flex: 0 0 100% !important;
		padding: 20px !important;
		border-left: none !important;
		border-top: 1px solid var(--but-border) !important;
		align-items: flex-start !important;
	}

	/* Main cols: 2-column grid
	   HTML order: disclaimer(full) → nav | apps → payments | trustpilot */
	footer.but-footer .but-footer__main .but-footer__wrap { padding: 24px 16px !important; }
	footer.but-footer .but-footer__cols {
		grid-template-columns: 1fr 1fr !important;
	}
	footer.but-footer .but-footer__col {
		padding: 20px 20px !important;
		border-right: 1px solid var(--but-border) !important;
		border-bottom: 1px solid var(--but-border) !important;
	}
	footer.but-footer .but-footer__col:nth-child(2n) { border-right: none !important; }
	footer.but-footer .but-footer__col:nth-last-child(-n+2) { border-bottom: none !important; }

	/* Disclaimer: full width, space below before the 2×2 grid */
	footer.but-footer .but-footer__col--disclaimer {
		grid-column: 1 / -1 !important;
		border-right: none !important;
		border-bottom: none !important;
		margin: 0 0 24px !important;
		padding: 0 !important;
	}

	/* App store images: smaller on tablet */
	footer.but-footer .but-footer__app-img {
		max-width: 200px !important;
		width: 100% !important;
	}

	footer.but-footer .but-footer__bottom .but-footer__wrap { padding: 18px 16px !important; }
}

/* ── Mobile: max 767px ── */
@media ( max-width: 767px ) {
	/* Topbar: full column stack, all left-aligned */
	footer.but-footer .but-footer__topbar-inner {
		flex-direction: column !important;
		align-items: flex-start !important;
		padding: 0 16px !important;
		gap: 0 !important;
	}
	footer.but-footer .but-footer__branding {
		width: 100% !important;
		flex: none !important;
		padding: 24px 0 20px !important;
		border-bottom: 1px solid var(--but-border) !important;
	}
	footer.but-footer .but-footer__newsletter {
		width: 100% !important;
		flex: none !important;
		border-left: none !important;
		border-right: none !important;
		border-bottom: 1px solid var(--but-border) !important;
		padding: 20px 0 !important;
	}
	footer.but-footer .but-footer__social {
		width: 100% !important;
		flex: none !important;
		border-left: none !important;
		padding: 20px 0 24px !important;
		align-items: flex-start !important;
	}

	/* Main cols: single column */
	footer.but-footer .but-footer__main .but-footer__wrap { padding: 20px 16px !important; }
	footer.but-footer .but-footer__cols {
		grid-template-columns: 1fr !important;
	}
	footer.but-footer .but-footer__col {
		border-right: none !important;
		border-bottom: 1px solid var(--but-border) !important;
		padding: 24px 0 !important;
	}
	footer.but-footer .but-footer__col:first-child { padding-top: 0 !important; }
	footer.but-footer .but-footer__col:last-child  { border-bottom: none !important; padding-bottom: 0 !important; }
	footer.but-footer .but-footer__col--disclaimer {
		grid-column: 1 / -1 !important;
		border-right: none !important;
	}

	/* App store images: constrained on mobile */
	footer.but-footer .but-footer__app-img {
		max-width: 260px !important;
		width: 100% !important;
	}

	/* Newsletter field stacks vertically */
	footer.but-footer .but-footer__nl-field { flex-wrap: wrap !important; }
	footer.but-footer .but-footer__nl-icon  { display: none !important; }
	footer.but-footer .but-footer__nl-input { padding: 12px !important; width: 100% !important; }
	footer.but-footer .but-footer__nl-btn   { width: 100% !important; padding: 13px !important; text-align: center !important; }

	footer.but-footer .but-footer__bottom .but-footer__wrap { padding: 16px !important; }
}

/* ==========================================================================
   Kelkoo product card overrides
   ========================================================================== */

/* Hide add-to-cart remnants, Bridge overlays and Quick View plugin (qqvfw) */
.products .product .button.product_type_simple,
.products .product .add_to_cart_button,
.products .product .woocommerce-loop-product__link .overlay,
.products .product .product-image-holder .overlay,
.products .product .qode-woo-product-list-item-overlay,
.products .product .qode_add_to_cart,
.products .product .quick_view_button,
.products .product .qvfw,
.products .product [class*="quick_view"],
.products .product [class*="qode-woo"],
.woocommerce ul.products li.product .qode-woo-product-list-item-add-to-cart,
/* qqvfw – Quick View For WooCommerce plugin.
   NOTE: the plugin adds qqvfw--no-touch to <body>, so we MUST NOT use the
   bare [class*="qqvfw"] selector (it would hide the entire page).
   Target only widget-level elements (div / span / a / button / li). */
.qqvfw-quick-view-button-wrapper,
div[class*="qqvfw"],
span[class*="qqvfw"],
a[class*="qqvfw"],
button[class*="qqvfw"],
li[class*="qqvfw"] {
	display: none !important;
	visibility: hidden !important;
}

/* Kill image-area overlay pseudo-elements only.
   li.product::before is Bridge's card-border frame — we keep it and restyle
   it below rather than hiding it. */
.products .product .product-image-holder::before,
.products .product .product-image-holder::after,
.products .product .product-image-holder:hover::before,
.products .product .product-image-holder:hover::after,
.products .product a.woocommerce-loop-product__link::before,
.products .product a.woocommerce-loop-product__link::after,
.products .product .top-product-section::before,
.products .product .top-product-section::after,
.products .product .top-product-section:hover::before,
.products .product .top-product-section:hover::after {
	display: none !important;
	opacity: 0 !important;
	visibility: hidden !important;
	content: none !important;
}

/* Hide any overlay child element that appears on li hover */
.woocommerce ul.products li.product:hover .overlay,
.woocommerce ul.products li.product:hover [class*="overlay"],
.woocommerce ul.products li.product:hover .qvfw,
.woocommerce ul.products li.product:hover [class*="quick_view"],
.woocommerce ul.products li.product:hover [class*="qode-woo"] {
	display: none !important;
	opacity: 0 !important;
	visibility: hidden !important;
}

/* Image and title are NOT links — remove pointer cursor (standard WooCommerce classes) */
.products .product .woocommerce-loop-product__link,
.products .product .woocommerce-loop-product__link img,
.products .product .woocommerce-loop-product__title {
	cursor: default !important;
	pointer-events: none !important;
	color: inherit !important;
	text-decoration: none !important;
}

/* Bridge uses a.product-category for both image and title links — kill all interactivity */
.woocommerce ul.products li.product a.product-category {
	pointer-events: none !important;
	cursor: default !important;
	color: inherit !important;
	text-decoration: none !important;
}

/* Image link hover — no colour change (it's neutralised, just defensive) */
.woocommerce ul.products li.product .top-product-section a.product-category:hover,
.woocommerce ul.products li.product .top-product-section a.product-category:hover * {
	color: inherit !important;
	text-decoration: none !important;
}

/* Title link — clickable, black at rest, blue on hover */
.woocommerce ul.products li.product a.product-category.product-info {
	cursor: pointer !important;
	pointer-events: auto !important;
}

.woocommerce ul.products li.product a.product-category.product-info:hover h6,
.woocommerce ul.products li.product:hover a.product-category.product-info h6 {
	color: #2453d4 !important;
	text-decoration: none !important;
}

/* Title h6 — 2-line clamp with ellipsis */
.woocommerce ul.products li.product a.product-category.product-info h6 {
	display: -webkit-box !important;
	-webkit-line-clamp: 2 !important;
	-webkit-box-orient: vertical !important;
	overflow: hidden !important;
	text-overflow: ellipsis !important;
}

/* No image dimming / opacity change on hover */
.woocommerce ul.products li.product img,
.woocommerce ul.products li.product a.product-category:hover img,
.woocommerce ul.products li.product .top-product-section:hover img {
	opacity: 1 !important;
	filter: none !important;
	transform: none !important;
	transition: none !important;
}

/* Kill any pseudo-element overlay Bridge places on the image area */
.woocommerce ul.products li.product .top-product-section::before,
.woocommerce ul.products li.product .top-product-section::after,
.woocommerce ul.products li.product a.product-category::before,
.woocommerce ul.products li.product a.product-category::after,
.woocommerce ul.products li.product .image-wrapper::before,
.woocommerce ul.products li.product .image-wrapper::after {
	display: none !important;
	content: none !important;
	opacity: 0 !important;
	background: none !important;
}

/* ── Equal-height cards with border ──────────────────────────────────────────
   display:flex + align-items:stretch on ul.products makes all cards in the
   same wrap-row the same height.  We do NOT touch Bridge's float/width/margin
   on li.product — those control column counts and gutters and must stay intact.
   Border and shadow go directly on li.product (Bridge's ::before is hidden
   above to avoid double-borders). */

.woocommerce ul.products {
	display: flex !important;
	flex-wrap: wrap !important;
	align-items: stretch !important;
	clear: both !important;
}

/* Card shell — visual styles only; layout values left to Bridge */
.woocommerce ul.products li.product {
	display: flex !important;
	flex-direction: column !important;
	background: #ffffff !important;
	box-sizing: border-box !important;
	position: relative !important;
}

/* Restyle Bridge's native ::before card-border frame.
   Bridge already sets position:absolute; inset:0; pointer-events:none — we
   only need to override the colour, radius and add a subtle shadow. */
.woocommerce ul.products li.product::before {
	border: 1px solid #e2e4e8 !important;
	border-radius: 8px !important;
	box-shadow: 0 1px 4px rgba(0, 0, 0, 0.06) !important;
	opacity: 1 !important;
	visibility: visible !important;
}

/* Image section — fixed 1:1 square area so every card has the same image
   height regardless of the Kelkoo product image's natural dimensions.
   object-fit:cover fills the square without whitespace (crops edges instead
   of showing empty space like contain did). */
.woocommerce ul.products li.product .top-product-section {
	width: 100% !important;
	aspect-ratio: 1 / 1 !important;
	overflow: hidden !important;
	flex-shrink: 0 !important;
}

.woocommerce ul.products li.product .top-product-section a.product-category,
.woocommerce ul.products li.product .top-product-section .image-wrapper {
	display: block !important;
}

.woocommerce ul.products li.product .top-product-section img {
	display: block !important;
	width: 100% !important;
	height: 100% !important;
	object-fit: cover !important;
	object-position: center top !important;
}

/* Title + price: grows to push Shop Now to the bottom.
   12px side padding keeps text aligned with the button's 12px margin. */
.woocommerce ul.products li.product a.product-category.product-info {
	flex: 1 1 auto !important;
	display: block !important;
	padding:  20px 20px 0px 20px !important;
	box-sizing: border-box !important;
}
a.product-category.but-neutralised {
    padding: 20px 20px 0px 20px !important;
}

/* Shop Now button — 12px left/right margin aligns with the title padding above */
.but-shop-now-btn {
	display: block !important;
	width: calc(100% - 24px) !important;
	margin: 0 12px 12px !important;
	padding: 10px 16px !important;
	background: #2453d4 !important;
	color: #ffffff !important;
	font-family: 'Poppins', sans-serif !important;
	font-size: 0.875rem !important;
	font-weight: 600 !important;
	text-align: center !important;
	text-decoration: none !important;
	border-radius: 6px !important;
	transition: background 0.18s ease !important;
	box-sizing: border-box !important;
	line-height: 1.4 !important;
}

.but-shop-now-btn:hover,
.but-shop-now-btn:focus {
	background: #1a3fb0 !important;
	color: #ffffff !important;
	text-decoration: none !important;
}

/* ══════════════════════════════════════════════════════════════════
   Bridge Product List Widget (.qode-pl-holder) — Homepage sections
   ══════════════════════════════════════════════════════════════════ */

/* Hide wishlist heart icon — always, including on hover */
.qode-pl-holder .qwfw-add-to-wishlist-wrapper,
.qode-pl-holder .qode-pli:hover .qwfw-add-to-wishlist-wrapper {
	display: none !important;
	opacity: 0 !important;
	visibility: hidden !important;
}

/* Hide the inner overlay text area (wishlist wrapper) — default + hover */
.qode-pl-holder .qode-pli-inner .qode-pli-text,
.qode-pl-holder .qode-pli:hover .qode-pli-text {
	opacity: 0 !important;
	visibility: hidden !important;
	pointer-events: none !important;
}

/* Hide Add to Cart button — default + hover state */
.qode-pl-holder .qode-pli .qode-pli-add-to-cart,
.qode-pl-holder .qode-pli:hover .qode-pli-add-to-cart {
	display: none !important;
	opacity: 0 !important;
	visibility: hidden !important;
}

/* Remove image zoom / transition on hover */
.qode-pl-holder .qode-pli-inner img,
.qode-pl-holder .qode-pli:hover .qode-pli-inner img {
	transform: none !important;
	transition: none !important;
	opacity: 1 !important;
	filter: none !important;
}

/* Remove all slide/translate animations — default + hover states */
/* qode-pli-text-inner: slides up from translateY(100%) on hover */
.qode-pl-holder .qode-pli .qode-pli-text-inner,
.qode-pl-holder .qode-pli:hover .qode-pli-text-inner {
	transform: none !important;
	transition: none !important;
}

/* Text wrapper title area — no movement at all */
.qode-pl-holder .qode-pli .qode-pli-text-wrapper,
.qode-pl-holder .qode-pli:hover .qode-pli-text-wrapper,
.qode-pl-holder .qode-pli .qode-pli-title,
.qode-pl-holder .qode-pli:hover .qode-pli-title {
	transform: none !important;
	transition: none !important;
}

/* Prevent any remaining transitions on all child elements inside the card */
.qode-pl-holder .qode-pli .qode-pli-inner *,
.qode-pl-holder .qode-pli:hover .qode-pli-inner * {
	transform: none !important;
	transition: none !important;
}

/* Each card is a flex column — lets text wrapper grow and keeps button at bottom */
.qode-pl-holder .qode-pli {
	display: flex !important;
	flex-direction: column !important;
	box-sizing: border-box !important;
}

/* Text wrapper grows to fill remaining space and pushes content to the bottom */
.qode-pl-holder .qode-pli-text-wrapper {
	flex: 1 1 auto !important;
	display: flex !important;
	flex-direction: column !important;
	justify-content: flex-end !important;
}

/* Title takes natural height only — sits just above the button */
.qode-pl-holder .qode-pli-title {
	flex: 0 0 auto !important;
	padding: 16px 12px 6px !important;
	margin: 0 !important;
}

/* Padding around image + gap before title */
.qode-pl-holder .qode-pli-image {
	padding: 16px 16px 0 !important;
	box-sizing: border-box !important;
}

/* Smaller image — constrained height, centred, aspect ratio preserved */
.qode-pl-holder .qode-pli-image img {
	display: block !important;
	width: auto !important;
	max-width: 100% !important;
	max-height: 200px !important;
	height: auto !important;
	margin: 0 auto !important;
	object-fit: contain !important;
}

/* Title link — 2-line clamp with ellipsis; black at rest, blue on hover */
.qode-pl-holder .qode-pli-title a {
	display: -webkit-box !important;
	-webkit-line-clamp: 2 !important;
	-webkit-box-orient: vertical !important;
	overflow: hidden !important;
	text-overflow: ellipsis !important;
	color: #000000 !important;
	text-decoration: none !important;
	cursor: pointer !important;
	pointer-events: auto !important;
}

.qode-pl-holder .qode-pli-title a:hover,
.qode-pl-holder .qode-pli:hover .qode-pli-title a {
	color: #2453d4 !important;
	text-decoration: none !important;
}

/* Shop Now button inside product list widget — reuse global button but with widget spacing */
.qode-pl-holder .but-shop-now-btn,
.qode-pl-holder .qode-pli:hover .but-shop-now-btn {
	display: block !important;
	width: calc(100% - 24px) !important;
	margin: 10px 12px 16px !important;
	transform: none !important;
	position: static !important;
}

/* ══════════════════════════════════════════════════════════════════
   Fixed sidebar — post / blog pages  (.two_columns_66_33)
   ══════════════════════════════════════════════════════════════════ */

.two_columns_66_33 {
	display: flex !important;
	align-items: stretch !important;
}

.two_columns_66_33 .column1 {
	float: none !important;
	flex: 1 1 auto !important;
	min-width: 0 !important;
}

.two_columns_66_33 .column2 {
	position: relative !important;
	float: none !important;
	flex-shrink: 0 !important;
	align-self: stretch !important;
	background: transparent !important;
	overflow: visible !important;
}

.two_columns_66_33 .column2 .column_inner {
	overflow: visible !important;
}

.two_columns_66_33 .column2 aside.sidebar.sidebar--fixed {
	position: fixed !important;
	top: 90px !important;
	z-index: 100;
}

.two_columns_66_33 .column2 aside.sidebar.sidebar--bottom {
	position: absolute !important;
	bottom: 0 !important;
	top: auto !important;
	width: 100%;
}

/* ══════════════════════════════════════════════════════════════════
   Fixed sidebar — category pages  (.two_columns_25_75)
   ══════════════════════════════════════════════════════════════════ */

/* Convert Bridge's float layout to flex */
.woocommerce_with_sidebar.two_columns_25_75 {
	display: flex !important;
	align-items: stretch !important;
}

/* column1 stretches to products column height; position:relative
   is required so .sidebar--bottom can anchor to its bottom edge.
   background: transparent hides the empty area below widgets. */
.woocommerce_with_sidebar.two_columns_25_75 .column1 {
	position: relative !important;
	float: none !important;
	flex-shrink: 0 !important;
	align-self: stretch !important;
	background: transparent !important;
	overflow: visible !important;
}

.woocommerce_with_sidebar.two_columns_25_75 .column1 .column_inner {
	overflow: visible !important;
}

/* State 1 – sidebar fixed to viewport while scrolling through products.
   Width is set explicitly via JS (sidebar.style.width) because width: inherit
   does not resolve correctly under position: fixed. */
.woocommerce_with_sidebar.two_columns_25_75 .column1 aside.sidebar.sidebar--fixed {
	position: fixed !important;
	top: 90px !important;
	z-index: 100;
}

/* State 2 – sidebar pinned to bottom of column1 when products column ends */
.woocommerce_with_sidebar.two_columns_25_75 .column1 aside.sidebar.sidebar--bottom {
	position: absolute !important;
	bottom: 0 !important;
	top: auto !important;
	width: 100%;
}

/* Products column: take remaining space, no float */
.woocommerce_with_sidebar.two_columns_25_75 .column2 {
	float: none !important;
	flex: 1 1 auto !important;
	min-width: 0 !important;
}

.qwfw-add-to-wishlist-wrapper.qwfw--single.qwfw-position--after-add-to-cart.qwfw-item-type--icon-with-text {
    display: none;
}
.q_accordion_holder.toggle.boxed.woocommerce-accordion.accordion.ui-accordion.ui-accordion-icons.ui-widget.ui-helper-reset{
 display: none;
}
.woocommerce div.product .cart{
display: none;
}

.woocommerce div.product .summary p.price{
display: none;
}

/* ══════════════════════════════════════════════════════════════════
   Single product page — image gallery
   ══════════════════════════════════════════════════════════════════ */

/* Outer gallery wrapper: bordered box, fixed 420px height, 30px padding.
   overflow: visible so the image is never clipped by the container. */
.woocommerce div.product .woocommerce-product-gallery.images {
	height: 420px !important;
	border: 1px solid #e2e2e2 !important;
	border-radius: 4px !important;
	box-sizing: border-box !important;
	padding: 30px !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	overflow: visible !important;
}

/* Slide wrapper: don't force dimensions, let it wrap the image naturally */
.woocommerce div.product .woocommerce-product-gallery.images .woocommerce-product-gallery__image,
.woocommerce div.product .woocommerce-product-gallery.images .woocommerce-product-gallery__image a {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: auto !important;
	height: auto !important;
}

/* Remove Bridge's default inner border on the image anchor */
.woocommerce .product .images a:not(.flex-prev):not(.flex-next) {
	border: none !important;
}

/* Image: constrained to the padded area (420px - 60px padding = 360px max height,
   width limited to 100% of the padded column). Never cut, never stretched. */
.woocommerce div.product .woocommerce-product-gallery.images .woocommerce-product-gallery__image img {
	max-height: 360px !important;
	max-width: 100% !important;
	width: auto !important;
	height: auto !important;
	display: block !important;
	object-fit: contain !important;
}

/* Hide Bridge's duplicate slider widget */
.woocommerce div.product .woocommerce-product-gallery.images .qode-product-gallery-slider {
	display: none !important;
}

/* Related products — smaller image box, no cropping */
.related.products .top-product-section {
	max-height: 180px !important;
	aspect-ratio: unset !important;
	overflow: visible !important;
}

.woocommerce .related.products ul.products li.product .top-product-section img,
.woocommerce .related.products ul.products li.product .top-product-section:hover img {
	object-fit: contain !important;
	object-position: center center !important;
	width: 100% !important;
	height: 100% !important;
}

/* Related products — smaller product title */
.related.products li.product .woocommerce-loop-product__title,
.related.products li.product h2 {
	font-size: 0.82rem !important;
	line-height: 1.3 !important;
}

/* Single product page: smaller title */
.woocommerce div.product h1.product_title {
	font-size: 1.6rem !important;
	line-height: 1.3 !important;
}

/* Shop Now button on single product page — auto width, left-aligned */
.but-shop-now-btn--single {
	display: inline-block !important;
	width: auto !important;
	margin: 16px 0 0 0 !important;
	padding: 12px 32px !important;
}

/* ══════════════════════════════════════════════════════════════════
   Sidebar — social links block (matches topbar style)
   ══════════════════════════════════════════════════════════════════ */

aside.sidebar .wp-block-social-links {
	display: flex !important;
	flex-direction: row !important;
	flex-wrap: wrap !important;
	align-items: center !important;
	gap: 10px !important;
	padding: 0 !important;
	margin: 8px 0 0 0 !important;
	list-style: none !important;
}

aside.sidebar .wp-block-social-links .wp-block-social-link {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 32px !important;
	height: 32px !important;
	min-width: 32px !important;
	min-height: 32px !important;
	border-radius: 50% !important;
	overflow: visible !important;
	background: transparent !important;
	padding: 0 !important;
	margin: 0 !important;
}

aside.sidebar .wp-block-social-links .wp-block-social-link a.wp-block-social-link-anchor {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 32px !important;
	height: 32px !important;
	border: 1px solid rgba(0, 0, 0, 0.25) !important;
	border-radius: 50% !important;
	background: transparent !important;
	color: #1a1a2e !important;
	padding: 0 !important;
	text-decoration: none !important;
	transition: border-color 0.2s ease, color 0.2s ease, background 0.2s ease !important;
}

aside.sidebar .wp-block-social-links .wp-block-social-link a.wp-block-social-link-anchor:hover {
	border-color: #2453d4 !important;
	color: #2453d4 !important;
	background: rgba(36, 83, 212, 0.07) !important;
}

aside.sidebar .wp-block-social-links .wp-block-social-link svg {
	width: 15px !important;
	height: 15px !important;
	display: block !important;
	fill: currentColor !important;
	flex-shrink: 0 !important;
}
