/*
Theme Name: Dhara Yoga Studio Child
Template: neve
Description: Child theme for dharayogastudio.kr — Hamdeok, Jeju. Elementor one-page.
Version: 1.2.2
Text Domain: dhara-yoga-studio
*/

@font-face {
	font-family: "Paperlogy";
	src: url("https://cdn.jsdelivr.net/gh/projectnoonnu/2408-3@1.0/Paperlogy-1Thin.woff2") format("woff2");
	font-weight: 100;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: "Paperlogy";
	src: url("https://cdn.jsdelivr.net/gh/projectnoonnu/2408-3@1.0/Paperlogy-2ExtraLight.woff2") format("woff2");
	font-weight: 200;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: "Paperlogy";
	src: url("https://cdn.jsdelivr.net/gh/projectnoonnu/2408-3@1.0/Paperlogy-3Light.woff2") format("woff2");
	font-weight: 300;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: "Paperlogy";
	src: url("https://cdn.jsdelivr.net/gh/projectnoonnu/2408-3@1.0/Paperlogy-4Regular.woff2") format("woff2");
	font-weight: 400;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: "Paperlogy";
	src: url("https://cdn.jsdelivr.net/gh/projectnoonnu/2408-3@1.0/Paperlogy-5Medium.woff2") format("woff2");
	font-weight: 500;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: "Paperlogy";
	src: url("https://cdn.jsdelivr.net/gh/projectnoonnu/2408-3@1.0/Paperlogy-6SemiBold.woff2") format("woff2");
	font-weight: 600;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: "Paperlogy";
	src: url("https://cdn.jsdelivr.net/gh/projectnoonnu/2408-3@1.0/Paperlogy-7Bold.woff2") format("woff2");
	font-weight: 700;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: "Paperlogy";
	src: url("https://cdn.jsdelivr.net/gh/projectnoonnu/2408-3@1.0/Paperlogy-8ExtraBold.woff2") format("woff2");
	font-weight: 800;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: "Paperlogy";
	src: url("https://cdn.jsdelivr.net/gh/projectnoonnu/2408-3@1.0/Paperlogy-9Black.woff2") format("woff2");
	font-weight: 900;
	font-style: normal;
	font-display: swap;
}

:root {
	--dhara-bg: #e9e9e9;
	--dhara-card: #ffffff;
	--dhara-text: #000000;
	--dhara-black: #000000;
	--dhara-white: #ffffff;
	--dhara-yellow: #ffd200;
	--dhara-line: #000000;
	--dhara-content: 1040px;
	--dhara-gutter: 24px;
	--dhara-header-h: 72px;
	--dhara-heading: "Gowun Batang", serif;
	--dhara-body: "Paperlogy", sans-serif;
	--bodyfontfamily: "Paperlogy", sans-serif !important;
	--headingsfontfamily: "Gowun Batang", serif !important;
	--nv-fallback-ff: "Paperlogy", sans-serif;
	--h1fontfamily: "Gowun Batang", serif !important;
	--h2fontfamily: "Gowun Batang", serif !important;
	--h3fontfamily: "Gowun Batang", serif !important;
	--h4fontfamily: "Gowun Batang", serif !important;
	--h5fontfamily: "Gowun Batang", serif !important;
	--h6fontfamily: "Gowun Batang", serif !important;
}

html {
	scroll-behavior: smooth;
}

body,
.elementor-page,
.elementor-kit-56,
#neve_body {
	background: var(--dhara-bg) !important;
	color: var(--dhara-text) !important;
	font-family: var(--dhara-body);
	font-weight: 400;
	line-height: 1.75;
	word-break: keep-all;
	overflow-wrap: break-word;
}

body.home {
	--container: 1040px !important;
}

/* Align header + page content to the same 1040px start */
body.home .container,
body.home .header--row-inner,
body.home .header-main-inner,
.elementor-section > .elementor-container,
.dhara-nav > .elementor-container,
.e-con > .e-con-inner {
	max-width: var(--dhara-content) !important;
	width: 100%;
	margin-left: auto !important;
	margin-right: auto !important;
	padding-left: var(--dhara-gutter) !important;
	padding-right: var(--dhara-gutter) !important;
}

body.home .builder-item--logo,
body.home .site-logo,
.dhara-nav > .elementor-container > .elementor-column:first-child,
.dhara-nav .elementor-column:first-child > .elementor-element-populated,
.dhara-hero > .elementor-container > .elementor-column:first-child > .elementor-element-populated,
#about > .elementor-container > .elementor-column:first-child > .elementor-element-populated {
	margin-left: 0 !important;
	padding-left: 0 !important;
	justify-content: flex-start !important;
	text-align: left !important;
}

