/* ==========================================================================
   Damas Haus — Custom Header & Footer
   Middle Eastern elegance × modern European minimalism
   ========================================================================== */

:root {
	--dh-gold:        #C9A227;
	--dh-gold-light:  #E6C766;
	--dh-gold-deep:   #A67C1A;
	--dh-gold-grad:   linear-gradient(135deg, #E6C766 0%, #C9A227 48%, #A67C1A 100%);
	--dh-black:       #0F0F0F;
	--dh-black-2:     #1A1A1A;
	--dh-cream:       #EDE7DA;
	--dh-muted:       #9A9A9A;

	--dh-header-h:        90px;
	--dh-header-h-scroll: 70px;

	--dh-ease:   cubic-bezier(.22, .61, .36, 1);
	--dh-ease-2: cubic-bezier(.65, 0, .35, 1);

	--dh-serif: "Playfair Display", Georgia, serif;
	--dh-sans:  "Inter", "Segoe UI", system-ui, sans-serif;
}

/* Push inner-page content below the fixed header (home keeps a full-bleed hero).
   Canvas pages render no theme header, so they are excluded. */
body:not(.dh-transparent-home):not(.elementor-template-canvas) {
	padding-top: var(--dh-header-h);
}

html { scroll-behavior: smooth; }
body { scroll-padding-top: var(--dh-header-h); }

.dh-logo__text {
	font-family: var(--dh-serif);
	font-size: 32px;
	font-weight: 600;
	letter-spacing: .04em;
	color: var(--dh-cream);
	line-height: 1;
}

/* ==========================================================================
   HEADER
   ========================================================================== */

.dh-header {
	position: fixed;
	inset: 0 0 auto 0;
	z-index: 9990;
	height: var(--dh-header-h);
	display: flex;
	align-items: center;
	background: rgba(15, 15, 15, .85);
	-webkit-backdrop-filter: blur(12px) saturate(150%);
	backdrop-filter: blur(12px) saturate(150%);
	border-bottom: 1px solid rgba(201, 162, 39, .14);
	box-shadow: 0 6px 26px rgba(0, 0, 0, .26);
	transition: height .45s var(--dh-ease), background .45s var(--dh-ease),
		box-shadow .45s var(--dh-ease), border-color .45s var(--dh-ease),
		-webkit-backdrop-filter .45s var(--dh-ease), backdrop-filter .45s var(--dh-ease);
}

/* Transparent over the homepage hero until the visitor scrolls. */
body.dh-transparent-home .dh-header:not(.is-scrolled) {
	background: transparent;
	-webkit-backdrop-filter: none;
	backdrop-filter: none;
	border-bottom-color: transparent;
	box-shadow: none;
}

/* Subtle blurred glass once scrolled. */
.dh-header.is-scrolled {
	height: var(--dh-header-h-scroll);
	background: rgba(15, 15, 15, .72);
	-webkit-backdrop-filter: blur(16px) saturate(160%);
	backdrop-filter: blur(16px) saturate(160%);
	box-shadow: 0 10px 34px rgba(0, 0, 0, .34);
	border-bottom-color: rgba(201, 162, 39, .2);
}

.dh-header__inner {
	width: 100%;
	max-width: 1440px;
	margin: 0 auto;
	padding: 0 44px;
	display: grid;
	grid-template-columns: 1fr auto 1fr;
	align-items: center;
	gap: 24px;
}

/* ---- Logo ---- */
.dh-header__left { justify-self: start; }

.dh-logo {
	display: inline-flex;
	align-items: center;
	text-decoration: none;
}
.dh-logo img {
	display: block;
	width: auto;
	height: 62px;
	filter: drop-shadow(0 2px 10px rgba(0, 0, 0, .4));
	transition: height .45s var(--dh-ease), opacity .3s ease;
}
.dh-header.is-scrolled .dh-logo img { height: 48px; }
.dh-logo:hover img { opacity: .88; }

/* ---- Center navigation ---- */
.dh-header__nav { justify-self: center; }

.dh-nav-list {
	display: flex;
	align-items: center;
	gap: 40px;
	margin: 0;
	padding: 0;
	list-style: none;
}
.dh-nav-list a {
	position: relative;
	display: inline-block;
	padding: 10px 2px;
	font-family: var(--dh-sans);
	font-size: 15.5px;
	font-weight: 400;
	letter-spacing: .16em;
	text-transform: uppercase;
	color: var(--dh-cream);
	text-decoration: none;
	text-shadow: 0 1px 8px rgba(0, 0, 0, .35);
	transition: color .35s var(--dh-ease);
}
.dh-nav-list a::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: 2px;
	width: 0;
	height: 1.5px;
	background: var(--dh-gold-grad);
	transition: width .4s var(--dh-ease);
}
.dh-nav-list a:hover { color: #fff; }
.dh-nav-list a:hover::after,
.dh-nav-list .is-active a::after { width: 100%; }
.dh-nav-list .is-active a { color: var(--dh-gold); }

/* ---- Right side: socials + reserve ---- */
.dh-header__right {
	justify-self: end;
	display: flex;
	align-items: center;
	gap: 18px;
}

.dh-socials {
	display: flex;
	align-items: center;
	gap: 12px;
}
.dh-social {
	display: grid;
	place-items: center;
	width: 38px;
	height: 38px;
	border: 1px solid rgba(237, 231, 218, .26);
	border-radius: 50%;
	color: var(--dh-cream);
	text-decoration: none;
	transition: transform .35s var(--dh-ease), color .35s var(--dh-ease),
		background .35s var(--dh-ease), border-color .35s var(--dh-ease),
		box-shadow .35s var(--dh-ease);
}
.dh-social .dh-icon { width: 17px; height: 17px; }
.dh-social:hover {
	color: var(--dh-black);
	background: var(--dh-gold-grad);
	border-color: transparent;
	transform: translateY(-3px) scale(1.06);
	box-shadow: 0 8px 18px rgba(201, 162, 39, .34);
}

.dh-divider {
	width: 1px;
	height: 26px;
	background: linear-gradient(180deg, transparent, rgba(237, 231, 218, .35), transparent);
}

/* ---- Reserve button ---- */
.dh-reserve {
	position: relative;
	overflow: hidden;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 13px 28px;
	border-radius: 50px;
	font-family: var(--dh-sans);
	font-size: 14.5px;
	font-weight: 500;
	letter-spacing: .17em;
	text-transform: uppercase;
	text-decoration: none;
	color: #1a1205;
	background: var(--dh-gold-grad);
	box-shadow: 0 6px 18px rgba(201, 162, 39, .32);
	transition: transform .4s var(--dh-ease), box-shadow .4s var(--dh-ease);
	isolation: isolate;
}
.dh-reserve__label { position: relative; z-index: 2; }
/* Subtle light sweep (ripple/shine) on hover. */
.dh-reserve::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;
	background: linear-gradient(120deg, transparent 0%, rgba(255, 255, 255, .55) 50%, transparent 100%);
	transform: translateX(-130%) skewX(-18deg);
	transition: transform .7s var(--dh-ease-2);
}
.dh-reserve:hover {
	transform: translateY(-3px);
	box-shadow: 0 12px 30px rgba(201, 162, 39, .46);
}
.dh-reserve:hover::before { transform: translateX(130%) skewX(-18deg); }
.dh-reserve:active { transform: translateY(-1px); }

