/*
 Theme Name:   Bricks Child Theme
 Theme URI:    https://bricksbuilder.io/
 Description:  Use this child theme to extend Bricks.
 Author:       Bricks
 Author URI:   https://bricksbuilder.io/
 Template:     bricks
 Version:      1.1
 Text Domain:  bricks
*/

:root {
  --background: 0 0% 5%;
  --foreground: 40 14% 95%;

  --card: 0 0% 7%;
  --card-foreground: 40 14% 95%;

  --popover: 0 0% 7%;
  --popover-foreground: 40 14% 95%;

  --primary: 32 23% 65%;
  --primary-foreground: 0 0% 5%;

  --secondary: 40 14% 97%;
  --secondary-foreground: 0 0% 5%;

  --muted: 0 0% 15%;
  --muted-foreground: 0 0% 60%;
  --muted-foreground-2: 0 0% 75%;

  --accent: 32 23% 65%;
  --accent-foreground: 0 0% 5%;

  --destructive: 0 84% 60%;
  --destructive-foreground: 40 14% 95%;

  --border: 0 0% 20%;
  --input: 0 0% 15%;
  --ring: 32 23% 65%;

  --radius: 0.125rem;
	
  /* custom palette */
  --gold: 32 23% 65%;
  --gold-light: 35 30% 75%;
  --gold-dark: 30 20% 50%;

  --onyx: 0 0% 5%;
  --onyx-light: 0 0% 12%;
  --onyx-dark: 0 0% 6.67%;

  --ivory: 40 14% 97%;
  --emerald: 162 63% 18%;

  /* sidebar */
  --sidebar-background: 0 0% 7%;
  --sidebar-foreground: 40 14% 95%;
  --sidebar-primary: 32 23% 65%;
  --sidebar-primary-foreground: 0 0% 5%;
  --sidebar-accent: 0 0% 12%;
  --sidebar-accent-foreground: 40 14% 95%;
  --sidebar-border: 0 0% 20%;
  --sidebar-ring: 32 23% 65%;
}