.dhara-nav .elementor-column:first-child .elementor-widget-wrap {
	display: flex;
	flex-direction: row;
	align-items: center;
	gap: 10px;
	justify-content: flex-start;
}

#about,
#oneday,
#group,
#dharaday,
#faq,
#footer,
#hero,
#top {
	scroll-margin-top: calc(var(--dhara-header-h) + 12px);
}

/* Type: all black */
.elementor-widget-heading .elementor-heading-title,
.elementor-widget-text-editor,
.elementor-widget-text-editor p,
.elementor-widget-text-editor li,
.elementor-accordion-title,
.elementor-tab-title,
.elementor-tab-content,
.elementor-button-text,
h1, h2, h3, h4, h5, h6,
p, a, span, li, label,
.site-title,
.nav-ul a {
	color: #000 !important;
}

h1, h2, h3,
.elementor-widget-heading .elementor-heading-title,
.elementor-heading-title,
.elementor-accordion-title {
	font-family: var(--dhara-heading) !important;
	font-weight: 400;
	letter-spacing: -0.01em;
}

.elementor-widget-text-editor,
.elementor-widget-text-editor p,
.elementor-widget-text-editor li,
.elementor-tab-content,
.nav-ul a,
p, li, label, input, textarea, select {
	font-family: var(--dhara-body);
}

.dhara-eyebrow .elementor-heading-title {
	font-family: var(--dhara-body) !important;
	font-size: 12px !important;
	letter-spacing: 0.28em !important;
	text-transform: uppercase;
	color: #000 !important;
	font-weight: 400 !important;
}

/* Buttons: 1px black border, hover yellow + black text */
.elementor-button,
.elementor-button:visited,
.dhara-inquiry button,
.mobile-cta a {
	background: var(--dhara-white) !important;
	color: #000 !important;
	border: 1px solid #000 !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	font-family: var(--dhara-body) !important;
	font-weight: 400 !important;
	letter-spacing: 0.04em;
	padding: 14px 28px !important;
	transition: background 0.2s ease, color 0.2s ease;
	fill: #000 !important;
}

.elementor-button:hover,
.elementor-button:focus,
.elementor-button:hover .elementor-button-text,
.dhara-inquiry button:hover,
.dhara-inquiry button:focus {
	background: var(--dhara-yellow) !important;
	color: #000 !important;
	border-color: #000 !important;
	opacity: 1 !important;
}

/* Overlay header: transparent on hero, dissolve to white on scroll */
.dhara-nav.elementor-section,
.dhara-nav {
	position: fixed !important;
	top: 0;
	left: 0;
	right: 0;
	width: 100% !important;
	max-width: none !important;
	z-index: 1000;
	background: transparent !important;
	background-color: transparent !important;
	border-bottom: 1px solid transparent !important;
	box-shadow: none !important;
	transition: background-color 0.55s ease, border-color 0.55s ease, box-shadow 0.55s ease;
}

.dhara-nav.is-scrolled {
	background: #fff !important;
	background-color: #fff !important;
	border-bottom-color: #000 !important;
}

.dhara-hero.elementor-section {
	min-height: 100vh !important;
}

.dhara-nav .elementor-button {
	padding: 8px 10px !important;
	background: transparent !important;
	border: 0 !important;
	box-shadow: none !important;
	font-size: 13px !important;
}

.dhara-nav .elementor-button:hover {
	background: var(--dhara-yellow) !important;
	color: #000 !important;
}

.dhara-nav .dhara-nav-cta .elementor-button,
.dhara-nav .elementor-column:last-child .elementor-button {
	border: 1px solid #000 !important;
	padding: 10px 18px !important;
	background: var(--dhara-white) !important;
}

.dhara-nav .dhara-nav-cta .elementor-button:hover,
.dhara-nav .elementor-column:last-child .elementor-button:hover {
	background: var(--dhara-yellow) !important;
}

/* Hero: light wash so black type stays readable */
.dhara-hero .elementor-background-overlay {
	background-color: rgba(233, 233, 233, 0.78) !important;
	opacity: 1 !important;
	background-image: none !important;
}

.dhara-hero .elementor-heading-title,
.dhara-hero .elementor-widget-text-editor,
.dhara-hero .elementor-widget-text-editor p {
	color: #000 !important;
}

