/*
 * T3D Custom Widget Styles
 * DESIGN RULE: All colors, fonts, and spacing use Elementor global CSS variables.
 * No hardcoded design tokens. Adapts automatically to any Envato Template Kit.
 */

/* ═══════════════════════════════════════════════════════════
   GLOBAL LINK COLOR FIX
   Elementor global primary color is wrongly set to #828282 (gray).
   Override all content links to white with yellow hover.
═══════════════════════════════════════════════════════════ */
/* Override kit variable on body (.elementor-kit-98) — same specificity, loads later, wins */
:root,
.elementor-kit-98 {
	--e-global-color-primary: #ffffff;
}
.elementor-kit-98 a,
.elementor-widget-container a {
	color: #ffffff;
}
.elementor-kit-98 a:hover,
.elementor-widget-container a:hover {
	color: #F9C04D;
}
/* Icon list items (contact cards) */
.elementor-icon-list-item a,
.elementor-icon-list-text {
	color: #ffffff !important;
}
.elementor-icon-list-item a:hover,
.elementor-icon-list-item:hover .elementor-icon-list-text {
	color: #F9C04D !important;
}
/* Social icons */
.elementor-social-icon {
	color: #ffffff !important;
}

/* ═══════════════════════════════════════════════════════════
   SHARED PRIMITIVES
═══════════════════════════════════════════════════════════ */

.t3d-btn {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 12px 28px;
	font-family: var(--e-global-typography-accent-font-family, inherit);
	font-size: var(--e-global-typography-accent-font-size, 0.9rem);
	font-weight: var(--e-global-typography-accent-font-weight, 600);
	letter-spacing: 0.03em;
	text-decoration: none;
	cursor: pointer;
	border: 2px solid transparent;
	border-radius: 5px;
	transition: background 0.25s ease, color 0.25s ease, border-color 0.25s ease, transform 0.18s ease, box-shadow 0.25s ease;
}

.t3d-btn:hover {
	transform: translateY(-2px);
	box-shadow: 0 6px 20px rgba(0,0,0,0.12);
	text-decoration: none;
}

.t3d-btn-primary {
	background: #F9C04D !important;
	color: #0d0d0d !important;
}

.t3d-btn-primary:hover {
	background: #e6a820 !important;
	color: #0d0d0d !important;
}


/* ═══════════════════════════════════════════════════════════
   WIDGET: T3D_Portfolio_Grid
═══════════════════════════════════════════════════════════ */

.t3d-portfolio-grid {
	width: 100%;
}

/* Filter bar */
.t3d-filter-bar {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	justify-content: center;
	margin-bottom: 32px;
}

.t3d-filter-btn {
	padding: 8px 22px;
	background: transparent !important;
	border: 2px solid #F9C04D !important;
	color: #F9C04D !important;
	font-family: var(--e-global-typography-text-font-family, inherit);
	font-size: 0.85rem;
	font-weight: 600;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	cursor: pointer;
	border-radius: 4px;
	transition: background 0.22s ease, color 0.22s ease;
}

.t3d-filter-btn.is-active,
.t3d-filter-btn:hover {
	background: #F9C04D !important;
	color: #0d0d0d !important;
}

/* Grid */
.t3d-grid {
	display: grid;
	gap: 8px;
}

.t3d-grid--cols-2 { grid-template-columns: repeat(2, 1fr); }
.t3d-grid--cols-3 { grid-template-columns: repeat(3, 1fr); }
.t3d-grid--cols-4 { grid-template-columns: repeat(4, 1fr); }

@media (max-width: 768px) {
	.t3d-grid--cols-3,
	.t3d-grid--cols-4 { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 480px) {
	.t3d-grid--cols-2,
	.t3d-grid--cols-3,
	.t3d-grid--cols-4 { grid-template-columns: 1fr; }
}

/* Grid items */
.t3d-grid-item {
	position: relative;
	overflow: hidden;
	border-radius: 6px;
	aspect-ratio: 4 / 3;
	background: var(--e-global-color-secondary, #111);
	transition: transform 0.28s ease, box-shadow 0.28s ease;
}

.t3d-grid-item:hover {
	transform: scale(1.02);
	box-shadow: 0 12px 36px rgba(0,0,0,0.2);
	z-index: 1;
}

.t3d-grid-item__link {
	display: block;
	width: 100%;
	height: 100%;
}

.t3d-grid-item img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: transform 0.5s ease;
}

.t3d-grid-item:hover img {
	transform: scale(1.06);
}

/* Overlay */
.t3d-grid-item__overlay {
	position: absolute;
	inset: 0;
	background: rgba(0,0,0,0.55);
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	gap: 4px;
	padding: 20px;
	opacity: 0;
	transition: opacity 0.28s ease;
}

.t3d-grid-item:hover .t3d-grid-item__overlay {
	opacity: 1;
}

.t3d-grid-item__title {
	font-family: var(--e-global-typography-primary-font-family, inherit);
	font-size: 1rem;
	font-weight: 600;
	color: #ffffff;
	line-height: 1.3;
}

/* Hidden items (filter) */
.t3d-grid-item.is-hidden {
	display: none;
}


/* ═══════════════════════════════════════════════════════════
   WIDGET: T3D_Category_Card
═══════════════════════════════════════════════════════════ */

.t3d-cat-card {
	position: relative;
	display: flex;
	align-items: flex-end;
	height: 260px !important;
	background-size: cover;
	background-position: center;
	border-radius: 8px;
	overflow: hidden;
	cursor: pointer;
}

.t3d-cat-card__overlay {
	position: absolute;
	inset: 0;
	background: linear-gradient(to bottom, var(--t3d-grad-top, rgba(0,0,0,0)), var(--t3d-grad-bottom, rgba(0,0,0,0.72)));
	transition: opacity 0.3s ease;
}

.t3d-cat-card:hover .t3d-cat-card__overlay {
	opacity: 0.85;
}

/* Scale BG image on hover */
.t3d-cat-card::before {
	content: '';
	position: absolute;
	inset: 0;
	background: inherit;
	background-size: cover;
	background-position: center;
	transition: transform 0.5s ease;
	z-index: 0;
}

.t3d-cat-card:hover::before {
	transform: scale(1.05);
}

.t3d-cat-card__body {
	position: relative;
	z-index: 1;
	padding: 28px;
	transform: translateY(0);
	transition: transform 0.32s ease;
}

.t3d-cat-card:hover .t3d-cat-card__body {
	transform: translateY(-6px);
}

.t3d-cat-card__title {
	font-family: var(--e-global-typography-primary-font-family, inherit);
	font-size: 1.35rem;
	font-weight: 700;
	color: #ffffff;
	margin: 0 0 10px;
	line-height: 1.25;
}

.t3d-cat-card__desc {
	font-family: var(--e-global-typography-text-font-family, inherit);
	font-size: 0.9rem;
	color: rgba(255,255,255,0.85);
	margin: 0 0 16px;
	line-height: 1.5;
	opacity: 0;
	transform: translateY(8px);
	transition: opacity 0.32s ease 0.05s, transform 0.32s ease 0.05s;
}

.t3d-cat-card:hover .t3d-cat-card__desc {
	opacity: 1;
	transform: translateY(0);
}

.t3d-cat-card__btn {
	display: inline-block;
	padding: 9px 20px;
	border: 2px solid rgba(255,255,255,0.7);
	color: #ffffff;
	font-size: 0.8rem;
	font-weight: 600;
	letter-spacing: 0.05em;
	text-transform: uppercase;
	text-decoration: none;
	border-radius: 4px;
	transition: background 0.22s ease, border-color 0.22s ease;
	opacity: 0;
	transform: translateY(8px);
	transition: opacity 0.32s ease 0.1s, transform 0.32s ease 0.1s, background 0.22s ease, border-color 0.22s ease;
}

.t3d-cat-card:hover .t3d-cat-card__btn {
	opacity: 1;
	transform: translateY(0);
}

.t3d-cat-card__btn:hover {
	background: var(--e-global-color-primary);
	border-color: var(--e-global-color-primary);
	text-decoration: none;
}


/* ═══════════════════════════════════════════════════════════
   WIDGET: T3D_Event_Download_Card
═══════════════════════════════════════════════════════════ */

.t3d-dl-card {
	display: flex;
	flex-direction: column;
	border-radius: 10px;
	overflow: hidden;
	background: var(--e-global-color-secondary, #f7f7f7);
	box-shadow: 0 4px 24px rgba(0,0,0,0.08);
	transition: box-shadow 0.28s ease, transform 0.28s ease;
}

.t3d-dl-card:hover {
	transform: translateY(-4px);
	box-shadow: 0 12px 40px rgba(0,0,0,0.14);
}

.t3d-dl-card__thumb {
	width: 100%;
	overflow: hidden;
	max-height: 260px;
}

.t3d-dl-card__thumb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: transform 0.5s ease;
}

.t3d-dl-card:hover .t3d-dl-card__thumb img {
	transform: scale(1.04);
}

.t3d-dl-card__body {
	padding: 28px;
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.t3d-dl-card__date {
	font-family: var(--e-global-typography-accent-font-family, inherit);
	font-size: 0.78rem;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--e-global-color-primary);
}

.t3d-dl-card__title {
	font-family: var(--e-global-typography-primary-font-family, inherit);
	font-size: 1.2rem;
	font-weight: 700;
	color: var(--e-global-color-text);
	margin: 0;
	line-height: 1.3;
}

.t3d-dl-card__desc {
	font-family: var(--e-global-typography-text-font-family, inherit);
	font-size: 0.9rem;
	line-height: 1.6;
	color: var(--e-global-color-text);
	opacity: 0.85;
}

.t3d-dl-card__desc p { margin: 0 0 8px; }
.t3d-dl-card__desc p:last-child { margin-bottom: 0; }

.t3d-dl-card__pw-note {
	font-size: 0.85rem;
	opacity: 0.7;
	color: var(--e-global-color-text);
	margin: 0;
}

.t3d-dl-card__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-top: 6px;
}

.t3d-btn-album {
	background: #F9C04D !important;
	color: #0d0d0d !important;
}

.t3d-btn-album:hover {
	background: #e6a820 !important;
	color: #0d0d0d !important;
}

.t3d-dl-card__downloads {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	width: 100%;
}

.t3d-btn-download {
	background: transparent !important;
	color: #F9C04D !important;
	border: 2px solid #F9C04D !important;
}

.t3d-btn-download:hover {
	background: #F9C04D !important;
	color: #0d0d0d !important;
}


/* ═══════════════════════════════════════════════════════════
   WIDGET: T3D_3D_Embed (Click-to-Load)
═══════════════════════════════════════════════════════════ */

.t3d-embed-outer {
	display: flex;
	flex-direction: column;
	gap: 20px;
}

.t3d-embed-wrapper {
	position: relative;
	border-radius: 8px;
	overflow: hidden;
}

/* Cover placeholder */
.t3d-embed-cover {
	position: relative;
	width: 100%;
	height: 520px;
	overflow: hidden;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	background: #111;
}

.t3d-embed-cover__img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: transform 0.5s ease;
}

.t3d-embed-cover:hover .t3d-embed-cover__img {
	transform: scale(1.03);
}

.t3d-embed-cover__overlay {
	position: absolute;
	inset: 0;
	background: rgba(0,0,0,0.3);
	z-index: 1;
	transition: background 0.3s ease;
}

.t3d-embed-cover:hover .t3d-embed-cover__overlay {
	background: rgba(0,0,0,0.45);
}

/* Play button */
.t3d-play-btn {
	position: relative;
	z-index: 2;
	width: 72px;
	height: 72px;
	border-radius: 50%;
	background: var(--e-global-color-primary);
	border: none;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	box-shadow: 0 8px 32px rgba(0,0,0,0.35);
	transition: transform 0.25s ease, box-shadow 0.25s ease, background 0.25s ease;
}

.t3d-play-btn:hover,
.t3d-embed-cover:hover .t3d-play-btn {
	transform: scale(1.12);
	box-shadow: 0 12px 40px rgba(0,0,0,0.4);
}

.t3d-play-btn svg {
	width: 30px;
	height: 30px;
	fill: #ffffff;
	/* Visually center the play triangle */
	margin-left: 4px;
}

/* Injected iframe */
.t3d-embed-frame {
	width: 100%;
	height: 520px;
	border: none;
	display: block;
	background: #111;
}

.t3d-embed-frame.is-loading {
	opacity: 0;
	transition: opacity 0.4s ease;
}

.t3d-embed-frame.is-ready {
	opacity: 1;
}