/* ---- Hamburger (hidden until mobile) ----
   Scoped under .dh-header so it beats the theme's generic button styles
   (Hello's reset.css sets [type=button]{display:inline-block;border:…}). */
.dh-header .dh-burger {
	display: none;
	flex-direction: column;
	justify-content: center;
	gap: 5px;
	width: 44px;
	height: 44px;
	padding: 0;
	border: 0;
	border-radius: 0;
	background: transparent;
	-webkit-appearance: none;
	appearance: none;
	color: inherit;
	cursor: pointer;
}
.dh-burger span {
	display: block;
	width: 26px;
	height: 1.6px;
	margin: 0 auto;
	background: var(--dh-cream);
	border-radius: 2px;
	transition: transform .4s var(--dh-ease), opacity .3s ease, width .3s ease;
}
.dh-burger.is-active span:nth-child(1) { transform: translateY(6.6px) rotate(45deg); }
.dh-burger.is-active span:nth-child(2) { opacity: 0; transform: scaleX(.3); }
.dh-burger.is-active span:nth-child(3) { transform: translateY(-6.6px) rotate(-45deg); }

/* ---- Fullscreen mobile overlay ---- */
.dh-overlay {
	position: fixed;
	inset: 0;
	z-index: 9985;
	display: flex;
	align-items: center;
	justify-content: center;
	background: rgba(12, 12, 12, .98);
	-webkit-backdrop-filter: blur(8px);
	backdrop-filter: blur(8px);
	opacity: 0;
	visibility: hidden;
	transform: translateY(-12px);
	transition: opacity .5s var(--dh-ease), visibility .5s var(--dh-ease), transform .5s var(--dh-ease);
}
.dh-overlay.is-open {
	opacity: 1;
	visibility: visible;
	transform: none;
}
.dh-overlay__inner {
	width: 100%;
	max-width: 480px;
	padding: 40px 32px;
	text-align: center;
}
.dh-overlay__nav ul {
	margin: 0 0 38px;
	padding: 0;
	list-style: none;
}
.dh-overlay__nav li {
	opacity: 0;
	transform: translateY(18px);
}
.dh-overlay.is-open .dh-overlay__nav li {
	opacity: 1;
	transform: none;
	transition: opacity .55s var(--dh-ease) calc(.12s + var(--dh-i) * .07s),
		transform .55s var(--dh-ease) calc(.12s + var(--dh-i) * .07s);
}
.dh-overlay__nav a {
	display: inline-block;
	padding: 14px 14px;
	font-family: var(--dh-serif);
	font-size: 36px;
	font-weight: 500;
	letter-spacing: .02em;
	color: var(--dh-cream);
	text-decoration: none;
	transition: color .3s ease, letter-spacing .3s ease;
}
.dh-overlay__nav a:hover { color: var(--dh-gold); letter-spacing: .06em; }
.dh-overlay__nav .is-active a { color: var(--dh-gold); }
.dh-overlay__cta { margin-top: 22px; }
.dh-reserve--overlay { padding: 15px 38px; font-size: 15px; }
.dh-overlay__socials {
	display: flex;
	justify-content: center;
	gap: 16px;
}