html {
	font-size: 100%;
}
.header {
	position: fixed;
	display: block;
	top: 0;
	left: 0;
	right: 0;
	z-index: 50;
	-webkit-backdrop-filter: blur(12px);
	backdrop-filter: blur(12px);
	border-bottom-width: 1px;
	border-bottom-style: solid;
	border-bottom-color: hsl(var(--border) / 0.5);
	background-color: hsl(var(--background) / 0.95);
}
.header-container {
	margin-left: auto;
	margin-right: auto;
	max-width: 80rem;
	display: block;
	width: auto;
}
.header-grid {
	display: flex;
	align-items: center;
	justify-content: space-between;
	height: 5rem;
	padding-left: 1rem;
	padding-right: 1rem;
}
@media (min-width: 768px) {
	.header-grid {
		padding-left: 2rem;
		padding-right: 2rem;
	}
}
.logo-container {
	display: flex;
	align-items: center;
}
.logo-container > :not([hidden]) ~ :not([hidden]) {
	margin-left: 0.5rem;
}
.logo-design {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 2.5rem;
	height: 2.5rem;
	border-radius: 9999px;
	background-image: linear-gradient(135deg,hsl(var(--gold-light)),hsl(var(--gold)),hsl(var(--gold-dark)));
}
.logo-svg {
	width: 1.25rem;
	height: 1.25rem;
	display: inline-block;
	stroke: currentColor;
	fill: none;
	stroke-width: 2;
	stroke-linecap: round;
	stroke-linejoin: round;
	color: hsl(var(--onyx));
}
.logo-text {
	color: hsl(var(--foreground));
	font-family: Playfair Display, Georgia, serif;
	font-size: 1.25rem;
	line-height: 1.75rem;
	font-weight: 500;
}
.desktop-menu {
	align-items: center;
	display: none;
}
@media (min-width: 1100px) {
	.desktop-menu {
		display: flex;
	}
}
.menu-item-dropdown {
	display: flex;
	align-items: center;
	gap: 0.25rem;
	padding: 0.5rem 1rem;
	font-size: 0.875rem;
	font-weight: 500;
	color: hsl(var(--muted-foreground));
	transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
	transition-duration: 150ms;
	transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
}
.menu-item-dropdown .brx-submenu-toggle{
	gap: .25rem;
}
.menu-item-dropdown-fix {
	padding-top: 0.25rem;
	background: transparent;
}
.dropdown-panel {
	position: absolute;
	top: 100%;
	left: 0;
	z-index: 50;
	min-width: 12rem;
	overflow: hidden;
	border-radius: var(--radius);
	border-width: 1px;
	border-style: solid;
	border-color: hsl(var(--border));
	background-color: hsl(var(--card));
	box-shadow:0 20px 25px -5px rgb(0 0 0 / 0.1),0 8px 10px -6px rgb(0 0 0 / 0.1);
}
.menu-item-dropdown-link {
	display: flex;
	align-items: center;
	gap: 0.75rem;
	padding: 0.75rem 1rem;
	font-size: 0.875rem;
	color: hsl(var(--muted-foreground));
	transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
	transition-duration: 150ms;
	transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
}
.menu-item-dropdown-link:hover {
	color: hsl(var(--gold));
	background-color: hsl(var(--muted) / .5);
}
.nav-dropdown-icon {
	width: 1rem;
	height: 1rem;
	display: inline-block;
	stroke: currentColor;
	fill: none;
	stroke-width: 2;
	stroke-linecap: round;
	stroke-linejoin: round;
	transition: transform 200ms cubic-bezier(0.4, 0, 0.2, 1);
}
.nav-dropdown-icon.is-open {
	transform: rotate(180deg);
}
.menu-item-icon {
	width: 1rem;
	height: 1rem;
	display: inline-block;
	stroke: currentColor;
	fill: none;
	stroke-width: 2;
	stroke-linecap: round;
	stroke-linejoin: round;
}
.menu-item-link {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	padding: 0.5rem 1rem;
	font-size: 0.875rem;
	font-weight: 500;
	color: hsl(var(--muted-foreground));
	transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
	transition-duration: 150ms;
	transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
}
.menu-item-link:hover {
	color: hsl(var(--gold));
}
.menu-item-dropdown-link[aria-current="page"], .menu-item-link[aria-current="page"] {
	color: hsl(var(--foreground));
}
.get-in-touch-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.5rem;
	height: 2.5rem;
	padding: 0.5rem 1rem;
	border-radius: var(--radius);
	white-space: nowrap;
	font-family: Montserrat, system-ui, sans-serif;
	font-size: 0.875rem;
	font-weight: 600;
	letter-spacing: 0.025em;
	color: hsl(var(--onyx));
	background-image: linear-gradient(135deg,hsl(var(--gold-light)),hsl(var(--gold)),hsl(var(--gold-dark)));
	transition-property: all;
	transition-duration: 300ms;
	transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
}
.get-in-touch-button:hover{
    box-shadow: 0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1), 0 20px 25px -5px hsla(var(--gold) / 0.3), 0 8px 10px -6px hsla(var(--gold) / 0.3);
    transform: translateY(-0.25rem);
}
/* SVG handling */
.get-in-touch-button svg {
	pointer-events: none;
	width: 1rem;
	/* size-4 */
	height: 1rem;
	flex-shrink: 0;
}
.get-in-touch-button:hover {
	transform: translateY(-0.125rem);
}
/*Mobile*/
.mobile-nav-button {
    color: hsl(var(--foreground));
    padding: .5rem;
    background: transparent;
}
@media (min-width: 1100px) {
	.mobile-nav-button, .mobile-menu {
		display: none !important;
	}
}
.close-menu {
	display: none;
}
.mobile-menu {
	border-top-width: 1px;
	border-top-style: solid;
	border-color: hsl(var(--border));
	width: 100%;
	/* animation setup */
	max-height: 0;
	opacity: 0;
	overflow: hidden;
	visibility: hidden;
	transition:max-height 0.3s ease,opacity 0.3s ease,visibility 0s linear 0.3s;
}
.mobile-menu.show {
	max-height: 100vh;
	/* large enough for menu */
	opacity: 1;
	visibility: visible;
	transition:max-height 0.3s ease,opacity 0.3s ease,visibility 0s;
}
@media (min-width: 1100px) {
	.mobile-menu {
		display: none;
	}
}
.mobile-menu-grid {
	margin-left: auto;
	margin-right: auto;
	padding: 1rem;
}
.mobile-text-inner {
	padding: 0.5rem 1rem;
	font-size: 0.875rem;
	font-weight: 500;
	color: hsl(var(--muted-foreground));
}
.mobile-links {
	display: flex;
	align-items: center;
	gap: 0.75rem;
	padding: 0.5rem 1rem;
	font-size: 0.875rem;
	font-weight: 500;
	color: hsl(var(--foreground));
	transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
	transition-duration: 150ms;
	transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
}
.mobile-links-inner {
	display: flex;
	align-items: center;
	gap: 0.75rem;
	padding: 0.5rem 2rem;
	font-size: 0.875rem;
	color: hsl(var(--foreground));
	transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
	transition-duration: 150ms;
	transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
}
.mobile-links[aria-current="page"], .mobile-links:hover, .mobile-links-inner[aria-current="page"], .mobile-links-inner:hover {
	color: hsl(var(--gold));
}
.mobile-menu-cta {
	display: flex;
	flex-direction: column;
	gap: .75rem;
	padding-top: 1rem;
}