/* Caption */
.t3d-embed-meta {
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.t3d-embed-caption {
	font-family: var(--e-global-typography-primary-font-family, inherit);
	font-size: 1.1rem;
	font-weight: 700;
	color: var(--e-global-color-text);
	margin: 0;
}

.t3d-embed-desc {
	font-family: var(--e-global-typography-text-font-family, inherit);
	font-size: 0.9rem;
	color: var(--e-global-color-text);
	opacity: 0.8;
	margin: 0;
	line-height: 1.6;
}


/* ═══════════════════════════════════════════════════════════
   WIDGET: T3D_Service_Block
═══════════════════════════════════════════════════════════ */

.t3d-svc { width: 100%; }

.t3d-svc__inner {
	display: flex;
	align-items: flex-start;
	gap: 64px;
}

.t3d-svc--img-right .t3d-svc__inner {
	flex-direction: row-reverse;
}

.t3d-svc__image {
	flex: 0 0 50%;
	max-width: 50%;
	align-self: stretch;
	position: relative;
	min-height: 200px;
}

.t3d-svc__image > img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	display: block;
	border-radius: 8px;
	object-fit: cover;
}

.t3d-svc__content {
	flex: 1;
	display: flex;
	flex-direction: column;
	gap: 16px;
}

.t3d-svc__label {
	font-family: var(--e-global-typography-accent-font-family, inherit);
	font-size: 0.78rem;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--e-global-color-primary);
}

.t3d-svc__heading {
	font-family: var(--e-global-typography-primary-font-family, inherit);
	font-size: clamp(1.5rem, 3vw, 2.2rem);
	font-weight: 700;
	color: var(--e-global-color-text);
	margin: 0;
	line-height: 1.2;
}

.t3d-svc__body {
	font-family: var(--e-global-typography-text-font-family, inherit);
	font-size: 1rem;
	line-height: 1.7;
	color: var(--e-global-color-text);
	opacity: 0.85;
}

.t3d-svc__body p { margin: 0 0 12px; }
.t3d-svc__body p:last-child { margin-bottom: 0; }

.t3d-svc__cta {
	align-self: flex-start;
	background: #F9C04D !important;
	color: #0d0d0d !important;
}

.t3d-svc__cta:hover {
	background: #e6a820 !important;
	color: #0d0d0d !important;
}

@media (max-width: 900px) {
	.t3d-svc__inner,
	.t3d-svc--img-right .t3d-svc__inner {
		flex-direction: column;
		gap: 36px;
	}

	.t3d-svc__image {
		flex: 0 0 100%;
		max-width: 100%;
	}
}


/* ═══════════════════════════════════════════════════════════
   THE EVENTS CALENDAR — Premium Card Overhaul
   Targets: The Events Calendar plugin (.tribe-events-*)
   Design: Card-based, hover effects, clean SaaS aesthetic
═══════════════════════════════════════════════════════════ */

/* ── Global container reset ─────────────────────────────── */
.tribe-events,
.tribe-events *,
.tribe-events *::before,
.tribe-events *::after {
	box-sizing: border-box !important;
}

.tribe-events {
	font-family: var(--e-global-typography-text-font-family, inherit) !important;
	color: var(--e-global-color-text) !important;
	--tribe-color-accent: var(--e-global-color-primary) !important;
}

/* ── Hide tribe branding / boilerplate ──────────────────── */
.tribe-events-header__title,
.tribe-events .tribe-events-header__title,
.tribe-events-pro-photo__event-featured-image-link,
.tribe-events-notices,
.tribe-events-back a {
	display: none !important;
}

/* ── Page title & nav ───────────────────────────────────── */
.tribe-events .tribe-events-header {
	background: transparent !important;
	border: none !important;
	padding: 0 0 24px !important;
}

.tribe-events .tribe-events-c-nav__list {
	display: flex !important;
	align-items: center !important;
	gap: 8px !important;
	list-style: none !important;
	padding: 0 !important;
	margin: 0 0 24px !important;
	justify-content: center !important;
}

.tribe-events .tribe-events-c-nav__next a,
.tribe-events .tribe-events-c-nav__prev a {
	display: inline-flex !important;
	align-items: center !important;
	gap: 6px !important;
	padding: 9px 18px !important;
	border: 1.5px solid var(--e-global-color-primary) !important;
	border-radius: 6px !important;
	color: var(--e-global-color-primary) !important;
	font-weight: 600 !important;
	font-size: 0.875rem !important;
	text-decoration: none !important;
	background: transparent !important;
	transition: background 0.2s ease, color 0.2s ease !important;
}

.tribe-events .tribe-events-c-nav__next a:hover,
.tribe-events .tribe-events-c-nav__prev a:hover {
	background: var(--e-global-color-primary) !important;
	color: #fff !important;
}

/* ── View switcher (List / Month / Day) ─────────────────── */
.tribe-events-view-selector-list {
	display: flex !important;
	gap: 4px !important;
	list-style: none !important;
	padding: 0 !important;
	margin: 0 0 32px !important;
	justify-content: center !important;
}

.tribe-events-view-selector-list__item a {
	display: inline-block !important;
	padding: 7px 16px !important;
	border-radius: 20px !important;
	font-size: 0.8rem !important;
	font-weight: 600 !important;
	letter-spacing: 0.04em !important;
	text-decoration: none !important;
	color: var(--e-global-color-text) !important;
	background: transparent !important;
	border: 1.5px solid rgba(0,0,0,0.14) !important;
	transition: all 0.2s ease !important;
}

.tribe-events-view-selector-list__item a:hover,
.tribe-events-view-selector-list__item--active a {
	background: var(--e-global-color-primary) !important;
	border-color: var(--e-global-color-primary) !important;
	color: #fff !important;
}

/* ── LIST VIEW: event cards ─────────────────────────────── */
.tribe-events-calendar-list__event-row {
	margin-bottom: 20px !important;
}

.tribe-events-calendar-list__event-wrapper {
	background: #fff !important;
	border: 1px solid rgba(0,0,0,0.08) !important;
	border-radius: 12px !important;
	overflow: hidden !important;
	display: flex !important;
	flex-direction: row !important;
	transition: box-shadow 0.25s ease, transform 0.25s ease !important;
}

.tribe-events-calendar-list__event-wrapper:hover {
	box-shadow: 0 8px 32px rgba(0,0,0,0.12) !important;
	transform: translateY(-3px) !important;
}

/* Date badge sidebar */
.tribe-events-calendar-list__event-date-tag {
	display: flex !important;
	flex-direction: column !important;
	align-items: center !important;
	justify-content: center !important;
	min-width: 72px !important;
	background: var(--e-global-color-primary) !important;
	color: #fff !important;
	padding: 16px 12px !important;
	flex-shrink: 0 !important;
}

.tribe-events-calendar-list__event-date-tag-daynum {
	font-size: 2rem !important;
	font-weight: 800 !important;
	line-height: 1 !important;
	color: #fff !important;
}

.tribe-events-calendar-list__event-date-tag-month {
	font-size: 0.7rem !important;
	font-weight: 600 !important;
	letter-spacing: 0.1em !important;
	text-transform: uppercase !important;
	color: rgba(255,255,255,0.85) !important;
	margin-top: 4px !important;
}

.tribe-events-calendar-list__event-featured-image {
	width: 180px !important;
	flex-shrink: 0 !important;
	overflow: hidden !important;
}

.tribe-events-calendar-list__event-featured-image img {
	width: 100% !important;
	height: 100% !important;
	object-fit: cover !important;
}

.tribe-events-calendar-list__event-details {
	padding: 20px 24px !important;
	flex: 1 !important;
	display: flex !important;
	flex-direction: column !important;
	justify-content: center !important;
}

.tribe-events-calendar-list__event-title a {
	font-family: var(--e-global-typography-primary-font-family, inherit) !important;
	font-size: 1.15rem !important;
	font-weight: 700 !important;
	color: var(--e-global-color-text) !important;
	text-decoration: none !important;
	line-height: 1.3 !important;
	transition: color 0.2s ease !important;
}

.tribe-events-calendar-list__event-title a:hover {
	color: var(--e-global-color-primary) !important;
}

.tribe-events-calendar-list__event-datetime {
	font-size: 0.8rem !important;
	font-weight: 600 !important;
	color: var(--e-global-color-primary) !important;
	text-transform: uppercase !important;
	letter-spacing: 0.06em !important;
	margin-bottom: 8px !important;
}

.tribe-events-calendar-list__event-description p {
	font-size: 0.9rem !important;
	line-height: 1.6 !important;
	color: var(--e-global-color-text) !important;
	opacity: 0.75 !important;
	margin: 8px 0 0 !important;
}

/* ── MONTH VIEW: calendar grid ──────────────────────────── */
.tribe-events-calendar-month__header {
	background: var(--e-global-color-primary) !important;
	border-radius: 10px 10px 0 0 !important;
	overflow: hidden !important;
	margin-bottom: 0 !important;
}

.tribe-events-calendar-month__header-column {
	padding: 12px 8px !important;
	text-align: center !important;
}

.tribe-events-calendar-month__header-column-title {
	font-size: 0.7rem !important;
	font-weight: 700 !important;
	letter-spacing: 0.1em !important;
	text-transform: uppercase !important;
	color: rgba(255,255,255,0.9) !important;
}

.tribe-events-calendar-month__body {
	border: 1px solid rgba(0,0,0,0.1) !important;
	border-radius: 0 0 10px 10px !important;
	overflow: hidden !important;
}

.tribe-events-calendar-month__calendar-event {
	background: var(--e-global-color-primary) !important;
	border-radius: 4px !important;
	margin: 2px 4px !important;
	padding: 2px 6px !important;
}

.tribe-events-calendar-month__calendar-event-title a {
	font-size: 0.72rem !important;
	font-weight: 600 !important;
	color: #fff !important;
	text-decoration: none !important;
}

.tribe-events-calendar-month__grid-cell {
	border: 1px solid rgba(0,0,0,0.07) !important;
	min-height: 90px !important;
	padding: 6px !important;
	transition: background 0.18s ease !important;
}

.tribe-events-calendar-month__grid-cell:hover {
	background: rgba(0,0,0,0.025) !important;
}

.tribe-events-calendar-month__grid-cell--current .tribe-events-calendar-month__grid-cell-date-link,
.tribe-events-calendar-month__grid-cell--current .tribe-events-calendar-month__grid-cell-date {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 28px !important;
	height: 28px !important;
	background: var(--e-global-color-primary) !important;
	color: #fff !important;
	border-radius: 50% !important;
	font-weight: 700 !important;
}

.tribe-events-calendar-month__grid-cell--other-month {
	opacity: 0.35 !important;
}

/* ── DAY VIEW ───────────────────────────────────────────── */
.tribe-events-calendar-day__event {
	background: #fff !important;
	border: 1px solid rgba(0,0,0,0.08) !important;
	border-radius: 10px !important;
	padding: 20px !important;
	margin-bottom: 16px !important;
	transition: box-shadow 0.2s ease !important;
}

.tribe-events-calendar-day__event:hover {
	box-shadow: 0 6px 24px rgba(0,0,0,0.1) !important;
}

/* ── Single event page ──────────────────────────────────── */
.tribe-events-single {
	max-width: 860px !important;
	margin: 0 auto !important;
}

.tribe-events-single-event-title {
	font-family: var(--e-global-typography-primary-font-family, inherit) !important;
	font-size: 2rem !important;
	font-weight: 800 !important;
	color: var(--e-global-color-text) !important;
	margin-bottom: 12px !important;
}

.tribe-events-schedule abbr {
	font-size: 0.875rem !important;
	font-weight: 600 !important;
	color: var(--e-global-color-primary) !important;
	letter-spacing: 0.04em !important;
	text-decoration: none !important;
	border: none !important;
}

/* ── "Add to calendar" / organizer meta ─────────────────── */
.tribe-venue,
.tribe-organizer {
	background: rgba(0,0,0,0.03) !important;
	border-radius: 8px !important;
	padding: 16px !important;
	margin-top: 16px !important;
}

/* ── CTA button on event cards ──────────────────────────── */
.tribe-event-url,
.tribe-events .tribe-common-c-btn,
.tribe-events .tribe-common-c-btn-primary,
a.tribe-events-read-more {
	display: inline-block !important;
	padding: 9px 20px !important;
	background: var(--e-global-color-primary) !important;
	color: #fff !important;
	border-radius: 6px !important;
	font-size: 0.85rem !important;
	font-weight: 700 !important;
	text-decoration: none !important;
	border: none !important;
	cursor: pointer !important;
	transition: opacity 0.2s ease !important;
	margin-top: 12px !important;
}

.tribe-event-url:hover,
.tribe-events .tribe-common-c-btn:hover,
.tribe-events .tribe-common-c-btn-primary:hover,
a.tribe-events-read-more:hover {
	opacity: 0.85 !important;
}

/* ── Responsive: stack list-view cards on mobile ─────────── */
@media (max-width: 680px) {
	.tribe-events-calendar-list__event-wrapper {
		flex-direction: column !important;
	}

	.tribe-events-calendar-list__event-featured-image {
		width: 100% !important;
		height: 200px !important;
	}

	.tribe-events-calendar-list__event-date-tag {
		flex-direction: row !important;
		gap: 8px !important;
		padding: 10px 16px !important;
		min-width: unset !important;
		width: 100% !important;
		justify-content: flex-start !important;
	}
}


/* ════════════════════════════════════════════════════════════════
   DESIGN SYSTEM v2 — Header · Footer · Calendar · Contact
   ════════════════════════════════════════════════════════════════ */