/* ==========================================================================
   FOOTER
   ========================================================================== */

.dh-footer {
	position: relative;
	overflow: hidden;
	background: var(--dh-black);
	color: #c7c2b8;
	font-family: var(--dh-sans);
	font-size: 17px;
	line-height: 1.7;
}
/* Gold hairline + soft glow at the top edge. */
.dh-footer::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 1px;
	background: linear-gradient(90deg, transparent, rgba(201, 162, 39, .65), transparent);
}
.dh-footer__glow {
	position: absolute;
	top: -180px;
	left: 50%;
	transform: translateX(-50%);
	width: 700px;
	height: 360px;
	background: radial-gradient(ellipse at center, rgba(201, 162, 39, .1), transparent 70%);
	pointer-events: none;
}

.dh-footer__inner {
	position: relative;
	max-width: 1280px;
	margin: 0 auto;
	padding: 84px 44px 48px;
	display: grid;
	grid-template-columns: 1.5fr 1fr 1.25fr 1.1fr;
	gap: 52px;
}

.dh-footer__title {
	margin: 0 0 26px;
	padding-bottom: 14px;
	position: relative;
	font-family: var(--dh-serif);
	font-size: 25px;
	font-weight: 600;
	letter-spacing: .03em;
	color: #fff;
}
.dh-footer__title::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: 0;
	width: 44px;
	height: 2px;
	background: var(--dh-gold-grad);
}

/* Column 1 — brand */
.dh-footer__logo img {
	display: block;
	width: auto;
	height: 116px;
	margin-bottom: 22px;
}
.dh-footer__tagline {
	max-width: 320px;
	margin: 0;
	font-family: var(--dh-serif);
	font-size: 22px;
	font-style: italic;
	line-height: 1.55;
	color: #d8d2c6;
}

/* Column 2 — quick links */
.dh-flinks {
	margin: 0;
	padding: 0;
	list-style: none;
}
.dh-flinks a {
	display: inline-flex;
	align-items: center;
	gap: 9px;
	padding: 7px 0;
	color: #b7b2a8;
	text-decoration: none;
	letter-spacing: .03em;
	transition: color .32s var(--dh-ease), transform .32s var(--dh-ease);
}
.dh-flinks a::before {
	content: "";
	width: 0;
	height: 1px;
	background: var(--dh-gold);
	opacity: 0;
	transition: width .32s var(--dh-ease), opacity .32s var(--dh-ease);
}
.dh-flinks a:hover {
	color: #fff;
	transform: translateX(4px);
}
.dh-flinks a:hover::before { width: 18px; opacity: 1; }