/* ===== Block: site-footer ===== */
.site-footer {
	background-color: hsl(var(--card));
	/* bg-card */
	border-top: 1px solid hsl(var(--border));
	/* border-t border-border */
}
/* container-luxury + section-padding */
.site-footer__container {
	margin-left: auto;
	margin-right: auto;
	max-width: 80rem;
	padding: 5rem 1rem;
	/* section-padding mobile */
}
@media (min-width: 768px) {
	.site-footer__container {
		padding: 8rem 2rem;
	}
}
/* grid: 1 col → 2 col → 4 col, gap tuning */
.site-footer__grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 3rem;
}
@media (min-width: 768px) {
	.site-footer__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		/* md:grid-cols-2 */
	}
}
@media (min-width: 1024px) {
	.site-footer__grid {
		grid-template-columns: repeat(4, minmax(0, 1fr));
		gap: 2rem;
	}
}
/* Brand column spacing: space-y-6 */
.site-footer__brand > :not([hidden]) ~ :not([hidden]) {
	margin-top: 1.5rem;
}
/* Brand link: flex items-center space-x-2 */
.site-footer__brand-link {
	display: flex;
	align-items: center;
	text-decoration: none;
	color: inherit;
}
.site-footer__brand-link > :not([hidden]) ~ :not([hidden]) {
	margin-left: 0.5rem;
	/* space-x-2 */
}
/* Mark: w-10 h-10 rounded-full bg-gold-gradient flex items-center justify-center */
.site-footer__brand-mark {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 2.5rem;
	height: 2.5rem;
	border-radius: 9999px;
	background-image: linear-gradient(135deg,hsl(var(--gold-light)),hsl(var(--gold)),hsl(var(--gold-dark)));
}
/* Spade icon: w-5 h-5 text-onyx + lucide base */
.site-footer__brand-icon {
	width: 1.25rem;
	height: 1.25rem;
	color: hsl(var(--onyx));
	stroke: currentColor;
	fill: none;
	stroke-width: 2;
	stroke-linecap: round;
	stroke-linejoin: round;
}
/* Brand name: font-serif text-xl font-medium text-foreground */
.site-footer__brand-name {
	font-family: "Playfair Display", Georgia, serif;
	font-size: 1.25rem;
	line-height: 1.75rem;
	font-weight: 500;
	color: hsl(var(--foreground));
}
/* Tagline: body-text text-muted-foreground */
.site-footer__tagline {
	font-family: Montserrat, system-ui, sans-serif;
	font-size: 1rem;
	line-height: 1.625;
	font-weight: 300;
	color: hsl(var(--muted-foreground));
	margin: 0;
}
.site-footer__social {
	display: flex;
	align-items: center;
	gap: 1rem;
}
.site-footer__social-link {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 2.5rem;
	height: 2.5rem;
	border-radius: 9999px;
	background-color: hsl(var(--muted));
	color: hsl(var(--muted-foreground));
	text-decoration: none;
	transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
	transition-duration: 150ms;
	transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
}
.site-footer__social-link:hover {
	background-color: hsl(var(--gold));
	color: hsl(var(--onyx));
}
.site-footer__social-icon {
	width: 1rem;
	height: 1rem;
	stroke: currentColor;
	fill: none;
	stroke-width: 2;
	stroke-linecap: round;
	stroke-linejoin: round;
}
.site-footer__col > :not([hidden]) ~ :not([hidden]) {
	margin-top: 1.5rem;
}
/* Column heading: font-serif text-lg font-medium text-foreground */
.site-footer__heading {
	margin: 0;
	font-family: "Playfair Display", Georgia, serif;
	font-size: 1.125rem;
	line-height: 1.75rem;
	font-weight: 500;
	color: hsl(var(--foreground));
}
/* Link lists: space-y-3 */
.site-footer__list {
	list-style: none;
	padding: 0;
	margin: 0;
}
.site-footer__list > :not([hidden]) ~ :not([hidden]) {
	margin-top: 0.75rem;
	/* space-y-3 */
}
/* Link: body-text text-muted-foreground hover:text-gold transition-colors */
.site-footer__link {
	font-family: Montserrat, system-ui, sans-serif;
	font-size: 1rem;
	line-height: 1.625;
	font-weight: 300;
	color: hsl(var(--muted-foreground));
	text-decoration: none;
	transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
	transition-duration: 150ms;
	transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
}
.site-footer__link:hover {
	color: hsl(var(--gold));
}
/* Contact list: space-y-4 */
.site-footer__contact-list {
	list-style: none;
	padding: 0;
	margin: 0;
}
.site-footer__contact-list > :not([hidden]) ~ :not([hidden]) {
	margin-top: 1rem;
	/* space-y-4 */
}
/* Contact item: flex items-start gap-3 */
.site-footer__contact-item {
	display: flex;
	align-items: flex-start;
	gap: 0.75rem;
}
/* Contact icon: w-5 h-5 text-gold mt-0.5 */
.site-footer__contact-icon {
	width: 1.25rem;
	height: 1.25rem;
	margin-top: 0.125rem;
	color: hsl(var(--gold));
	flex-shrink: 0;
	stroke: currentColor;
	fill: none;
	stroke-width: 2;
	stroke-linecap: round;
	stroke-linejoin: round;
}
.site-footer__contact-text {
	font-family: Montserrat, system-ui, sans-serif;
	font-size: 1rem;
	line-height: 1.625;
	font-weight: 300;
	color: hsl(var(--muted-foreground));
}
/* Bottom bar: mt-16 pt-8 border-t flex-col md:flex-row items-center justify-between gap-4 */
.site-footer__bottom {
	margin-top: 4rem;
	/* mt-16 */
	padding-top: 2rem;
	/* pt-8 */
	border-top: 1px solid hsl(var(--border));
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	/* gap-4 */
	text-align: center;
	/* mobile-friendly */
}
@media (min-width: 768px) {
	.site-footer__bottom {
		flex-direction: row;
		text-align: left;
	}
}
/* copyright: text-sm text-muted-foreground */
.site-footer__copyright {
	margin: 0;
	font-size: 0.875rem;
	line-height: 1.25rem;
	color: hsl(var(--muted-foreground));
	font-family: Montserrat, system-ui, sans-serif;
}
/* legal row: flex items-center gap-6 */
.site-footer__legal {
	display: flex;
	align-items: center;
	gap: 1.5rem;
	flex-wrap: wrap;
	/* prevents overflow on tiny screens */
	justify-content: center;
}
@media (min-width: 768px) {
	.site-footer__legal {
		justify-content: flex-end;
	}
}
/* legal link: text-sm text-muted-foreground hover:text-foreground transition-colors */
.site-footer__legal-link {
	font-size: 0.875rem;
	line-height: 1.25rem;
	color: hsl(var(--muted-foreground));
	text-decoration: none;
	transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
	transition-duration: 150ms;
	transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
}
.site-footer__legal-link:hover {
	color: hsl(var(--foreground));
}


