.dhara-quote .elementor-widget-text-editor,
.dhara-quote .elementor-heading-title {
	font-family: var(--dhara-heading) !important;
	color: #000 !important;
	border-left: 2px solid var(--dhara-yellow);
	padding-left: 22px;
}

.dhara-card {
	background: var(--dhara-white) !important;
	border: 1px solid #000 !important;
}

.dhara-cta-band,
.dhara-dharaday,
.dhara-footer {
	background: var(--dhara-white) !important;
}

.dhara-cta-band .elementor-heading-title,
.dhara-dharaday .elementor-heading-title,
.dhara-footer .elementor-heading-title,
.dhara-cta-band .elementor-widget-text-editor,
.dhara-dharaday .elementor-widget-text-editor,
.dhara-footer .elementor-widget-text-editor,
.dhara-footer a,
.dhara-footer .elementor-button-text {
	color: #000 !important;
}

.dhara-dharaday {
	border-left: 6px solid var(--dhara-yellow);
}

.dhara-faq .elementor-accordion-item {
	border: 0 !important;
	border-bottom: 1px solid #000 !important;
	background: transparent !important;
}

.dhara-faq .elementor-tab-title {
	font-family: var(--dhara-heading) !important;
	font-size: 15.5px !important;
	color: #000 !important;
	padding: 20px 2px !important;
	background: transparent !important;
	border: 0 !important;
}

.dhara-faq .elementor-tab-content {
	border: 0 !important;
	color: #000 !important;
	font-size: 14px;
	line-height: 1.8;
	padding: 0 2px 18px !important;
}

.dhara-schedule {
	overflow-x: auto;
	border: 1px solid #000;
	background: var(--dhara-white);
}

.dhara-schedule table {
	border-collapse: collapse;
	width: 100%;
	min-width: 640px;
	font-size: 13.5px;
	color: #000;
}

.dhara-schedule th,
.dhara-schedule td {
	padding: 14px 10px;
	text-align: center;
	border-bottom: 1px solid #000;
	border-right: 1px solid #000;
	white-space: nowrap;
	color: #000;
}

.dhara-schedule th:last-child,
.dhara-schedule td:last-child {
	border-right: none;
}

.dhara-schedule thead th {
	background: var(--dhara-yellow);
	color: #000;
	font-weight: 500;
	font-size: 12px;
	letter-spacing: 0.05em;
}

.dhara-schedule td.time {
	background: var(--dhara-bg);
	color: #000;
	font-size: 12px;
}

.dhara-schedule td.empty {
	color: #000;
	opacity: 0.35;
}

.dhara-schedule .cell-class {
	display: block;
	color: #000;
	font-weight: 500;
}

.dhara-schedule .cell-teacher {
	display: block;
	color: #000;
	font-size: 11.5px;
	margin-top: 2px;
}

.dhara-inquiry {
	background: var(--dhara-white);
	border: 1px solid #000;
	padding: 40px;
	display: grid;
	gap: 20px;
	grid-template-columns: 1fr 1fr;
}

.dhara-inquiry .full {
	grid-column: 1 / -1;
}

.dhara-inquiry label {
	display: block;
	font-size: 12px;
	color: #000;
	margin-bottom: 8px;
}

.dhara-inquiry input,
.dhara-inquiry textarea {
	width: 100%;
	border: 1px solid #000;
	background: var(--dhara-white);
	padding: 12px 14px;
	font-family: inherit;
	font-size: 14px;
	color: #000;
	border-radius: 0;
}

.dhara-inquiry textarea {
	min-height: 100px;
	resize: vertical;
}

.dhara-inquiry .note {
	font-size: 12px;
	color: #000;
	margin-left: 12px;
}

.dhara-inquiry-ok {
	background: var(--dhara-yellow);
	border: 1px solid #000;
	padding: 18px 20px;
	color: #000;
	margin-bottom: 20px;
}

.dhara-hp {
	position: absolute !important;
	left: -9999px !important;
}

@media (max-width: 640px) {
	.dhara-inquiry {
		grid-template-columns: 1fr;
		padding: 26px;
	}
}

.dhara-mobile-cta {
	display: none !important;
}

@media (max-width: 759px) {
	.dhara-nav .dhara-nav-links {
		display: none !important;
	}

	.dhara-mobile-cta {
		display: block !important;
		position: fixed !important;
		left: 0;
		right: 0;
		bottom: 0;
		z-index: 999;
		background: var(--dhara-white) !important;
		border-top: 1px solid #000;
	}

	.dhara-mobile-cta .elementor-button {
		width: 100%;
	}

	body {
		padding-bottom: 58px;
	}
}