/* Column 3 — contact */
.dh-contact {
	margin: 0 0 4px;
	padding: 0;
	list-style: none;
}
.dh-contact li {
	display: flex;
	align-items: flex-start;
	gap: 14px;
	padding: 9px 0;
}
.dh-contact__ico {
	flex: 0 0 auto;
	display: grid;
	place-items: center;
	width: 26px;
	color: var(--dh-gold);
}
.dh-contact__ico .dh-icon { width: 19px; height: 19px; }
.dh-contact a {
	color: #c7c2b8;
	text-decoration: none;
	transition: color .3s ease;
}
.dh-contact a:hover { color: var(--dh-gold); }
.dh-hours { display: flex; flex-direction: column; gap: 3px; }
.dh-hours__row { display: flex; gap: 12px; }
.dh-hours__day { min-width: 78px; color: #d8d2c6; }
.dh-hours__time { color: #9a958c; }

.dh-directions {
	display: inline-flex;
	align-items: center;
	gap: 9px;
	margin-top: 20px;
	padding: 12px 24px;
	border: 1px solid var(--dh-gold);
	border-radius: 50px;
	font-size: 14px;
	font-weight: 500;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--dh-gold);
	text-decoration: none;
	transition: background .4s var(--dh-ease), color .4s var(--dh-ease),
		transform .4s var(--dh-ease), box-shadow .4s var(--dh-ease), border-color .4s var(--dh-ease);
}
.dh-directions .dh-icon { width: 16px; height: 16px; }
.dh-directions:hover {
	background: var(--dh-gold-grad);
	border-color: transparent;
	color: #1a1205;
	transform: translateY(-2px);
	box-shadow: 0 10px 24px rgba(201, 162, 39, .32);
}

/* Column 4 — follow */
.dh-footer-socials {
	display: flex;
	flex-wrap: wrap;
	gap: 14px;
	margin-bottom: 26px;
}
.dh-footer-socials .dh-social {
	width: 52px;
	height: 52px;
	border-radius: 15px;
	border-color: rgba(201, 162, 39, .32);
	color: var(--dh-cream);
}
.dh-footer-socials .dh-social .dh-icon { width: 22px; height: 22px; }
.dh-footer-socials .dh-social:hover {
	background: var(--dh-gold-grad);
	color: #1a1205;
	transform: translateY(-4px);
}

.dh-insta-cta {
	display: inline-flex;
	align-items: center;
	gap: 14px;
	padding: 14px 18px;
	border: 1px solid rgba(255, 255, 255, .09);
	border-radius: 14px;
	background: var(--dh-black-2);
	text-decoration: none;
	transition: border-color .35s ease, transform .35s var(--dh-ease), background .35s ease;
}
.dh-insta-cta:hover {
	border-color: rgba(201, 162, 39, .5);
	transform: translateY(-2px);
}
.dh-insta-cta__ico {
	display: grid;
	place-items: center;
	width: 40px;
	height: 40px;
	border-radius: 10px;
	background: var(--dh-gold-grad);
	color: #1a1205;
}
.dh-insta-cta__ico .dh-icon { width: 22px; height: 22px; }
.dh-insta-cta__txt { display: flex; flex-direction: column; line-height: 1.35; }
.dh-insta-cta__txt strong { color: #fff; font-weight: 500; letter-spacing: .02em; }
.dh-insta-cta__txt em { font-style: normal; font-size: 15px; color: var(--dh-muted); }

/* Bottom bar */
.dh-footer__bottom {
	max-width: 1280px;
	margin: 0 auto;
	padding: 24px 44px;
	border-top: 1px solid rgba(255, 255, 255, .08);
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	font-size: 15px;
	color: #8a857c;
}
.dh-footer__bottom p { margin: 0; letter-spacing: .03em; }
.dh-footer__credit { display: inline-flex; align-items: center; gap: 6px; }
.dh-heart { display: inline-flex; color: var(--dh-gold); }
.dh-heart .dh-icon { width: 14px; height: 14px; }

/* ==========================================================================
   RESPONSIVE
   ========================================================================== */

/* Tablet — hide the social icons to give the centered nav room; keep the full nav.
   The hamburger stays hidden here: it only appears on mobile (≤ 768px below). */
@media (max-width: 1024px) {
	.dh-header__right .dh-socials,
	.dh-header__right .dh-divider { display: none; }
	.dh-header__inner { padding: 0 28px; gap: 18px; }
	.dh-nav-list { gap: 28px; }
	.dh-nav-list a { font-size: 14.5px; letter-spacing: .12em; }
	.dh-reserve { padding: 11px 20px; font-size: 13.5px; letter-spacing: .12em; }

	.dh-footer__inner {
		grid-template-columns: 1fr 1fr;
		gap: 44px 40px;
		padding: 64px 36px 40px;
	}
}

/* Mobile only — collapse the navigation into the hamburger + fullscreen overlay. */
@media (max-width: 768px) {
	.dh-header__nav { display: none; }
	.dh-header .dh-burger { display: flex; }
	.dh-header__inner { grid-template-columns: 1fr auto; }
	/* Compact Reserve button on mobile so the text fits the button. */
	.dh-header .dh-reserve { padding: 9px 15px; font-size: 12px; letter-spacing: .05em; }
	.dh-header .dh-reserve__label { white-space: nowrap; }
}

@media (max-width: 640px) {
	:root { --dh-header-h: 76px; --dh-header-h-scroll: 64px; }
	.dh-header__inner { padding: 0 16px; gap: 12px; }
	.dh-header__right { gap: 8px; }
	.dh-logo img { height: 46px; }
	.dh-header.is-scrolled .dh-logo img { height: 40px; }
	.dh-header .dh-reserve { padding: 8px 13px; font-size: 11.5px; letter-spacing: .03em; }
	.dh-burger { width: 40px; }

	.dh-footer__inner {
		grid-template-columns: 1fr;
		gap: 40px;
		padding: 56px 26px 36px;
		text-align: center;
	}
	.dh-footer__title::after { left: 50%; transform: translateX(-50%); }
	.dh-footer__tagline { margin: 0 auto; }
	.dh-footer__logo img { margin: 0 auto 22px; }
	.dh-flinks a { justify-content: center; }
	.dh-contact li { justify-content: center; text-align: left; }
	.dh-footer-socials { justify-content: center; }
	.dh-footer__bottom {
		flex-direction: column;
		text-align: center;
		padding: 22px 26px;
	}
	.dh-overlay__nav a { font-size: 30px; }
}

/* Lock body scroll while the overlay is open. */
body.dh-menu-open { overflow: hidden; }

/* Accessible focus styles. */
.dh-nav-list a:focus-visible,
.dh-social:focus-visible,
.dh-reserve:focus-visible,
.dh-burger:focus-visible,
.dh-flinks a:focus-visible,
.dh-directions:focus-visible,
.dh-overlay__nav a:focus-visible,
.dh-insta-cta:focus-visible {
	outline: 2px solid var(--dh-gold);
	outline-offset: 3px;
	border-radius: 6px;
}

/* Respect reduced-motion preferences. */
@media (prefers-reduced-motion: reduce) {
	*,
	.dh-header,
	.dh-reserve,
	.dh-social,
	.dh-overlay,
	.dh-overlay__nav li {
		transition-duration: .01ms !important;
		animation-duration: .01ms !important;
	}
	html { scroll-behavior: auto; }
}

/* ==========================================================================
   EVENT QUOTE FORM ([damas_haus_event_form])
   ========================================================================== */
.dh-eform { max-width: 920px; margin: 0 auto; }
.dh-eform__form {
	background: #FFFFFF;
	border: 1px solid rgba(52,109,108,.14);
	border-radius: 18px;
	padding: 34px;
	box-shadow: 0 24px 60px rgba(16,48,46,.10);
}
.dh-eform__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px 22px; }
.dh-eform__col { display: flex; flex-direction: column; gap: 16px; }
.dh-eform input,
.dh-eform select,
.dh-eform textarea {
	width: 100%;
	font-family: var(--dh-sans);
	font-size: 17px;
	color: #2C2A24;
	background: #F7F4EE;
	border: 1px solid #E0D8C8;
	border-radius: 10px;
	padding: 14px 16px;
	transition: border-color .25s, box-shadow .25s, background .25s;
}
.dh-eform input::placeholder,
.dh-eform textarea::placeholder { color: #9B9484; }
.dh-eform select {
	-webkit-appearance: none;
	appearance: none;
	padding-right: 42px;
	background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%23346D6C' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 15px center;
}
.dh-eform input:focus,
.dh-eform select:focus,
.dh-eform textarea:focus {
	outline: none;
	border-color: #346D6C;
	background: #fff;
	box-shadow: 0 0 0 3px rgba(52,109,108,.12);
}
.dh-eform textarea { resize: vertical; min-height: 96px; }
.dh-eform__hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; opacity: 0; }
.dh-eform__check {
	display: flex; align-items: center; gap: 10px;
	margin: 18px 2px 4px;
	font-family: var(--dh-sans); font-size: 16px; color: #5C564B;
}
.dh-eform__check input { width: 18px; height: 18px; accent-color: #346D6C; }
.dh-eform__actions { margin-top: 22px; text-align: center; }
.dh-eform__submit {
	display: inline-block; cursor: pointer;
	font-family: var(--dh-sans); font-size: 15px; font-weight: 500;
	letter-spacing: 2px; text-transform: uppercase;
	color: #FCF7EE; background: #C06643;
	border: 0; border-radius: 50px; padding: 16px 42px;
	transition: transform .35s, box-shadow .35s, background .35s;
}
.dh-eform__submit:hover { background: #A8542F; transform: translateY(-2px); box-shadow: 0 12px 26px rgba(192,102,67,.34); }
.dh-eform__alert { border-radius: 12px; padding: 15px 18px; margin-bottom: 20px; font-family: var(--dh-sans); font-size: 17px; }
.dh-eform__alert--ok { background: rgba(52,109,108,.12); color: #25514F; border: 1px solid rgba(52,109,108,.3); }
.dh-eform__alert--err { background: rgba(192,102,67,.10); color: #8A3F22; border: 1px solid rgba(192,102,67,.3); }
.dh-eform__alert--err div { padding: 2px 0; }
@media (max-width: 720px) {
	.dh-eform__grid { grid-template-columns: 1fr; }
	.dh-eform__form { padding: 22px; }
}

/* ==========================================================================
   MASONRY GALLERY — wrap an Elementor Basic Gallery in .dh-gallery
   ========================================================================== */
.dh-gallery .gallery { display: block !important; column-count: 3; column-gap: 18px; margin: 0 !important; }
.dh-gallery .gallery-item {
	display: inline-block !important;
	width: 100% !important;
	margin: 0 0 18px !important;
	float: none !important;
	vertical-align: top;
	break-inside: avoid;
}
.dh-gallery .gallery-icon { margin: 0 !important; }
.dh-gallery .gallery-item img,
.dh-gallery .gallery-icon a img {
	width: 100% !important;
	height: auto !important;
	display: block;
	border: 0 !important;
	border-radius: 14px;
	box-shadow: 0 10px 30px rgba(16, 48, 46, .12);
	transition: transform .5s var(--dh-ease), box-shadow .5s var(--dh-ease);
	cursor: pointer;
}
.dh-gallery .gallery-item img:hover { transform: translateY(-4px) scale(1.02); box-shadow: 0 20px 48px rgba(16, 48, 46, .22); }
.dh-gallery .gallery-caption { display: none; }
@media (max-width: 900px) { .dh-gallery .gallery { column-count: 2; } }
@media (max-width: 560px) { .dh-gallery .gallery { column-count: 1; } }

/* Gallery photos (Image widgets in the 3-col masonry) */
.dh-gphoto img { border-radius: 14px; box-shadow: 0 10px 30px rgba(16, 48, 46, .12); transition: transform .5s var(--dh-ease), box-shadow .5s var(--dh-ease); }
.dh-gphoto:hover img { transform: translateY(-4px) scale(1.02); box-shadow: 0 20px 48px rgba(16, 48, 46, .22); }

/* Single-column form layout (contact form) */
.dh-eform__stack { display: flex; flex-direction: column; gap: 16px; }
.dh-eform__legend { font-family: var(--dh-sans); font-size: 16px; color: #5C564B; margin: 0 0 18px; }

/* "En images" photos — uniform fixed height, no distortion (cover-crop) */
.dh-eimg img {
	width: 100% !important;
	height: 340px !important;
	object-fit: cover;
	object-position: center;
	display: block;
	border-radius: 14px;
}
@media (max-width: 1024px) { .dh-eimg img { height: 300px !important; } }
@media (max-width: 767px)  { .dh-eimg img { height: 260px !important; } }

/* ==========================================================================
   FLAT DESIGN — remove all drop shadows site-wide
   ========================================================================== */
.dh-header,
.dh-header.is-scrolled,
.dh-social, .dh-social:hover,
.dh-reserve, .dh-reserve:hover,
.dh-reserve--overlay,
.dh-directions, .dh-directions:hover,
.dh-insta-cta, .dh-insta-cta:hover,
.dh-eform__form,
.dh-eform__submit, .dh-eform__submit:hover,
.dh-gphoto img, .dh-gphoto:hover img,
.dh-eimg img,
.dh-gallery .gallery-item img, .dh-gallery .gallery-item img:hover { box-shadow: none !important; }

/* ==========================================================================
   PRIMARY BUTTON COLOR — teal #316f66
   ========================================================================== */
.dh-reserve { background: #316f66 !important; color: #FCF7EE !important; }
.dh-reserve:hover { background: #285a52 !important; }
.dh-eform__submit { background: #316f66 !important; }
.dh-eform__submit:hover { background: #285a52 !important; }
.dh-directions { border-color: #316f66 !important; color: #316f66 !important; }
.dh-directions:hover { background: #316f66 !important; border-color: #316f66 !important; color: #FCF7EE !important; }

/* "En images" — force images to fill the full column width */
.dh-eimg,
.dh-eimg .elementor-widget-container,
.dh-eimg figure,
.dh-eimg a { display: block !important; width: 100% !important; margin: 0 !important; }

/* ==========================================================================
   UNIFORM GRID GALLERY ([damas_haus_gallery]) — fixed height/width + lightbox
   ========================================================================== */
.dh-grid {
	display: grid;
	grid-template-columns: repeat(var(--dh-grid-cols, 3), 1fr);
	gap: 18px;
}
.dh-grid .dh-grid__item { display: block; overflow: hidden; border-radius: 0; }
.dh-grid .dh-grid__item img {
	width: 100%;
	max-width: 100%;
	height: var(--dh-grid-h, 300px);
	object-fit: cover;
	object-position: center;
	display: block;
	border: 0;
	transition: transform .6s var(--dh-ease);
}
.dh-grid .dh-grid__item:hover img { transform: scale(1.05); }
@media (max-width: 900px) { .dh-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 560px) { .dh-grid { grid-template-columns: 1fr; } }

/* ==========================================================================
   FLUENT FORMS — brand styling (Events + Contact)
   ========================================================================== */
.fluentform {
	background: #fff;
	border-radius: 18px;
	padding: 34px;
	max-width: 920px;
	margin: 0 auto;
}
.fluentform .ff-el-group { margin-bottom: 16px; }
.fluentform .ff-el-input--label label {
	font-family: var(--dh-sans);
	font-size: 15.5px; font-weight: 500; color: #2C2A24;
}
.fluentform .ff-el-form-control {
	width: 100% !important;
	font-family: var(--dh-sans);
	font-size: 17px; color: #2C2A24;
	background: #F7F4EE !important;
	border: 1px solid #E0D8C8 !important;
	border-radius: 10px !important;
	padding: 13px 16px !important;
	box-shadow: none !important;
	transition: border-color .25s, box-shadow .25s, background .25s;
}
.fluentform .ff-el-form-control:focus {
	outline: none;
	border-color: #316f66 !important;
	background: #fff !important;
	box-shadow: 0 0 0 3px rgba(49,111,102,.12) !important;
}
.fluentform textarea.ff-el-form-control { min-height: 120px; }
.fluentform .ff-el-form-check label,
.fluentform .ff-el-form-check-label { font-family: var(--dh-sans); color: #5C564B; font-size: 16px; }
.fluentform .ff-btn-submit {
	background: #316f66 !important;
	color: #FCF7EE !important;
	border: 0 !important;
	border-radius: 50px !important;
	padding: 15px 42px !important;
	font-family: var(--dh-sans);
	font-size: 15px; font-weight: 500;
	letter-spacing: 2px; text-transform: uppercase;
	box-shadow: none !important;
	transition: background .35s, transform .35s;
}
.fluentform .ff-btn-submit:hover { background: #285a52 !important; transform: translateY(-2px); }
.ff-message-success { background: rgba(49,111,102,.1); border: 1px solid rgba(49,111,102,.3); color: #25514F; border-radius: 12px; padding: 16px 18px; font-family: var(--dh-sans); }

/* (Gallery square-corner/full-size handling is now in the base .dh-grid rules
   and the Damas Haus Gallery Elementor widget controls.) */