/* ── HEADER: Sticky Floating Pill ─────────────────────────────── */

/* Match both: <header class="site-header elementor-location-header"> (inner pages)
   AND:         <header class="elementor elementor-115 elementor-location-header"> (homepage) */
.elementor-location-header {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	z-index: 9999;
	background: transparent !important;
	border: none !important;
	padding: 14px 20px;
	pointer-events: none;
}

body.admin-bar .elementor-location-header {
	top: 32px !important;
}

/* Homepage hero: Snapix single-container layout.
   5812e3b5 = outer container (nikon.jpg background, flex-end/flex-end)
   68ae55eb = text box (500px fixed width on desktop) */
.elementor-element-5812e3b5 {
	padding-top: 0 !important;
}

/* Mobile hero: center content vertically over the background image,
   remove the dark inner box so the image shows through the full hero area. */
@media (max-width: 767px) {
	/* Center inner content over the image */
	.elementor-element-5812e3b5 > .e-con-inner {
		justify-content: center !important;
		align-items: stretch !important;
	}
	/* Darken image for text legibility using a gradient overlay */
	.elementor-element-5812e3b5 {
		position: relative !important;
	}
	.elementor-element-5812e3b5::after {
		content: '';
		position: absolute;
		inset: 0;
		background: linear-gradient(
			to bottom,
			rgba(0,0,0,0.25) 0%,
			rgba(8,8,8,0.72) 40%,
			rgba(8,8,8,0.82) 100%
		);
		pointer-events: none;
		z-index: 0;
	}
	/* Content box: transparent bg, no border, sits above gradient */
	.elementor-element-68ae55eb {
		position: relative !important;
		z-index: 1 !important;
		background: transparent !important;
		border-top: none !important;
		padding: 2em 1.5em 2.5em !important;
	}
}

/* Inner-page hero sections: original template was built for a 100px traditional header.
   Reduce to 90px so the pill nav (ends ~88px) has clearance without a huge empty gap. */
.site-main > .elementor > .e-con:first-child {
	padding-top: 90px !important;
}

.elementor-location-header > * {
	pointer-events: auto;
}

/* Remove the Elementor-injected inner padding/overflow */
.elementor-location-header > .elementor {
	overflow: visible !important;
}

/* Pill — targets the outermost flex container inside the header template */
.elementor-location-header .e-con.e-parent {
	border-radius: 60px !important;
	background: rgba(18, 18, 18, 0.88) !important;
	backdrop-filter: blur(24px) saturate(160%) !important;
	-webkit-backdrop-filter: blur(24px) saturate(160%) !important;
	box-shadow:
		0 12px 48px rgba(0, 0, 0, 0.55),
		0 0 0 1px rgba(255, 255, 255, 0.06),
		inset 0 1px 0 rgba(255, 255, 255, 0.05) !important;
	max-width: 1200px !important;
	margin-left: auto !important;
	margin-right: auto !important;
	/* Override the -5em negative margin that was used for content overlap */
	margin-bottom: 0 !important;
	margin-top: 0 !important;
	padding-top: 8px !important;
	padding-bottom: 8px !important;
	padding-left: 28px !important;
	padding-right: 28px !important;
	border-bottom: none !important;
}

/* Smooth scroll-reveal shadow */
@supports (backdrop-filter: blur(1px)) {
	.elementor-location-header .e-con.e-parent {
		background: rgba(18, 18, 18, 0.82) !important;
	}
}

/* Nav links inside pill: ensure they are fully visible */
.elementor-location-header .elementor-nav-menu a,
.elementor-location-header .elementor-nav-menu--main .elementor-item {
	color: rgba(255, 255, 255, 0.88) !important;
	font-size: 0.88rem !important;
	letter-spacing: 0.04em !important;
	text-transform: uppercase !important;
	transition: color 0.2s ease !important;
}

.elementor-location-header .elementor-nav-menu--main .elementor-item:hover,
.elementor-location-header .elementor-nav-menu--main .elementor-item.elementor-item-active {
	color: var(--e-global-color-primary) !important;
}

/* Mobile hamburger in the pill */
.elementor-location-header .elementor-menu-toggle {
	color: #fff !important;
}

/* Mobile dropdown menu — dark glass style matching the header pill */
.elementor-location-header .elementor-nav-menu--dropdown,
.elementor-location-header .elementor-nav-menu--dropdown.elementor-nav-menu__container {
	background-color: #1a1a1a !important;
	border-radius: 20px !important;
	border: 1.5px solid rgba(255,255,255,0.2) !important;
	box-shadow: 0 8px 32px rgba(0,0,0,0.6) !important;
	overflow: hidden !important;
	margin-top: 8px !important;
}

.elementor-location-header .elementor-nav-menu--dropdown .elementor-item {
	color: #ffffff !important;
	padding: 12px 20px !important;
}

.elementor-location-header .elementor-nav-menu--dropdown .elementor-item:hover {
	color: #F9C04D !important;
	background: rgba(255,255,255,0.05) !important;
}


/* ── FOOTER: White Logo ──────────────────────────────────────── */

/* The logo image widget in the footer center column */
.elementor-location-footer .elementor-element-3ea5d23d img {
	filter: brightness(0) invert(1) !important;
	opacity: 0.92 !important;
}

/* Give the footer logo column a subtle orange top-accent line */
.elementor-location-footer .elementor-element-1d23a42d {
	border-top: 3px solid var(--e-global-color-primary) !important;
	padding-top: 2em !important;
}

/* Footer social icons: style hover state */
.elementor-location-footer .elementor-social-icon:hover {
	background: var(--e-global-color-primary) !important;
	transform: translateY(-3px) !important;
	transition: all 0.25s ease !important;
}

/* Footer heading accent underline */
.elementor-location-footer h4 {
	position: relative;
	padding-bottom: 10px;
}

.elementor-location-footer h4::after {
	content: '';
	position: absolute;
	left: 0;
	bottom: 0;
	width: 32px;
	height: 2px;
	background: var(--e-global-color-primary);
}

/* ── EVENTS CALENDAR: Remove Clutter ─────────────────────────── */

/* Hide: search bar */
.tribe-events-header__events-bar,
.tribe-events-c-events-bar {
	display: none !important;
}

/* Hide: Subscribe / Export dropdown */
.tribe-events-c-subscribe-dropdown {
	display: none !important;
}

/* Hide: view type selector (List / Month / Map / Photo tabs) */
.tribe-events-c-view-selector {
	display: none !important;
}

/* Style the top-bar (date navigation + picker) */
.tribe-events-c-top-bar {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 16px !important;
	padding: 24px 0 16px !important;
	border: none !important;
	background: transparent !important;
	flex-wrap: wrap !important;
}

/* Prev/Next navigation icon buttons */
.tribe-events-c-top-bar__nav-link {
	background: rgba(255, 255, 255, 0.06) !important;
	border: 1px solid rgba(255, 255, 255, 0.12) !important;
	border-radius: 50% !important;
	width: 42px !important;
	height: 42px !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	transition: background 0.2s ease, border-color 0.2s ease !important;
	cursor: pointer !important;
}

.tribe-events-c-top-bar__nav-link:hover:not(:disabled) {
	background: var(--e-global-color-primary) !important;
	border-color: var(--e-global-color-primary) !important;
}

.tribe-events-c-top-bar__nav-link svg path {
	fill: #fff !important;
}

/* Date display button */
.tribe-events-c-top-bar__datepicker-button {
	color: #fff !important;
	font-size: 1.15rem !important;
	font-weight: 700 !important;
	letter-spacing: 0.06em !important;
	text-transform: uppercase !important;
	background: transparent !important;
	border: none !important;
	cursor: pointer !important;
	padding: 0 8px !important;
}

/* "Today" jump button */
.tribe-events-c-top-bar__today-button {
	background: transparent !important;
	border: 1px solid rgba(255, 255, 255, 0.18) !important;
	color: rgba(255, 255, 255, 0.65) !important;
	border-radius: 20px !important;
	padding: 5px 18px !important;
	font-size: 0.8rem !important;
	letter-spacing: 0.05em !important;
	text-transform: uppercase !important;
	transition: all 0.2s ease !important;
	text-decoration: none !important;
}

.tribe-events-c-top-bar__today-button:hover {
	background: var(--e-global-color-primary) !important;
	border-color: var(--e-global-color-primary) !important;
	color: #fff !important;
}

/* "No upcoming events" empty state — style nicely */
.tribe-events-c-messages__message {
	display: flex !important;
	flex-direction: column !important;
	align-items: center !important;
	gap: 12px !important;
	padding: 60px 24px !important;
	color: rgba(255, 255, 255, 0.5) !important;
	font-size: 1rem !important;
}

.tribe-events-c-messages__message-icon-svg {
	width: 48px !important;
	height: 48px !important;
	stroke: var(--e-global-color-primary) !important;
	fill: none !important;
	opacity: 0.5 !important;
}


/* ── CONTACT PAGE: Icon-box & Section Accents ─────────────────── */

/* Orange left-border accent on contact info icon-boxes */
.contact-info-strip .elementor-icon-box-wrapper {
	border-left: 3px solid var(--e-global-color-primary) !important;
	padding-left: 16px !important;
}

/* Generic contact-page heading underline accent */
.elementor-page-137 .elementor-widget-heading h2 {
	position: relative;
	padding-bottom: 14px;
	margin-bottom: 24px;
}

.elementor-page-137 .elementor-widget-heading h2::after {
	content: '';
	position: absolute;
	left: 0;
	bottom: 0;
	width: 40px;
	height: 3px;
	background: var(--e-global-color-primary);
	border-radius: 2px;
}

/* Style the email link in contact page */
.elementor-page-137 a[href^="mailto"] {
	color: var(--e-global-color-primary) !important;
	font-weight: 700 !important;
	text-decoration: none !important;
	transition: opacity 0.2s ease !important;
}

.elementor-page-137 a[href^="mailto"]:hover {
	opacity: 0.8 !important;
}

/* Contact hero text glow */
.elementor-page-137 .elementor-widget-heading h1 {
	text-shadow: 0 4px 30px rgba(0, 0, 0, 0.6);
}

/* Style the inline CTA button in contact page */
.elementor-page-137 a[style*="background:var(--e-global-color-primary"] {
	transition: opacity 0.2s ease, transform 0.2s ease !important;
	display: inline-block !important;
}

.elementor-page-137 a[style*="background:var(--e-global-color-primary"]:hover {
	opacity: 0.88 !important;
	transform: translateY(-2px) !important;
}

/* Social links in contact page */
.elementor-page-137 a[href*="facebook"],
.elementor-page-137 a[href*="youtube"] {
	color: var(--e-global-color-primary) !important;
	font-weight: 600 !important;
	text-decoration: none !important;
}

/* Right column separator accent */
.elementor-page-137 .elementor-element-f0e7312d {
	border-left: 1px solid rgba(255, 255, 255, 0.08) !important;
	padding-left: 48px !important;
}

@media (max-width: 768px) {
	.elementor-page-137 .elementor-element-f0e7312d {
		border-left: none !important;
		padding-left: 0 !important;
		border-top: 1px solid rgba(255, 255, 255, 0.08) !important;
		padding-top: 40px !important;
		margin-top: 20px !important;
	}
}

/* ── GLOBAL: Orange Accent Utility ───────────────────────────── */

/* Accent rule used on headings with [class*="orange-line"] */
.t3d-orange-line {
	display: block;
	width: 40px;
	height: 3px;
	background: var(--e-global-color-primary);
	border-radius: 2px;
	margin: 12px 0 20px;
}

/* Pull quote / highlight box */
.t3d-callout {
	border-left: 4px solid var(--e-global-color-primary);
	padding: 16px 20px;
	background: rgba(255, 255, 255, 0.03);
	border-radius: 0 8px 8px 0;
	margin: 20px 0;
}

/* ── Responsive adjustments ──────────────────────────────────── */
@media (max-width: 768px) {
	/* Pill header: reduce padding on mobile */
	.elementor-location-header {
		padding: 8px 12px;
	}

	.elementor-location-header .e-con.e-parent {
		border-radius: 40px !important;
		padding-left: 16px !important;
		padding-right: 16px !important;
	}
}



/* ════════════════════════════════════════════════════════════════
   DESIGN SYSTEM v3 — Logo · Contact Cards · Month Calendar
   ════════════════════════════════════════════════════════════════ */

/* ── HEADER & FOOTER LOGO: Always white on dark background ───── */

header.elementor-location-header .elementor-widget-image img,
.elementor-location-header .elementor-widget-image img,
footer.elementor-location-footer .elementor-widget-image img,
.elementor-location-footer .elementor-widget-image img {
	filter: brightness(0) invert(1) !important;
	opacity: 1 !important;
	max-width: 160px !important;
}

/* Social icons in header: single row, no wrap */
.elementor-location-header .elementor-social-icons-wrapper {
	flex-wrap: nowrap !important;
	gap: 6px !important;
}

.elementor-location-header .elementor-grid-item {
	flex-shrink: 0 !important;
}

/* Nav menu: dead-center in header */
.elementor-location-header .elementor-widget-nav-menu {
	flex-grow: 1 !important;
	display: flex !important;
	justify-content: center !important;
}
.elementor-location-header .elementor-widget-nav-menu .elementor-widget-container {
	width: 100% !important;
	display: flex !important;
	justify-content: center !important;
}
.elementor-location-header .elementor-nav-menu--main.elementor-nav-menu--layout-horizontal {
	width: 100% !important;
	justify-content: center !important;
}
.elementor-location-header .elementor-nav-menu--layout-horizontal .elementor-nav-menu {
	flex-wrap: nowrap !important;
	justify-content: center !important;
	width: 100% !important;
}

/* ── FOOTER LOGO: Ensure white ───────────────────────────────── */

.elementor-location-footer .elementor-element-3ea5d23d img,
.elementor-location-footer .elementor-widget-image img {
	filter: brightness(0) invert(1) !important;
	opacity: 0.9 !important;
}


/* ════════════════════════════════════════════════════════════════
   CONTACT PAGE — Glassmorphic Cards + Orange Blobs
   ════════════════════════════════════════════════════════════════ */

/* Background blobs: purely CSS, zero JS, uses transform only (no heavy filter) */
.elementor-page-137 .elementor-element-59d6209f {
	position: relative;
	overflow: hidden;
}

/* Blob 1 — top-right warm glow */
.elementor-page-137 .elementor-element-59d6209f::before {
	content: '';
	position: absolute;
	top: -120px;
	right: -80px;
	width: 420px;
	height: 420px;
	border-radius: 50%;
	background: radial-gradient(circle at 50% 50%,
		rgba(249, 192, 77, 0.14) 0%,
		rgba(227, 144, 2,  0.07) 45%,
		transparent 72%);
	pointer-events: none;
	z-index: 0;
}

/* Blob 2 — bottom-left accent */
.elementor-page-137 .elementor-element-59d6209f::after {
	content: '';
	position: absolute;
	bottom: -100px;
	left: -60px;
	width: 360px;
	height: 360px;
	border-radius: 50%;
	background: radial-gradient(circle at 50% 50%,
		rgba(249, 192, 77, 0.10) 0%,
		transparent 68%);
	pointer-events: none;
	z-index: 0;
}

/* Ensure child content sits above blobs */
.elementor-page-137 .elementor-element-59d6209f > .e-con-inner,
.elementor-page-137 .elementor-element-59d6209f > * {
	position: relative;
	z-index: 1;
}

/* ── Contact Info Card (left column) ──────────────────────────── */

/* Glassmorphic wrapper for each icon-box in the info column */
.elementor-page-137 .elementor-element-0e060bf0 .elementor-widget-icon-box {
	background: rgba(255, 255, 255, 0.035) !important;
	backdrop-filter: blur(12px) !important;
	-webkit-backdrop-filter: blur(12px) !important;
	border: 1px solid rgba(255, 255, 255, 0.07) !important;
	border-radius: 12px !important;
	padding: 14px 18px !important;
	margin-bottom: 10px !important;
	transition: background 0.25s ease, border-color 0.25s ease, transform 0.2s ease !important;
}

.elementor-page-137 .elementor-element-0e060bf0 .elementor-widget-icon-box:hover {
	background: rgba(255, 255, 255, 0.06) !important;
	border-color: rgba(249, 192, 77, 0.28) !important;
	transform: translateX(4px) !important;
}

/* Icon color in info cards */
.elementor-page-137 .elementor-element-0e060bf0 .elementor-icon svg {
	fill: #F9C04D !important;
}

/* Heading inside info card */
/* removed stale override — .t3d-glass-card rules below handle this correctly */

/* Social icon-boxes: slightly different style */
.elementor-page-137 .elementor-element-0e060bf0 .elementor-element[data-id="ib_fb01"] .elementor-widget-wrap,
.elementor-page-137 .elementor-element-0e060bf0 .elementor-element[data-id="ib_yt01"] .elementor-widget-wrap {
	margin-top: 8px !important;
}

/* ── Contact info left column: force all text and links to pure white ── */
.elementor-page-137 .elementor-element-0e060bf0,
.elementor-page-137 .elementor-element-0e060bf0 *,
.elementor-page-137 .elementor-element-0e060bf0 a,
.elementor-page-137 .elementor-element-0e060bf0 a *,
.elementor-page-137 .elementor-element-0e060bf0 .elementor-icon-box-title,
.elementor-page-137 .elementor-element-0e060bf0 .elementor-icon-box-title *,
.elementor-page-137 .elementor-element-0e060bf0 .elementor-icon-box-description,
.elementor-page-137 .elementor-element-0e060bf0 .elementor-icon-box-description * {
	color: #ffffff !important;
	text-decoration: none !important;
}

.elementor-page-137 .elementor-element-0e060bf0 a:hover,
.elementor-page-137 .elementor-element-0e060bf0 a:hover * {
	color: #F9C04D !important;
	text-decoration: none !important;
}

/* ── Right column (HAI SA COLABORAM + form): force white on all text/links ── */
.elementor-page-137 .elementor-element-f0e7312d a,
.elementor-page-137 .elementor-element-f0e7312d a *,
.elementor-page-137 .elementor-element-f0e7312d p,
.elementor-page-137 .elementor-element-f0e7312d .elementor-widget-heading .elementor-heading-title {
	color: #ffffff !important;
	text-decoration: none !important;
}

.elementor-page-137 .elementor-element-f0e7312d a:hover,
.elementor-page-137 .elementor-element-f0e7312d a:hover * {
	color: #F9C04D !important;
}

/* Icon-box inner layout: vertically centered icon + text */
.elementor-page-137 .elementor-element-0e060bf0 .elementor-icon-box-wrapper {
	display: flex !important;
	align-items: center !important;
	gap: 14px !important;
}

.elementor-page-137 .elementor-element-0e060bf0 .elementor-icon-box-icon {
	flex-shrink: 0 !important;
	margin: 0 !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
}

.elementor-page-137 .elementor-element-0e060bf0 .elementor-icon-box-content {
	flex: 1 !important;
	min-width: 0 !important;
}

.elementor-page-137 .elementor-element-0e060bf0 .elementor-icon-box-title {
	font-size: 1rem !important;
	font-weight: 600 !important;
	margin-bottom: 2px !important;
	line-height: 1.3 !important;
	white-space: normal !important;
	word-break: break-word !important;
}

.elementor-page-137 .elementor-element-0e060bf0 .elementor-icon-box-description {
	font-size: 0.82rem !important;
	color: rgba(255,255,255,0.65) !important;
	line-height: 1.5 !important;
	margin: 0 !important;
	white-space: normal !important;
	word-break: break-word !important;
}

/* ── Right Column (CTA + form) ────────────────────────────────── */

.elementor-page-137 .elementor-element-f0e7312d {
	background: rgba(255, 255, 255, 0.03) !important;
	backdrop-filter: blur(16px) !important;
	-webkit-backdrop-filter: blur(16px) !important;
	border: 1px solid rgba(255, 255, 255, 0.07) !important;
	border-radius: 20px !important;
	padding: 40px 36px !important;
	border-left: 3px solid rgba(249, 192, 77, 0.4) !important;
}

/* CTA button in contact */
.elementor-page-137 .elementor-element-cta_email .elementor-button {
	background: linear-gradient(135deg, #F9C04D 0%, #E39002 100%) !important;
	color: #111 !important;
	font-weight: 700 !important;
	letter-spacing: 0.04em !important;
	border-radius: 8px !important;
	padding: 14px 32px !important;
	box-shadow: 0 6px 24px rgba(249, 192, 77, 0.28) !important;
	border: none !important;
	transition: transform 0.2s ease, box-shadow 0.2s ease !important;
}

.elementor-page-137 .elementor-element-cta_email .elementor-button:hover {
	transform: translateY(-2px) !important;
	box-shadow: 0 10px 32px rgba(249, 192, 77, 0.38) !important;
}


/* ════════════════════════════════════════════════════════════════
   EVENTS CALENDAR — Month View Dark Theme
   ════════════════════════════════════════════════════════════════ */

/* Month view container */
.tribe-events-view--month .tribe-events-calendar-month {
	border: none !important;
}

/* Day-of-week header row */
.tribe-events-calendar-month__grid-header-cell {
	background: rgba(249, 192, 77, 0.08) !important;
	border-color: rgba(255, 255, 255, 0.06) !important;
	padding: 10px 0 !important;
}

.tribe-events-calendar-month__grid-header-cell-title {
	color: #F9C04D !important;
	font-size: 0.75rem !important;
	font-weight: 700 !important;
	text-transform: uppercase !important;
	letter-spacing: 0.1em !important;
}

/* Grid cells */
.tribe-events-calendar-month__grid-cell {
	background: rgba(255, 255, 255, 0.02) !important;
	border-color: rgba(255, 255, 255, 0.05) !important;
	min-height: 90px !important;
}

.tribe-events-calendar-month__grid-cell:hover {
	background: rgba(255, 255, 255, 0.04) !important;
}

/* Today's cell highlight */
.tribe-events-calendar-month__grid-cell--current {
	background: rgba(249, 192, 77, 0.07) !important;
	border-color: rgba(249, 192, 77, 0.2) !important;
}

/* Day number */
.tribe-events-calendar-month__grid-cell-date-link,
.tribe-events-calendar-month__grid-cell-date {
	color: rgba(255, 255, 255, 0.55) !important;
	font-size: 0.8rem !important;
	font-weight: 600 !important;
	text-decoration: none !important;
}

.tribe-events-calendar-month__grid-cell--current
.tribe-events-calendar-month__grid-cell-date-link {
	color: #F9C04D !important;
}

/* Days outside current month */
.tribe-events-calendar-month__grid-cell--past,
.tribe-events-calendar-month__grid-cell.tribe-events-calendar-month__grid-cell--other-month {
	background: rgba(0, 0, 0, 0.2) !important;
}

.tribe-events-calendar-month__grid-cell--past
.tribe-events-calendar-month__grid-cell-date-link {
	opacity: 0.3 !important;
}

/* Event pill blocks */
.tribe-events-calendar-month__calendar-event {
	background: rgba(249, 192, 77, 0.15) !important;
	border-left: 3px solid #F9C04D !important;
	border-radius: 4px !important;
	margin: 2px 4px !important;
	padding: 2px 6px !important;
}

.tribe-events-calendar-month__calendar-event--featured {
	background: rgba(249, 192, 77, 0.25) !important;
}

.tribe-events-calendar-month__calendar-event-title-link,
.tribe-events-calendar-month__calendar-event-title {
	color: #F9C04D !important;
	font-size: 0.75rem !important;
	font-weight: 600 !important;
	text-decoration: none !important;
}

.tribe-events-calendar-month__calendar-event-title-link:hover {
	color: #fff !important;
}

/* "+X more" link */
.tribe-events-calendar-month__calendar-event--more-events {
	color: rgba(255, 255, 255, 0.5) !important;
	font-size: 0.7rem !important;
}

/* Month view nav (top bar) */
.tribe-events-view--month .tribe-events-c-top-bar {
	border-bottom: 1px solid rgba(255, 255, 255, 0.06) !important;
	margin-bottom: 0 !important;
	padding-bottom: 16px !important;
}

/* "No events" message in month view */
.tribe-events-view--month .tribe-events-c-messages {
	padding: 40px 24px !important;
	text-align: center !important;
	color: rgba(255, 255, 255, 0.4) !important;
}

/* Make the month grid full width */
.tribe-events-view--month .tribe-events-l-container,
.tribe-events-view--month .tribe-common-l-container {
	max-width: 100% !important;
	padding: 0 !important;
}

/* Month grid borders */
.tribe-events-calendar-month__grid {
	border: 1px solid rgba(255, 255, 255, 0.06) !important;
	border-radius: 8px !important;
	overflow: hidden !important;
}

/* ═══════════════════════════════════════════════════════════════════════════
   T3D Contact Page – Glassmorphic Redesign
   ═══════════════════════════════════════════════════════════════════════════ */

/* Hero: dark overlay on background image */
.t3d-contact-hero {
	position: relative;
}
.t3d-contact-hero::before {
	content: '';
	position: absolute;
	inset: 0;
	background: linear-gradient(to bottom, rgba(0,0,0,0.45) 0%, rgba(0,0,0,0.62) 100%);
	z-index: 0;
	pointer-events: none;
}
.t3d-contact-hero > .elementor-widget-heading,
.t3d-contact-hero > * {
	position: relative;
	z-index: 1;
}

/* Outer section: ORANGE BLOB DECORATIONS */
.t3d-contact-section {
	position: relative;
	overflow: hidden;
}
/* Blob 1: top-right, vivid orange glow */
.t3d-contact-section::before {
	content: '';
	position: absolute;
	top: -100px;
	right: -100px;
	width: 700px;
	height: 700px;
	border-radius: 50%;
	background: radial-gradient(circle, rgba(249,192,77,0.35) 0%, rgba(249,150,20,0.15) 40%, transparent 70%);
	filter: blur(60px);
	pointer-events: none;
	z-index: 1;
}
/* Blob 2: bottom-left, secondary glow */
.t3d-contact-section::after {
	content: '';
	position: absolute;
	bottom: -100px;
	left: -100px;
	width: 600px;
	height: 600px;
	border-radius: 50%;
	background: radial-gradient(circle, rgba(249,192,77,0.25) 0%, rgba(200,130,20,0.1) 45%, transparent 70%);
	filter: blur(80px);
	pointer-events: none;
	z-index: 1;
}

/* Cards sit ABOVE the blobs */
.t3d-cards-row,
.t3d-glass-card {
	position: relative;
	z-index: 2;
}

/* ── Form section (8968cdf0) — warm gradient continuing from the cards section above.
   Using background-image (not filter:blur pseudo-elements) for reliable rendering. */
.elementor-page-137 .elementor-element-8968cdf0 {
	position: relative !important;
}

/* GLASS CARD: clearly visible, elevated */
.t3d-glass-card {
	-webkit-backdrop-filter: blur(20px) saturate(180%) !important;
	backdrop-filter: blur(20px) saturate(180%) !important;
	background: rgba(255,255,255,0.05) !important;
	border: 1px solid rgba(255,255,255,0.18) !important;
	border-radius: 24px !important;
	box-shadow: 0 20px 60px rgba(0,0,0,0.7), inset 0 1px 0 rgba(255,255,255,0.1) !important;
	flex: 1 1 360px !important;
	min-width: 300px !important;
	max-width: 460px !important;
	transition: transform 0.25s ease, box-shadow 0.25s ease !important;
}

.t3d-glass-card:hover {
	transform: translateY(-6px) !important;
	box-shadow: 0 28px 70px rgba(0,0,0,0.75), 0 0 0 1px rgba(249,192,77,0.18), inset 0 1px 0 rgba(255,255,255,0.12) !important;
}

/* Cards row — centered, wraps on narrow screens */
.t3d-cards-row.e-con {
	max-width: 980px !important;
	margin-left: auto !important;
	margin-right: auto !important;
	width: 100% !important;
	display: flex !important;
	flex-direction: row !important;
	flex-wrap: wrap !important;
	align-items: flex-start !important;
	justify-content: center !important;
	gap: 28px !important;
}

/* Outer contact section: full-width, centered children */
.t3d-contact-section.e-con {
	display: flex !important;
	flex-direction: column !important;
	align-items: center !important;
	justify-content: center !important;
}

/* ALL TEXT INSIDE GLASS CARDS: bright white */
.t3d-glass-card,
.t3d-glass-card * {
	color: #ffffff !important;
}
.t3d-glass-card h1,
.t3d-glass-card h2,
.t3d-glass-card h3,
.t3d-glass-card h4,
.t3d-glass-card h5,
.t3d-glass-card h6,
.t3d-glass-card .elementor-heading-title {
	color: #ffffff !important;
}
.t3d-glass-card p,
.t3d-glass-card .elementor-text-editor,
.t3d-glass-card .elementor-text-editor * {
	color: rgba(255,255,255,0.88) !important;
}

/* Icon boxes inside glass cards */
.t3d-glass-card .elementor-icon-box-icon {
	margin-right: 14px !important;
}

/* Force FA5 glyph content — Elementor's conditional loader may omit icon rules */
.t3d-glass-card .elementor-icon-box-icon i[class*="fa-"]::before {
	font-family: "Font Awesome 5 Free" !important;
	font-style: normal !important;
	font-variant: normal !important;
	text-rendering: auto !important;
	-webkit-font-smoothing: antialiased !important;
}
.t3d-glass-card .elementor-icon-box-icon i[class*="fab"]::before,
.t3d-glass-card .elementor-icon-box-icon i[class*="fa-brands"]::before {
	font-family: "Font Awesome 5 Brands" !important;
	font-weight: 400 !important;
}
.t3d-glass-card .elementor-icon-box-icon i.fa-map-marker-alt::before  { content: "\f3c5" !important; font-weight: 900 !important; }
.t3d-glass-card .elementor-icon-box-icon i.fa-envelope::before        { content: "\f0e0" !important; font-weight: 900 !important; }
.t3d-glass-card .elementor-icon-box-icon i.fa-clock::before           { content: "\f017" !important; font-weight: 900 !important; }
.t3d-glass-card .elementor-icon-box-icon i.fa-facebook-f::before      { content: "\f39e" !important; font-weight: 400 !important; }
.t3d-glass-card .elementor-icon-box-icon i.fa-youtube::before         { content: "\f167" !important; font-weight: 400 !important; }
.t3d-glass-card .elementor-icon-box-title,
.t3d-glass-card .elementor-icon-box-title * {
	font-size: 1.2rem !important;
	color: #ffffff !important;
	font-weight: 700 !important;
	line-height: 1.4 !important;
	letter-spacing: 0 !important;
	text-transform: none !important;
	user-select: text !important;
	-webkit-user-select: text !important;
	pointer-events: auto !important;
}
.t3d-glass-card .elementor-icon-box-description,
.t3d-glass-card .elementor-icon-box-description * {
	font-size: 0.75rem !important;
	color: #F9C04D !important;
	font-weight: 600 !important;
	letter-spacing: 0.1em !important;
	text-transform: uppercase !important;
	line-height: 1.4 !important;
}
.t3d-glass-card .elementor-icon-box-icon i,
.t3d-glass-card .elementor-icon-box-icon svg {
	color: #F9C04D !important;
	fill: #F9C04D !important;
	font-size: 1.25rem !important;
}

/* Heading labels inside cards (section titles like "DATE DE CONTACT") */
.t3d-glass-card .elementor-widget-heading .elementor-heading-title {
	color: #F9C04D !important;
	font-size: 0.7rem !important;
	letter-spacing: 0.14em !important;
	text-transform: uppercase !important;
	font-weight: 700 !important;
	margin-bottom: 16px !important;
}

/* CTA button inside glass card */
.t3d-glass-card .elementor-button {
	background: linear-gradient(135deg, #F9C04D 0%, #E39002 100%) !important;
	color: #0d0d0d !important;
	font-weight: 700 !important;
	box-shadow: 0 6px 24px rgba(249,192,77,0.3) !important;
	transition: transform 0.2s ease, box-shadow 0.2s ease !important;
}
.t3d-glass-card .elementor-button:hover {
	transform: translateY(-2px) !important;
	box-shadow: 0 10px 32px rgba(249,192,77,0.42) !important;
}

/* Mobile: stack cards vertically */
@media (max-width: 768px) {
	.t3d-cards-row.e-con {
		flex-direction: column !important;
	}
	.t3d-glass-card {
		min-width: unset !important;
		padding: 28px 24px !important;
	}
}

/* ═══════════════════════════════════════════════════════════════════════════
   T3D Agenda Widget – Native CPT Event Cards
   ═══════════════════════════════════════════════════════════════════════════ */

.t3d-agenda {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
	gap: 24px;
	padding: 0;
}

.t3d-agenda__card {
	background: rgba(255,255,255,0.03);
	border: 1px solid rgba(255,255,255,0.08);
	border-radius: 16px;
	overflow: hidden;
	transition: transform 0.25s ease, box-shadow 0.25s ease;
	display: flex;
	flex-direction: column;
}
.t3d-agenda__card:hover {
	transform: translateY(-4px);
	box-shadow: 0 16px 48px rgba(0,0,0,0.5);
	border-color: rgba(249,192,77,0.25);
}
.t3d-agenda__card--past {
	opacity: 0.5;
}

.t3d-agenda__thumb {
	height: 180px;
	background-size: cover;
	background-position: center;
	position: relative;
}
.t3d-agenda__past-badge {
	position: absolute;
	top: 12px;
	left: 12px;
	background: rgba(0,0,0,0.7);
	color: rgba(255,255,255,0.6);
	font-size: 0.7rem;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	padding: 4px 10px;
	border-radius: 20px;
}

.t3d-agenda__body {
	display: flex;
	gap: 16px;
	padding: 20px;
	flex: 1;
}

.t3d-agenda__date-block {
	display: flex;
	flex-direction: column;
	align-items: center;
	min-width: 44px;
	padding-top: 2px;
}
.t3d-agenda__day {
	font-size: 1.8rem;
	font-weight: 700;
	color: #F9C04D;
	line-height: 1;
}
.t3d-agenda__month {
	font-size: 0.65rem;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: rgba(255,255,255,0.45);
	margin-top: 2px;
}

.t3d-agenda__content {
	flex: 1;
}
.t3d-agenda__title {
	font-size: 1rem;
	font-weight: 600;
	margin: 0 0 8px;
	line-height: 1.4;
}
.t3d-agenda__title a {
	color: #fff;
	text-decoration: none;
	transition: color 0.2s;
}
.t3d-agenda__title a:hover {
	color: #F9C04D;
}
.t3d-agenda__excerpt {
	font-size: 0.85rem;
	color: rgba(255,255,255,0.55);
	margin: 0;
	line-height: 1.6;
}

.t3d-agenda__empty {
	color: rgba(255,255,255,0.4);
	font-size: 0.95rem;
	text-align: center;
	padding: 60px 0;
}

/* ═══════════════════════════════════════════════════════════════════════════
   PORTOFOLIU PAGE (134) — 3-column category card grid
   ═══════════════════════════════════════════════════════════════════════════ */

.elementor-page-134 .elementor-element-8d327743 > .e-con-inner {
	display: flex !important;
	flex-direction: row !important;
	flex-wrap: wrap !important;
	gap: 20px !important;
}

.elementor-page-134 .elementor-element-8d327743 > .e-con-inner > .elementor-widget-t3d-category-card {
	flex: 0 0 calc(33.333% - 14px) !important;
	max-width: calc(33.333% - 14px) !important;
	min-width: 0 !important;
}

@media (max-width: 1024px) {
	.elementor-page-134 .elementor-element-8d327743 > .e-con-inner > .elementor-widget-t3d-category-card {
		flex: 0 0 calc(50% - 10px) !important;
		max-width: calc(50% - 10px) !important;
	}
}

@media (max-width: 600px) {
	.elementor-page-134 .elementor-element-8d327743 > .e-con-inner > .elementor-widget-t3d-category-card {
		flex: 0 0 100% !important;
		max-width: 100% !important;
	}
}

/* ═══════════════════════════════════════════════════════════════════════════
   DESPRE PAGE — dark overlay on all bg-image containers for readability
   ═══════════════════════════════════════════════════════════════════════════ */

.elementor-page-133 .e-con,
.elementor-page-133 .elementor-section {
	position: relative;
}

/* Hero container: darken background image via blend mode + center content */
.elementor-page-133 .elementor-element-eec880f7 {
	background-color: rgba(0, 0, 0, 0.65) !important;
	background-blend-mode: multiply !important;
	display: flex !important;
	flex-direction: column !important;
	justify-content: center !important;
	align-items: center !important;
}

/* Belt-and-suspenders: also force the Elementor-generated ::before to be darker */
.elementor-page-133 .elementor-element-eec880f7::before {
	background: rgba(0, 0, 0, 0.55) !important;
	z-index: 0 !important;
}

/* Ensure content sits above the overlay */
.elementor-page-133 .elementor-element-eec880f7 > .e-con-inner {
	position: relative !important;
	z-index: 2 !important;
	min-height: 420px !important;
	display: flex !important;
	flex-direction: column !important;
	justify-content: center !important;
	align-items: center !important;
	text-align: center !important;
}

/* Hero text: always crisp white */
.elementor-page-133 .elementor-element-eec880f7 .elementor-heading-title,
.elementor-page-133 .elementor-element-eec880f7 .elementor-widget-text-editor,
.elementor-page-133 .elementor-element-eec880f7 p {
	color: #ffffff !important;
	text-shadow: 0 2px 12px rgba(0,0,0,0.8) !important;
}

/* ONLY the hero container gets white text — NOT the whole page */
/* Removed: global white text override that broke light-background sections */

/* Service block section on Despre has a light bg but white widget text — darken the bg */
.elementor-page-133 .elementor-element-832b5fa4 {
	background-color: #141414 !important;
}


/* ═══════════════════════════════════════════════════════════════════════════
   T3D Month-Grid Calendar
   ═══════════════════════════════════════════════════════════════════════════ */

.t3d-cal {
	--cal-bg:     rgba(255,255,255,0.03);
	--cal-accent: #F9C04D;
	--cal-text:   #ffffff;
	background: var(--cal-bg);
	border: 1px solid rgba(255,255,255,0.08);
	border-radius: 16px;
	padding: 28px 24px;
	color: var(--cal-text);
	font-family: var(--e-global-typography-text-font-family, inherit);
	width: 100%;
	max-width: 1200px;
	margin: 0 auto;
	box-sizing: border-box;
}

/* ── Navigation ─────────── */
.t3d-cal__nav {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 24px;
}

.t3d-cal__title {
	font-size: 1.15rem;
	font-weight: 700;
	color: #fff;
	letter-spacing: 0.03em;
	text-transform: capitalize;
}

.t3d-cal__nav-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	color: var(--cal-accent, #F9C04D);
	text-decoration: none;
	font-size: 1rem;
	border: 1px solid rgba(249,192,77,0.35);
	border-radius: 8px;
	transition: background 0.2s ease;
}

.t3d-cal__nav-btn:hover {
	background: rgba(249,192,77,0.15);
	text-decoration: none;
}

/* ── Grid ─────────── */
.t3d-cal__grid {
	display: grid;
	grid-template-columns: repeat(7, 1fr);
	gap: 4px;
	position: relative;
}

/* Absolutely-positioned span overlay (drawn by JS) */
.t3d-cal__span-ov {
	pointer-events: all;
}

/* Day-of-week headers */
.t3d-cal__dow {
	text-align: center;
	font-size: 0.68rem;
	font-weight: 700;
	letter-spacing: 0.09em;
	text-transform: uppercase;
	color: rgba(255,255,255,0.38);
	padding: 8px 2px 10px;
}

/* Day cells */
.t3d-cal__cell {
	min-height: 76px;
	min-width: 0;
	overflow: hidden;
	background: rgba(255,255,255,0.025);
	border: 1px solid rgba(255,255,255,0.05);
	border-radius: 8px;
	padding: 6px 5px 5px;
	display: flex;
	flex-direction: column;
	gap: 3px;
	transition: border-color 0.2s;
}

.t3d-cal__cell:not(.t3d-cal__cell--empty):hover {
	border-color: rgba(255,255,255,0.12);
}

.t3d-cal__cell--empty {
	background: transparent !important;
	border-color: transparent !important;
}

.t3d-cal__cell--today {
	border-color: #F9C04D !important;
	background: rgba(249,192,77,0.07) !important;
	box-shadow: 0 0 0 1px rgba(249,192,77,0.25), inset 0 0 16px rgba(249,192,77,0.06) !important;
}

.t3d-cal__cell--has-events {
	background: rgba(255,255,255,0.05) !important;
}

/* Day number */
.t3d-cal__day-num {
	font-size: 0.78rem;
	color: rgba(255,255,255,0.45);
	font-weight: 500;
	line-height: 1;
	margin-bottom: 2px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
}

.t3d-cal__cell--today .t3d-cal__day-num {
	background: #F9C04D;
	color: #0d0d0d;
	font-weight: 800;
	width: 22px;
	height: 22px;
	border-radius: 50%;
	font-size: 0.72rem;
	box-shadow: 0 2px 8px rgba(249,192,77,0.5);
}

/* "Astazi" label under today's date circle */
.t3d-cal__today-text {
	display: block;
	font-size: 0.55rem;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: #F9C04D;
	text-align: center;
	line-height: 1;
	margin-top: 2px;
}

/* Event pill inside cell */
.t3d-cal__event {
	display: block;
	font-size: 0.7rem;
	background: var(--cal-accent, #F9C04D);
	color: #0d0d0d !important;
	font-weight: 700;
	padding: 2px 5px;
	border-radius: 4px;
	text-decoration: none;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	max-width: 100% !important;
	line-height: 1.4;
	transition: opacity 0.18s;
	box-sizing: border-box;
}

.t3d-cal__event:hover {
	opacity: 0.8;
	text-decoration: none;
}

/* ── Responsive ─────────── */
@media (max-width: 640px) {
	.t3d-cal {
		padding: 16px 6px;
	}
	.t3d-cal__cell {
		min-height: 52px;
		padding: 4px 2px;
		overflow: hidden;
		max-width: 100%;
	}
	.t3d-cal__dow {
		font-size: 0.55rem;
		padding-bottom: 6px;
	}
	.t3d-cal__day-num {
		font-size: 0.65rem;
	}
	.t3d-cal__event {
		font-size: 0.55rem;
		padding: 1px 2px;
		max-width: 100% !important;
	}
	.t3d-cal__today-text {
		font-size: 0.48rem;
	}
}

/* ── Calendar: break out of narrow Elementor container ── */
.elementor-widget-t3d-agenda-view {
	width: 100% !important;
}
.elementor-widget-t3d-agenda-view > .elementor-widget-container {
	max-width: none !important;
	width: 100% !important;
}

/* ── Multi-day span bars ── */
.t3d-cal__span-bar {
	display: block;
	font-size: 0.7rem;
	font-weight: 700;
	color: #0d0d0d;
	padding: 2px 4px;
	background: var(--cal-accent, #F9C04D);
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	line-height: 1.4;
	cursor: pointer;
	border: none;
	text-align: left;
	box-sizing: border-box;
	border-radius: 0;
	/* Bleed to cell left/right edges (negate 5px cell padding) */
	margin-left: -5px;
	margin-right: -5px;
	opacity: 0.92;
	transition: opacity 0.18s;
}
.t3d-cal__span-bar:hover { opacity: 0.75; }

/* Left cap: event starts here, or row starts here (Mon) */
.t3d-cal__span-bar--start,
.t3d-cal__span-bar--both {
	margin-left: 0;
	border-radius: 4px 0 0 4px;
}
/* Right cap: event ends here, or row ends here (Sun) */
.t3d-cal__span-bar--end,
.t3d-cal__span-bar--both {
	margin-right: 0;
	border-radius: 0 4px 4px 0;
}
/* Both caps: single-day or isolated within a row */
.t3d-cal__span-bar--both {
	border-radius: 4px;
}

@media (max-width: 640px) {
	.t3d-cal__span-bar {
		font-size: 0.55rem;
		padding: 1px 2px;
		margin-left: -2px;
		margin-right: -2px;
	}
	.t3d-cal__span-bar--start,
	.t3d-cal__span-bar--both { margin-left: 0; }
	.t3d-cal__span-bar--end,
	.t3d-cal__span-bar--both { margin-right: 0; }
}

/* ── Event pill as button (modal trigger) ── */
.t3d-cal__event--modal {
	background: var(--cal-accent, #F9C04D);
	border: none;
	cursor: pointer;
	text-align: left;
	width: 100%;
}

/* ── Event Modal Overlay ── */
.t3d-cal-overlay {
	position: fixed;
	inset: 0;
	background: rgba(0,0,0,0.72);
	z-index: 99999;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 20px;
	-webkit-backdrop-filter: blur(4px);
	backdrop-filter: blur(4px);
}

.t3d-cal-overlay[hidden] {
	display: none;
}

.t3d-cal-modal {
	background: #18191d;
	border: 1px solid rgba(255,255,255,0.09);
	border-radius: 20px;
	padding: 0;
	max-width: 520px;
	width: 100%;
	position: relative;
	box-shadow: 0 40px 100px rgba(0,0,0,0.9), 0 0 0 1px rgba(255,255,255,0.04);
	color: #fff;
	max-height: 88vh;
	overflow-y: auto;
	overflow-x: hidden;
}

/* ── Close button — floats over modal ── */
.t3d-cal-modal__close {
	position: absolute;
	top: 14px;
	right: 14px;
	z-index: 10;
	background: rgba(0,0,0,0.55);
	backdrop-filter: blur(8px);
	-webkit-backdrop-filter: blur(8px);
	border: 1px solid rgba(255,255,255,0.15);
	border-radius: 50%;
	color: rgba(255,255,255,0.85);
	font-size: 1.1rem;
	cursor: pointer;
	line-height: 1;
	transition: background 0.15s, color 0.15s, transform 0.15s;
	width: 32px;
	height: 32px;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 0;
}

.t3d-cal-modal__close:hover {
	background: rgba(249,192,77,0.9);
	color: #0d0d0d;
	transform: scale(1.08);
}

/* ── Image block — full-bleed, rounded top ── */
.t3d-cal-modal__image {
	position: relative;
	overflow: hidden;
	border-radius: 20px 20px 0 0;
	line-height: 0;
}

.t3d-cal-modal__image img {
	width: 100% !important;
	max-height: 240px !important;
	object-fit: cover !important;
	display: block !important;
	border-radius: 0 !important;
}

/* Gradient fade from image into modal body */
.t3d-cal-modal__image::after {
	content: '';
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	height: 80px;
	background: linear-gradient(to bottom, transparent 0%, #18191d 100%);
	pointer-events: none;
}

/* ── Content area ── */
.t3d-cal-modal__content {
	padding: 22px 28px 28px;
}

/* Date badge */
.t3d-cal-modal__date {
	display: inline-flex;
	align-items: center;
	font-size: 0.68rem;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: #0d0d0d;
	background: #F9C04D;
	border-radius: 4px;
	padding: 3px 10px;
	margin-bottom: 14px;
}

.t3d-cal-modal__title {
	font-size: 1.45rem;
	font-weight: 800;
	color: #fff;
	margin: 0 0 16px;
	line-height: 1.2;
	letter-spacing: -0.01em;
}

/* Location pill */
.t3d-cal-modal__location {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	background: rgba(249,192,77,0.1);
	border: 1px solid rgba(249,192,77,0.25);
	border-radius: 20px;
	padding: 5px 12px 5px 8px;
	margin-bottom: 18px;
	font-size: 0.83rem;
	color: rgba(255,255,255,0.88);
}

.t3d-cal-modal__location svg {
	color: #F9C04D;
	flex-shrink: 0;
}

.t3d-cal-modal__body {
	font-size: 0.95rem;
	color: rgba(255,255,255,0.72);
	line-height: 1.75;
	margin-bottom: 20px;
}

.t3d-cal-modal__body p {
	margin: 0 0 10px;
}

/* Footer link button */
.t3d-cal-modal__footer {
	padding-top: 4px;
}

.t3d-cal-modal__page-link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	background: linear-gradient(135deg, #F9C04D 0%, #e39002 100%);
	color: #0d0d0d !important;
	font-weight: 700;
	font-size: 0.88rem;
	letter-spacing: 0.05em;
	text-decoration: none !important;
	padding: 13px 24px;
	border-radius: 10px;
	transition: opacity 0.2s ease, transform 0.15s ease;
	box-shadow: 0 6px 24px rgba(249,192,77,0.3);
}

.t3d-cal-modal__page-link:hover {
	opacity: 0.9;
	transform: translateY(-1px);
	box-shadow: 0 10px 32px rgba(249,192,77,0.4);
}

@media (max-width: 640px) {
	.t3d-cal-modal__content {
		padding: 18px 20px 24px;
	}
	.t3d-cal-modal__title {
		font-size: 1.2rem;
	}
	.t3d-cal-modal__image img {
		max-height: 180px !important;
	}
}

/* ── Modal entrance animations — up / left / right variants ── */
@keyframes t3d-modal-up {
	from { opacity: 0; transform: translateY(36px) scale(0.96); }
	to   { opacity: 1; transform: translateY(0)    scale(1);    }
}
@keyframes t3d-modal-left {
	from { opacity: 0; transform: translateX(-52px) scale(0.97); }
	to   { opacity: 1; transform: translateX(0)     scale(1);    }
}
@keyframes t3d-modal-right {
	from { opacity: 0; transform: translateX(52px) scale(0.97); }
	to   { opacity: 1; transform: translateX(0)    scale(1);    }
}
@keyframes t3d-overlay-in {
	from { opacity: 0; }
	to   { opacity: 1; }
}

.t3d-cal-overlay:not([hidden]) {
	animation: t3d-overlay-in 0.22s ease both;
}
/* Default (JS overrides via data-anim attribute) */
.t3d-cal-overlay:not([hidden]) .t3d-cal-modal {
	animation: t3d-modal-up 0.3s cubic-bezier(0.22, 1, 0.36, 1) both;
}
.t3d-cal-overlay:not([hidden]) .t3d-cal-modal[data-anim="left"] {
	animation: t3d-modal-left 0.3s cubic-bezier(0.22, 1, 0.36, 1) both;
}
.t3d-cal-overlay:not([hidden]) .t3d-cal-modal[data-anim="right"] {
	animation: t3d-modal-right 0.3s cubic-bezier(0.22, 1, 0.36, 1) both;
}

/* Premium accent bar at top of modal */
.t3d-cal-modal::before {
	content: '';
	display: block;
	height: 3px;
	background: linear-gradient(90deg, #F9C04D 0%, #e8a200 55%, rgba(249,192,77,0.2) 100%);
	border-radius: 20px 20px 0 0;
	position: sticky;
	top: 0;
	z-index: 5;
}

/* Cells with events are clickable — cursor hint */
.t3d-cal__cell--has-events {
	cursor: pointer;
}
.t3d-cal__cell--has-events:hover {
	border-color: rgba(249,192,77,0.3) !important;
}

/* Show only the first event pill; hide extras (JS adds a "+N" badge) */
.t3d-cal__cell .t3d-cal__event ~ .t3d-cal__event {
	display: none;
}

/* Event count badge ("+2 more") — added via JS */
.t3d-cal__more-badge {
	display: inline-block;
	font-size: 0.58rem;
	font-weight: 700;
	background: rgba(249,192,77,0.14);
	color: #F9C04D;
	border: 1px solid rgba(249,192,77,0.28);
	border-radius: 10px;
	padding: 1px 5px;
	line-height: 1.5;
	letter-spacing: 0.02em;
	margin-top: 1px;
	cursor: pointer;
}

/* ── Day-event list popup ── */
.t3d-cal-day-overlay {
	position: fixed;
	inset: 0;
	background: rgba(0,0,0,0.65);
	z-index: 99998;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 20px;
	-webkit-backdrop-filter: blur(3px);
	backdrop-filter: blur(3px);
}
.t3d-cal-day-overlay[hidden] {
	display: none;
}
.t3d-cal-day-popup {
	background: #18191d;
	border: 1px solid rgba(249,192,77,0.18);
	border-radius: 16px;
	padding: 0;
	max-width: 340px;
	width: 100%;
	position: relative;
	box-shadow: 0 32px 80px rgba(0,0,0,0.85);
	color: #fff;
	max-height: 75vh;
	overflow: hidden;
	display: flex;
	flex-direction: column;
	animation: t3d-modal-up 0.28s cubic-bezier(0.22,1,0.36,1) both;
}
.t3d-cal-day-popup::before {
	content: '';
	display: block;
	height: 3px;
	background: linear-gradient(90deg, #F9C04D 0%, #e8a200 60%, rgba(249,192,77,0.2) 100%);
	border-radius: 16px 16px 0 0;
	flex-shrink: 0;
}
.t3d-cal-day-popup__header {
	padding: 16px 20px 12px;
	flex-shrink: 0;
	border-bottom: 1px solid rgba(255,255,255,0.06);
}
.t3d-cal-day-popup__title {
	font-size: 0.8rem;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: #F9C04D;
	margin: 0;
}
.t3d-cal-day-popup__date {
	font-size: 1.1rem;
	font-weight: 700;
	color: #fff;
	margin: 2px 0 0;
}
.t3d-cal-day-popup__close {
	position: absolute;
	top: 10px;
	right: 10px;
	background: rgba(0,0,0,0.4);
	border: 1px solid rgba(255,255,255,0.12);
	border-radius: 50%;
	color: rgba(255,255,255,0.8);
	font-size: 1rem;
	cursor: pointer;
	width: 28px;
	height: 28px;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 0;
	line-height: 1;
	transition: background 0.15s, color 0.15s;
}
.t3d-cal-day-popup__close:hover {
	background: rgba(249,192,77,0.85);
	color: #0d0d0d;
}
.t3d-cal-day-popup__list {
	padding: 10px 14px 16px;
	overflow-y: auto;
	flex: 1;
	display: flex;
	flex-direction: column;
	gap: 6px;
}
.t3d-cal-day-popup__event {
	display: flex;
	align-items: center;
	gap: 10px;
	background: rgba(255,255,255,0.04);
	border: 1px solid rgba(255,255,255,0.07);
	border-radius: 10px;
	padding: 10px 14px;
	cursor: pointer;
	text-align: left;
	width: 100%;
	color: #fff;
	font-size: 0.875rem;
	font-weight: 500;
	transition: background 0.15s, border-color 0.15s;
	text-decoration: none;
}
.t3d-cal-day-popup__event:hover {
	background: rgba(249,192,77,0.1);
	border-color: rgba(249,192,77,0.3);
	color: #fff;
}
.t3d-cal-day-popup__event::before {
	content: '';
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: #F9C04D;
	flex-shrink: 0;
}

/* ── Non-Elementor pages (legal pages, standard WP) ── */
body:not(.elementor-page) .site-main {
	padding-top: 160px !important;
	max-width: 900px;
	margin: 0 auto;
	color: rgba(255,255,255,0.85);
	font-size: 1.1rem;
	line-height: 1.8;
	padding-left: 24px;
	padding-right: 24px;
	padding-bottom: 80px;
}

body:not(.elementor-page) .site-main h1,
body:not(.elementor-page) .site-main h2 {
	color: #F9C04D;
	margin-bottom: 20px;
}

body:not(.elementor-page) .site-main h3 {
	color: rgba(255,255,255,0.95);
	margin-top: 28px;
	margin-bottom: 10px;
}

body:not(.elementor-page) .site-main p,
body:not(.elementor-page) .site-main li {
	color: rgba(255,255,255,0.82);
}

body:not(.elementor-page) .site-main ul {
	padding-left: 24px;
}

body:not(.elementor-page) .site-main strong {
	color: #fff;
}

/* ── Mobile: Homepage hero H1 overflow fix ── */
@media (max-width: 768px) {
	.elementor-page-132 .elementor-heading-title {
		font-size: 2.2rem !important;
		word-wrap: break-word !important;
		overflow-wrap: break-word !important;
		hyphens: auto !important;
	}
	/* Undo the override for footer headings — they use Elementor typography vars */
	.elementor-page-132 .elementor-location-footer .elementor-heading-title {
		font-size: revert !important;
		word-wrap: revert !important;
		overflow-wrap: revert !important;
		hyphens: revert !important;
	}
}

/* ═══════════════════════════════════════════════════════════════════════════
   T3D Contact Form Styling
   Targets the actual Elementor element IDs on the /contact/ page (ID 137).
   Overrides white bg injected by post-137.css (Elementor widget settings).
   ═══════════════════════════════════════════════════════════════════════════ */

/* ── Contact page containers: strip Elementor-injected backgrounds ── */
/* bb2e4399 (cards) and 03b6a2a0 (column): strip background-image too */
.elementor-137 .elementor-element.elementor-element-bb2e4399:not(.elementor-motion-effects-element-type-background),
.elementor-137 .elementor-element.elementor-element-bb2e4399 > .elementor-motion-effects-container > .elementor-motion-effects-layer,
.elementor-137 .elementor-element.elementor-element-03b6a2a0:not(.elementor-motion-effects-element-type-background),
.elementor-137 .elementor-element.elementor-element-03b6a2a0 > .elementor-motion-effects-container > .elementor-motion-effects-layer {
	background-color: transparent !important;
	background-image: none !important;
}

/* 8968cdf0 (form section): strip background-color ONLY — leave background-image
   free so the gradient rule below (and the wp_head inline style) can set it. */
.elementor-137 .elementor-element.elementor-element-8968cdf0:not(.elementor-motion-effects-element-type-background),
.elementor-137 .elementor-element.elementor-element-8968cdf0 > .elementor-motion-effects-container > .elementor-motion-effects-layer {
	background-color: transparent !important;
}

.elementor-page-137 .elementor-element-bb2e4399,
.elementor-page-137 .elementor-element-03b6a2a0 {
	background: transparent !important;
	background-color: transparent !important;
	background-image: none !important;
	box-shadow: none !important;
	backdrop-filter: none !important;
	-webkit-backdrop-filter: none !important;
	border: none !important;
}
.elementor-page-137 .elementor-element-8968cdf0 {
	background-color: transparent !important;
	box-shadow: none !important;
	backdrop-filter: none !important;
	-webkit-backdrop-filter: none !important;
	border: none !important;
}

/* Form section gradient — continuation of the cards section ::after blob.
   That blob center is at bottom:-100px; left:-100px of the cards section,
   clipped by overflow:hidden. Here we pick it up from the top-left corner,
   as if the blob bleeds through the section boundary. Single glow, no copy. */
.elementor-137 .elementor-element.elementor-element-8968cdf0:not(.elementor-motion-effects-element-type-background) {
	background-image:
		radial-gradient(ellipse 90% 80% at -12% -10%, rgba(249,192,77,0.22) 0%, rgba(200,130,20,0.09) 40%, transparent 68%) !important;
}

/* Form widget: constrain readable width, centered */
.elementor-page-137 .elementor-element-03b6a2a0 {
	max-width: 860px !important;
	width: 100% !important;
	margin-left: auto !important;
	margin-right: auto !important;
}

/* Inputs & textareas — high contrast on dark page bg */
.elementor-137 .elementor-element-6c07bccc .elementor-field-group input,
.elementor-137 .elementor-element-6c07bccc .elementor-field-group textarea,
.elementor-137 .elementor-element-6c07bccc .elementor-field-group select,
.elementor-137 .elementor-element-6c07bccc .elementor-field-group .elementor-field {
	background-color: #111111 !important;
	color: #ffffff !important;
	border: 1px solid #333333 !important;
	border-radius: 8px !important;
	padding: 14px 16px !important;
	font-size: 0.95rem !important;
	transition: border-color 0.2s ease, box-shadow 0.2s ease !important;
	width: 100% !important;
	box-sizing: border-box !important;
}

/* Mobile: nothing overflows */
@media (max-width: 768px) {
	.elementor-page-137 .elementor-element-03b6a2a0 {
		max-width: 100% !important;
	}
}

/* Submit button */
.elementor-137 .elementor-element-6c07bccc .elementor-button[type="submit"],
.elementor-137 .elementor-element-6c07bccc .elementor-button {
	background: #F9C04D !important;
	color: #0d0d0d !important;
	font-weight: 700 !important;
	font-size: 0.95rem !important;
	letter-spacing: 0.06em !important;
	border: none !important;
	border-radius: 8px !important;
	padding: 14px 32px !important;
	width: 100% !important;
	cursor: pointer !important;
	transition: opacity 0.2s ease, transform 0.1s ease !important;
}

.elementor-137 .elementor-element-6c07bccc .elementor-button[type="submit"]:hover {
	opacity: 0.88 !important;
	transform: translateY(-1px) !important;
}

/* Form fields row layout */
.elementor-137 .elementor-element-6c07bccc .elementor-form-fields-wrapper {
	gap: 16px !important;
}

/* Success/error messages */
.elementor-137 .elementor-element-6c07bccc .elementor-message {
	border-radius: 8px !important;
	padding: 12px 16px !important;
	font-size: 0.9rem !important;
}


/* ── Grid item link reset ── */
.t3d-grid-item__link {
	display: block;
	width: 100%;
	background: none;
	border: none;
	padding: 0;
	cursor: pointer;
}

/* Category tag in overlay */
.t3d-grid-item__cat {
	display: block;
	font-size: 0.68rem;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: #F9C04D;
	margin-bottom: 4px;
}

/* ══════════════════════════════════════════════
   ALBUM GRID — [t3d_album_grid] shortcode
══════════════════════════════════════════════ */
.t3d-album-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 20px;
	padding: 32px 0;
}
@media (max-width: 900px) {
	.t3d-album-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 560px) {
	.t3d-album-grid { grid-template-columns: 1fr; }
}

.t3d-album-card {
	background: rgba(255,255,255,0.04);
	border: 1px solid rgba(249,192,77,0.15);
	border-radius: 10px;
	overflow: hidden;
	cursor: pointer;
	transition: transform 0.2s ease, border-color 0.2s ease;
}
.t3d-album-card:hover,
.t3d-album-card:focus {
	transform: translateY(-3px);
	border-color: rgba(249,192,77,0.5);
	outline: none;
}

.t3d-album-card__cover {
	width: 100%;
	aspect-ratio: 4/3;
	background: #1a1a1a center/cover no-repeat;
}
.t3d-album-card__meta {
	padding: 14px 16px 16px;
	display: flex;
	flex-direction: column;
	gap: 4px;
}
.t3d-album-card__title {
	font-size: 1rem;
	font-weight: 700;
	color: #ffffff;
	line-height: 1.3;
}
.t3d-album-card__date {
	font-size: 0.75rem;
	color: #F9C04D;
	letter-spacing: 0.05em;
}
.t3d-album-card__count {
	font-size: 0.72rem;
	color: rgba(255,255,255,0.45);
}

/* Album gallery overlay */
.t3d-album-overlay {
	position: fixed;
	inset: 0;
	z-index: 99998;
	background: rgba(0,0,0,0.96);
	display: flex;
	flex-direction: column;
	overflow-y: auto;
}
.t3d-album-overlay[hidden] { display: none; }

.t3d-album-overlay__header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 20px 28px;
	border-bottom: 1px solid rgba(249,192,77,0.2);
	position: sticky;
	top: 0;
	background: rgba(0,0,0,0.98);
	z-index: 1;
}
.t3d-album-overlay__title {
	font-size: 1.1rem;
	font-weight: 700;
	color: #ffffff;
}
.t3d-album-overlay__close {
	background: none;
	border: none;
	color: #ffffff;
	cursor: pointer;
	padding: 4px;
	display: flex;
	align-items: center;
	opacity: 0.8;
	transition: opacity 0.15s;
}
.t3d-album-overlay__close:hover { opacity: 1; }

.t3d-album-overlay__grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
	gap: 10px;
	padding: 24px 28px;
}
.t3d-album-img-thumb {
	display: block;
	width: 100%;
	aspect-ratio: 1;
	overflow: hidden;
	border-radius: 6px;
	background: #111;
	border: none;
	padding: 0;
	cursor: pointer;
	transition: transform 0.2s ease;
}
.t3d-album-img-thumb:hover { transform: scale(1.03); }
.t3d-album-img-thumb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.t3d-no-albums {
	color: rgba(255,255,255,0.5);
	text-align: center;
	padding: 48px;
}

/* ── Calendar modal enhancements ── */
.t3d-cal-modal {
	overflow: hidden;
}
.t3d-cal-modal__image {
	line-height: 0;
}
.t3d-cal-modal__location {
	display: flex;
	align-items: center;
	font-size: 0.82rem;
	color: rgba(255,255,255,0.65);
	margin-bottom: 10px;
}
.t3d-cal-modal__location svg {
	flex-shrink: 0;
	color: #F9C04D;
}
.t3d-cal-modal__footer {
	margin-top: 20px;
	padding-top: 16px;
	border-top: 1px solid rgba(255,255,255,0.1);
}
.t3d-cal-modal__page-link {
	display: inline-block;
	background: #F9C04D;
	color: #0d0d0d;
	font-weight: 700;
	font-size: 0.88rem;
	padding: 10px 20px;
	border-radius: 6px;
	text-decoration: none;
	transition: opacity 0.15s;
}
.t3d-cal-modal__page-link:hover { opacity: 0.85; }

/* ── Servicii Fotografice: 3-column grid (override Elementor 100%-width default) ── */
.elementor-element-ac54531 > .e-con-inner > .e-con {
	--width: calc(33.33% - 14px) !important;
}
@media (max-width: 1024px) {
	.elementor-element-ac54531 > .e-con-inner > .e-con {
		--width: calc(50% - 10px) !important;
	}
	.t3d-cat-card { height: 240px !important; }
}
@media (max-width: 767px) {
	.elementor-element-ac54531 > .e-con-inner > .e-con {
		--width: 100% !important;
	}
	.t3d-cat-card { height: 220px !important; }
}

/* ════════════════════════════════════════════════════════════
   SCROLL ENTRANCE ANIMATIONS
════════════════════════════════════════════════════════════ */

@keyframes t3dFadeIn {
	from { opacity: 0; }
	to   { opacity: 1; }
}
@keyframes t3dFadeInUp {
	from { opacity: 0; transform: translateY(28px); }
	to   { opacity: 1; transform: translateY(0); }
}
@keyframes t3dFadeInLeft {
	from { opacity: 0; transform: translateX(-28px); }
	to   { opacity: 1; transform: translateX(0); }
}
@keyframes t3dFadeInRight {
	from { opacity: 0; transform: translateX(28px); }
	to   { opacity: 1; transform: translateX(0); }
}

[data-t3d-anim] {
	opacity: 0;
}
[data-t3d-anim].t3d-animated {
	animation-duration: 0.65s;
	animation-fill-mode: both;
	animation-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94);
}
[data-t3d-anim="fadeIn"].t3d-animated     { animation-name: t3dFadeIn; }
[data-t3d-anim="fadeInUp"].t3d-animated   { animation-name: t3dFadeInUp; }
[data-t3d-anim="fadeInLeft"].t3d-animated  { animation-name: t3dFadeInLeft; }
[data-t3d-anim="fadeInRight"].t3d-animated { animation-name: t3dFadeInRight; }

[data-t3d-delay="1"].t3d-animated { animation-delay: 0.08s; }
[data-t3d-delay="2"].t3d-animated { animation-delay: 0.16s; }
[data-t3d-delay="3"].t3d-animated { animation-delay: 0.24s; }
[data-t3d-delay="4"].t3d-animated { animation-delay: 0.32s; }
[data-t3d-delay="5"].t3d-animated { animation-delay: 0.40s; }
[data-t3d-delay="6"].t3d-animated { animation-delay: 0.48s; }

/* Respect reduced-motion preference */
@media (prefers-reduced-motion: reduce) {
	[data-t3d-anim] { opacity: 1 !important; }
	[data-t3d-anim].t3d-animated { animation: none !important; }
}


/* ═══════════════════════════════════════════════════════════
   SERVICE BLOCK CAROUSEL
   Auto-playing crossfade slideshow inside .t3d-svc__image
═══════════════════════════════════════════════════════════ */
.t3d-svc-carousel {
	position: absolute;
	inset: 0;
	overflow: hidden;
	border-radius: inherit;
}
.t3d-svc__image:has(.t3d-svc-carousel) {
	overflow: hidden;
}
.t3d-svc-carousel__slide {
	position: absolute;
	inset: 0;
	opacity: 0;
	transition: opacity 0.9s ease;
	z-index: 0;
}
.t3d-svc-carousel__slide.is-active {
	opacity: 1;
	z-index: 1;
}
.t3d-svc-carousel__slide img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	border-radius: inherit;
}


/* ═══════════════════════════════════════════════════════════
   Category Card carousel slides
═══════════════════════════════════════════════════════════ */
.t3d-cat-card--carousel {
	background-image: none !important;
}
.t3d-cat-card__slides {
	position: absolute;
	inset: 0;
	z-index: 0;
	overflow: hidden;
	border-radius: inherit;
}
.t3d-cat-card__slide {
	position: absolute;
	inset: 0;
	background-size: cover;
	background-position: center;
	opacity: 0;
	transition: opacity 0.9s ease;
	z-index: 0;
}
.t3d-cat-card__slide.is-active {
	opacity: 1;
	z-index: 1;
}

/* ═══════════════════════════════════════════════════════════
   CLIENT REVISION 1 — STYLING FIXES
═══════════════════════════════════════════════════════════ */

/* 1. Portfolio category cards — keep button text orange on hover */
.t3d-cat-card:hover .t3d-cat-card__btn {
	color: #F9C04D !important;
}

/* 2. Header social icons — 35mm film strip aesthetic */
.elementor-location-header .elementor-social-icon {
	position: relative !important;
	border-radius: 3px !important;
	background: #F9C04D !important;
	width: 34px !important;
	height: 54px !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	overflow: hidden !important;
	border: 1px solid rgba(249,192,77,0.5) !important;
	box-shadow: 0 2px 8px rgba(0,0,0,0.4) !important;
	transition: background 0.2s ease, box-shadow 0.2s ease !important;
}
.elementor-location-header .elementor-social-icon:hover {
	background: #e6b030 !important;
	box-shadow: 0 4px 14px rgba(0,0,0,0.5), 0 0 10px rgba(249,192,77,0.3) !important;
}
/* Sprocket strip — top & bottom */
.elementor-location-header .elementor-social-icon::before,
.elementor-location-header .elementor-social-icon::after {
	content: '' !important;
	position: absolute !important;
	left: 0 !important;
	right: 0 !important;
	height: 12px !important;
	background:
		radial-gradient(circle, rgba(0,0,0,0.5) 3.5px, transparent 3.5px)
		center / 11px 11px repeat-x,
		rgba(0,0,0,0.2) !important;
	border-top: 1px solid rgba(0,0,0,0.15) !important;
	border-bottom: 1px solid rgba(0,0,0,0.15) !important;
	z-index: 2 !important;
	pointer-events: none !important;
}
.elementor-location-header .elementor-social-icon::before {
	top: 0 !important;
	border-top: none !important;
}
.elementor-location-header .elementor-social-icon::after {
	bottom: 0 !important;
	border-bottom: none !important;
}
/* Icon sits above the sprocket strips */
.elementor-location-header .elementor-social-icon i,
.elementor-location-header .elementor-social-icon svg {
	position: relative !important;
	z-index: 3 !important;
	font-size: 15px !important;
	color: rgba(0,0,0,0.75) !important;
	fill: rgba(0,0,0,0.75) !important;
	filter: none !important;
}
.elementor-location-header .elementor-social-icon:hover i,
.elementor-location-header .elementor-social-icon:hover svg {
	color: rgba(0,0,0,0.9) !important;
}

/* 3. Despre page — shrink image to ~75% */
.elementor-page-133 .elementor-widget-image img {
	max-width: 75% !important;
	margin: 0 auto !important;
	display: block !important;
}

/* 4. Footer — typography consistency */
.elementor-location-footer .elementor-icon-list-item,
.elementor-location-footer .elementor-icon-list-text,
.elementor-location-footer .elementor-icon-list-item a,
.elementor-location-footer .elementor-widget-text-editor p,
.elementor-location-footer .elementor-widget-text-editor {
	font-size: 0.875rem !important;
	line-height: 1.6 !important;
}
/* Icon-box widgets (Locație, Email in left column) — match tagline size */
.elementor-location-footer .elementor-icon-box-description {
	font-size: 0.875rem !important;
	line-height: 1.6 !important;
	color: rgba(255,255,255,0.65) !important;
}
.elementor-location-footer .elementor-icon-box-title,
.elementor-location-footer .elementor-icon-box-title * {
	font-size: 0.875rem !important;
	font-weight: 400 !important;
	letter-spacing: 0.03em !important;
	color: rgba(255,255,255,0.82) !important;
	margin: 0 !important;
}
.elementor-location-footer .elementor-icon-box-wrapper {
	gap: 10px !important;
	align-items: center !important;
}
.elementor-location-footer .elementor-icon-box-icon {
	flex-shrink: 0 !important;
	margin-top: 0 !important;
}
/* Override Elementor's 14px icon padding that creates huge circles.
   Applies to footer and contact page icon-boxes. */
.elementor-location-footer .elementor-icon-box-icon .elementor-icon,
.page-id-137 .elementor-icon-box-icon .elementor-icon {
	width: auto !important;
	height: auto !important;
	padding: 7px !important;
	border-radius: 8px !important;
	background: rgba(249,192,77,0.08) !important;
	border: 1px solid rgba(249,192,77,0.18) !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
}
.elementor-location-footer .elementor-icon-box-icon .elementor-icon svg,
.elementor-location-footer .elementor-icon-box-icon .elementor-icon i,
.page-id-137 .elementor-icon-box-icon .elementor-icon svg,
.page-id-137 .elementor-icon-box-icon .elementor-icon i {
	width: 16px !important;
	height: 16px !important;
	font-size: 16px !important;
	fill: rgba(249,192,77,0.85) !important;
	color: rgba(249,192,77,0.85) !important;
}

/* 4b. Footer personality — accent top border + column atmosphere */
.elementor-location-footer {
	position: relative;
}
.elementor-location-footer::before {
	content: '';
	position: absolute;
	top: 0;
	left: 10%;
	right: 10%;
	height: 1px;
	background: linear-gradient(90deg, transparent, rgba(249,192,77,0.55) 35%, rgba(249,192,77,0.55) 65%, transparent);
	pointer-events: none;
	z-index: 1;
}
/* Left contact column heading */
.elementor-element-403efb06 .elementor-heading-title {
	font-size: 0.7rem !important;
	font-weight: 700 !important;
	letter-spacing: 0.2em !important;
	text-transform: uppercase !important;
	color: rgba(249,192,77,0.6) !important;
	margin-bottom: 14px !important;
}
/* Middle tagline — warm glow */
.elementor-element-c844560 .elementor-heading-title {
	color: rgba(255,255,255,0.55) !important;
	font-size: 0.875rem !important;
	font-weight: 400 !important;
	line-height: 1.7 !important;
	font-style: italic !important;
}
/* Footer logo subtle glow on hover */
.elementor-element-3ea5d23d .elementor-widget-container:hover img {
	filter: drop-shadow(0 0 18px rgba(249,192,77,0.25)) !important;
	transition: filter 0.4s ease !important;
}
/* Right column label */
.elementor-element-46cc2b41 .elementor-text-editor,
.elementor-element-46cc2b41 p {
	font-size: 0.72rem !important;
	color: rgba(255,255,255,0.35) !important;
	letter-spacing: 0.04em !important;
}

/* ── Mobile overrides ── */
@media (max-width: 767px) {
	/* "Made by Crocky" */
	.elementor-element-46cc2b41 .elementor-text-editor,
	.elementor-element-46cc2b41 p {
		font-size: 0.68rem !important;
	}

	/* Hero subtitle — inherits 35px global heading size, reduce to readable body text */
	.elementor-element-e884bc5 .elementor-heading-title {
		font-size: 1rem !important;
		line-height: 1.65 !important;
		font-weight: 300 !important;
		color: rgba(255,255,255,0.72) !important;
		letter-spacing: 0 !important;
	}

	/* Hero eyebrow "FOTOGRAF PROFESIONIST" — also too large */
	.elementor-element-14b80ce9 .elementor-heading-title {
		font-size: 0.68rem !important;
		letter-spacing: 0.22em !important;
	}

	/* Hero H1 — 32px is fine but give it a bit more breathing room */
	.elementor-element-18477f7a .elementor-heading-title {
		line-height: 1.15 !important;
	}
}

/* ── Contact page: seamless shared background between info + form sections ── */
/* Both bb2e4399 (contact info) and 8968cdf0 (form) share #0a0a0a background.
   Removing all margin/padding between them so they read as one continuous block. */
.elementor-element-bb2e4399 {
	padding-bottom: 0 !important;
	margin-bottom: 0 !important;
}
.elementor-element-8968cdf0 {
	padding-top: 60px !important;
	margin-top: 0 !important;
	background: #0a0a0a !important;
}
