/**
 * Haika Damirchian-Azar — Contact Page
 *
 * Design Language: "Steel & Spark" — همان توکن‌های page-about
 * Scope: .daz-contact (هیچ leak بیرونی)
 */

/* ═══════════════════════════════════════════════════════════════
   DESIGN TOKENS — همان پالت About
   ═══════════════════════════════════════════════════════════════ */
.daz-contact{
	--daz-steel-deep:   #0a1929;
	--daz-steel-mid:    #11243a;
	--daz-steel-rise:   #1e3a5f;
	--daz-steel-line:   #2d4a6f;
	--daz-chrome:       #c5cad1;
	--daz-chrome-soft:  #e6e9ed;
	--daz-spark-1:      #ff6b1a;
	--daz-spark-2:      #ffb547;
	--daz-spark-glow:   rgba(255,107,26,.35);
	--daz-bp-line:      rgba(197,202,209,.07);
	--daz-bp-line-2:    rgba(197,202,209,.13);
	--daz-surface:      #0e2030;
	--daz-surface-2:    #14283d;
	--daz-border:       rgba(197,202,209,.10);
	--daz-border-hot:   rgba(255,107,26,.20);
	--daz-text:         #e2e8f0;
	--daz-text-mute:    #94a3b8;
	--daz-text-dim:     #64748b;
	--daz-success:      #10b981;
	--daz-error:        #ef4444;
	--daz-ease-out:     cubic-bezier(0.22, 1, 0.36, 1);
	--daz-ease-snap:    cubic-bezier(0.4, 0, 0.2, 1);
}
html[data-cb-theme="light"] .daz-contact{
	--daz-steel-deep:   #f1f5f9;
	--daz-steel-mid:    #e2e8f0;
	--daz-steel-rise:   #cbd5e1;
	--daz-steel-line:   #94a3b8;
	--daz-chrome:       #475569;
	--daz-bp-line:      rgba(30,58,95,.10);
	--daz-bp-line-2:    rgba(30,58,95,.18);
	--daz-surface:      #ffffff;
	--daz-surface-2:    #f8fafc;
	--daz-border:       rgba(30,58,95,.12);
	--daz-text:         #0f172a;
	--daz-text-mute:    #475569;
	--daz-text-dim:     #64748b;
}

/* ═══════════════════════════════════════════════════════════════
   GLOBAL
   ═══════════════════════════════════════════════════════════════ */
.daz-contact{
	background: var(--daz-steel-deep);
	color: var(--daz-text);
	font-family: inherit;
	overflow-x: hidden;
	line-height: 1.65;
	position: relative;
}
.daz-contact *{ box-sizing: border-box; }
.daz-contact :focus-visible{ outline: 2px solid var(--daz-spark-1); outline-offset: 3px; border-radius: 6px; }
.daz-c-wrap{ max-width: 1200px; margin: 0 auto; padding: 0 24px; }

/* Reveal */
.daz-contact [data-daz-reveal]{
	opacity: 0;
	transform: translateY(24px);
	filter: blur(6px);
	transition: opacity .85s var(--daz-ease-out), transform .85s var(--daz-ease-out), filter .85s var(--daz-ease-out);
	transition-delay: var(--daz-delay, 0ms);
}
.daz-contact [data-daz-reveal].is-in{ opacity: 1; transform: translateY(0); filter: blur(0); }
@media (prefers-reduced-motion: reduce){
	.daz-contact [data-daz-reveal]{ opacity: 1; transform: none; filter: none; transition: none; }
	.daz-contact *,
	.daz-contact *::before,
	.daz-contact *::after{ animation-duration: .001ms !important; transition-duration: .001ms !important; }
}

/* ═══════════════════════════════════════════════════════════════
   1) HERO
   ═══════════════════════════════════════════════════════════════ */
.daz-c-hero{
	position: relative;
	padding: 90px 0 70px;
	overflow: hidden;
	isolation: isolate;
}
.daz-c-hero::before{
	content: "";
	position: absolute;
	inset: 0;
	background-image:
		linear-gradient(var(--daz-bp-line) 1px, transparent 1px),
		linear-gradient(90deg, var(--daz-bp-line) 1px, transparent 1px),
		linear-gradient(var(--daz-bp-line-2) 1px, transparent 1px),
		linear-gradient(90deg, var(--daz-bp-line-2) 1px, transparent 1px);
	background-size: 40px 40px, 40px 40px, 200px 200px, 200px 200px;
	z-index: -2;
}
.daz-c-hero::after{
	content: "";
	position: absolute;
	top: -10%; right: -15%;
	width: 700px; height: 700px;
	background: radial-gradient(circle, var(--daz-spark-glow) 0%, transparent 60%);
	opacity: .35;
	filter: blur(60px);
	z-index: -1;
	animation: dazCHeroGlow 9s ease-in-out infinite alternate;
}
@keyframes dazCHeroGlow{
	0% { opacity: .25; transform: scale(.9); }
	100% { opacity: .5; transform: scale(1.06); }
}

.daz-c-hero__inner{ position: relative; z-index: 2; text-align: center; }
.daz-c-hero__eyebrow{
	display: inline-flex;
	align-items: center;
	gap: 10px;
	padding: 9px 18px;
	background: rgba(255,107,26,.08);
	border: 1px solid var(--daz-border-hot);
	border-radius: 100px;
	font-size: 13px;
	letter-spacing: .02em;
	color: var(--daz-spark-2);
	margin-bottom: 28px;
}
.daz-c-hero__eyebrow .daz-c-pulse{
	width: 7px; height: 7px;
	background: var(--daz-spark-1);
	border-radius: 50%;
	box-shadow: 0 0 12px var(--daz-spark-1), 0 0 24px var(--daz-spark-glow);
	animation: dazCPulse 1.8s ease-in-out infinite;
}
@keyframes dazCPulse{
	0%, 100% { transform: scale(1); opacity: 1; }
	50%      { transform: scale(1.4); opacity: .6; }
}
.daz-c-hero__title{
	font-size: clamp(2rem, 4.6vw, 3.4rem);
	font-weight: 800;
	line-height: 1.15;
	margin: 0 0 22px;
	letter-spacing: -0.02em;
}
.daz-c-hero__title .daz-c-spark{
	background: linear-gradient(135deg, var(--daz-spark-2), var(--daz-spark-1));
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
}
.daz-c-hero__lede{
	max-width: 660px;
	margin: 0 auto;
	color: var(--daz-text-mute);
	font-size: 1.05rem;
	line-height: 1.85;
	text-align: justify;
	text-align-last: center;
}

/* ═══════════════════════════════════════════════════════════════
   2) CHANNELS — کارت‌های ارتباطی
   ═══════════════════════════════════════════════════════════════ */
.daz-c-channels{
	padding: 40px 0 80px;
	position: relative;
}
.daz-c-channels__grid{
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
	gap: 18px;
}
.daz-c-channel{
	position: relative;
	display: flex;
	flex-direction: column;
	gap: 14px;
	padding: 28px 26px;
	background: var(--daz-surface);
	border: 1px solid var(--daz-border);
	border-radius: 16px;
	text-decoration: none;
	color: inherit;
	transition: transform .35s var(--daz-ease-out), border-color .35s, box-shadow .35s;
	overflow: hidden;
}
.daz-c-channel::before{
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(135deg, var(--daz-spark-glow) 0%, transparent 50%);
	opacity: 0;
	transition: opacity .35s;
	pointer-events: none;
}
.daz-c-channel:hover{
	transform: translateY(-4px);
	border-color: var(--daz-border-hot);
	box-shadow: 0 20px 44px -16px rgba(0,0,0,.5);
}
.daz-c-channel:hover::before{ opacity: .14; }

.daz-c-channel__icon{
	display: flex; align-items: center; justify-content: center;
	width: 48px; height: 48px;
	background: linear-gradient(135deg, rgba(255,107,26,.14), rgba(255,107,26,.04));
	border: 1px solid var(--daz-border-hot);
	border-radius: 12px;
	color: var(--daz-spark-2);
}
.daz-c-channel__label{
	font-size: 12px;
	color: var(--daz-text-dim);
	letter-spacing: .12em;
	text-transform: uppercase;
}
.daz-c-channel__value{
	font-size: 1.15rem;
	font-weight: 700;
	color: var(--daz-text);
	line-height: 1.4;
	font-variant-numeric: tabular-nums;
}
.daz-c-channel__value[dir="ltr"]{ unicode-bidi: embed; }
.daz-c-channel__sub{
	font-size: 13px;
	color: var(--daz-text-mute);
	line-height: 1.6;
	margin-top: auto;
}
.daz-c-channel__corner{
	position: absolute;
	top: 16px; left: 16px;
	font-size: 10px;
	letter-spacing: .2em;
	color: var(--daz-text-dim);
	font-variant-numeric: tabular-nums;
}

/* ═══════════════════════════════════════════════════════════════
   3) MAIN BODY — Address card + Form
   ═══════════════════════════════════════════════════════════════ */
.daz-c-main{
	position: relative;
	padding: 0 0 110px;
}
.daz-c-main__grid{
	display: grid;
	grid-template-columns: 1.05fr 1fr;
	gap: 28px;
	align-items: stretch;
}

/* ── Address Card with map fallback ──────────────────────────── */
.daz-c-address{
	background: var(--daz-surface);
	border: 1px solid var(--daz-border);
	border-radius: 22px;
	overflow: hidden;
	position: relative;
	display: flex;
	flex-direction: column;
}
.daz-c-address__map{
	position: relative;
	height: 280px;
	background: var(--daz-steel-mid);
	overflow: hidden;
	isolation: isolate;
}
/* CAD-style schematic map (vector) */
.daz-c-address__map-svg{
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	color: var(--daz-steel-line);
}
.daz-c-address__map-pin{
	position: absolute;
	top: 50%; left: 50%;
	transform: translate(-50%, -100%);
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 8px;
	z-index: 2;
}
.daz-c-address__map-pin-ring{
	position: relative;
	width: 36px; height: 36px;
	border-radius: 50%;
	background: var(--daz-spark-1);
	box-shadow: 0 0 0 8px rgba(255,107,26,.18), 0 10px 24px -4px rgba(255,107,26,.5);
	display: flex; align-items: center; justify-content: center;
	color: #fff;
}
.daz-c-address__map-pin-ring::after{
	content: "";
	position: absolute;
	inset: -2px;
	border: 2px solid var(--daz-spark-1);
	border-radius: 50%;
	animation: dazPinPulse 2.2s ease-out infinite;
}
@keyframes dazPinPulse{
	0%   { opacity: .9; transform: scale(1);   }
	100% { opacity: 0;  transform: scale(2.2); }
}
.daz-c-address__map-pin-base{
	width: 2px; height: 22px;
	background: linear-gradient(180deg, var(--daz-spark-1), transparent);
}
.daz-c-address__map-coord{
	position: absolute;
	bottom: 12px; right: 14px;
	font-size: 10px;
	letter-spacing: .12em;
	color: var(--daz-text-dim);
	font-variant-numeric: tabular-nums;
	background: rgba(10,25,41,.4);
	padding: 4px 10px;
	border-radius: 100px;
	border: 1px solid var(--daz-border);
	backdrop-filter: blur(6px);
}

.daz-c-address__body{
	padding: 28px 28px 32px;
	display: flex;
	flex-direction: column;
	gap: 16px;
}
.daz-c-address__tag{
	display: inline-flex;
	align-items: center;
	gap: 10px;
	font-size: 12px;
	color: var(--daz-spark-1);
	letter-spacing: .2em;
	text-transform: uppercase;
	font-weight: 600;
}
.daz-c-address__tag::before{
	content: "";
	width: 24px; height: 1.5px;
	background: var(--daz-spark-1);
}
.daz-c-address__title{
	margin: 0;
	font-size: 1.3rem;
	font-weight: 700;
	color: var(--daz-text);
}
.daz-c-address__lines{
	margin: 0;
	padding: 0;
	list-style: none;
	display: flex;
	flex-direction: column;
	gap: 14px;
}
.daz-c-address__line{
	display: grid;
	grid-template-columns: 38px 1fr;
	gap: 14px;
	align-items: start;
	font-size: .96rem;
	line-height: 1.7;
}
.daz-c-address__line-icon{
	width: 38px; height: 38px;
	display: flex; align-items: center; justify-content: center;
	background: var(--daz-surface-2);
	border: 1px solid var(--daz-border);
	border-radius: 10px;
	color: var(--daz-spark-2);
	flex: 0 0 38px;
}
.daz-c-address__line-body small{
	display: block;
	font-size: 11px;
	color: var(--daz-text-dim);
	letter-spacing: .1em;
	text-transform: uppercase;
	margin-bottom: 3px;
}
.daz-c-address__line-body span,
.daz-c-address__line-body a{
	color: var(--daz-text);
	font-weight: 500;
	text-decoration: none;
}
.daz-c-address__line-body a:hover{ color: var(--daz-spark-2); }
.daz-c-address__line-body [dir="ltr"]{
	font-variant-numeric: tabular-nums;
	letter-spacing: .02em;
}

.daz-c-address__hours{
	margin-top: 8px;
	padding: 14px 16px;
	background: var(--daz-surface-2);
	border: 1px dashed var(--daz-border);
	border-radius: 10px;
	font-size: .88rem;
	color: var(--daz-text-mute);
	display: flex;
	align-items: center;
	gap: 10px;
}
.daz-c-address__hours strong{ color: var(--daz-text); }
.daz-c-address__hours-dot{
	width: 8px; height: 8px;
	background: var(--daz-success);
	border-radius: 50%;
	box-shadow: 0 0 0 4px rgba(16,185,129,.18);
	flex-shrink: 0;
}

/* ═══════════════════════════════════════════════════════════════
   4) CONTACT FORM
   ═══════════════════════════════════════════════════════════════ */
.daz-c-form{
	position: relative;
	background: var(--daz-surface);
	border: 1px solid var(--daz-border);
	border-radius: 22px;
	padding: 32px;
	overflow: hidden;
	isolation: isolate;
}
.daz-c-form::before{
	content: "";
	position: absolute;
	top: 0; right: 0;
	width: 280px; height: 280px;
	background: radial-gradient(circle, var(--daz-spark-glow), transparent 70%);
	opacity: .25;
	transform: translate(40%, -40%);
	pointer-events: none;
}
.daz-c-form__head{ margin-bottom: 22px; position: relative; }
.daz-c-form__tag{
	display: inline-flex;
	align-items: center;
	gap: 10px;
	font-size: 12px;
	color: var(--daz-spark-1);
	letter-spacing: .2em;
	text-transform: uppercase;
	font-weight: 600;
	margin-bottom: 12px;
}
.daz-c-form__tag::before{
	content: "";
	width: 24px; height: 1.5px;
	background: var(--daz-spark-1);
}
.daz-c-form__title{
	margin: 0 0 8px;
	font-size: 1.4rem;
	font-weight: 700;
	color: var(--daz-text);
}
.daz-c-form__sub{
	margin: 0;
	color: var(--daz-text-mute);
	font-size: .95rem;
	line-height: 1.7;
}

.daz-c-form__grid{
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 16px;
	position: relative;
}
.daz-c-field{ display: flex; flex-direction: column; gap: 6px; position: relative; }
.daz-c-field--full{ grid-column: 1 / -1; }

.daz-c-field__label{
	font-size: 12px;
	color: var(--daz-text-mute);
	letter-spacing: .04em;
	font-weight: 600;
	display: flex;
	align-items: center;
	gap: 6px;
}
.daz-c-field__label .daz-c-required{ color: var(--daz-spark-1); font-size: 13px; }

.daz-c-input,
.daz-c-textarea,
.daz-c-select{
	width: 100%;
	padding: 13px 16px;
	background: var(--daz-surface-2);
	border: 1px solid var(--daz-border);
	border-radius: 10px;
	color: var(--daz-text);
	font-family: inherit;
	font-size: .96rem;
	line-height: 1.5;
	transition: border-color .2s, background .2s, box-shadow .2s;
	outline: none;
}
.daz-c-textarea{ resize: vertical; min-height: 140px; }
.daz-c-input::placeholder,
.daz-c-textarea::placeholder{ color: var(--daz-text-dim); }
.daz-c-input:hover,
.daz-c-textarea:hover,
.daz-c-select:hover{ border-color: var(--daz-steel-line); }
.daz-c-input:focus,
.daz-c-textarea:focus,
.daz-c-select:focus{
	border-color: var(--daz-spark-1);
	background: var(--daz-surface);
	box-shadow: 0 0 0 4px rgba(255,107,26,.12);
}

/* LTR phone/email inputs */
.daz-c-input[type="tel"],
.daz-c-input[type="email"]{ direction: ltr; text-align: left; }
.daz-c-input[type="tel"]::placeholder,
.daz-c-input[type="email"]::placeholder{ text-align: left; }

/* Honeypot — hidden visually but in DOM */
.daz-c-honey{
	position: absolute !important;
	left: -9999px !important;
	width: 1px; height: 1px; overflow: hidden;
	opacity: 0; pointer-events: none;
}

/* Field error state */
.daz-c-field.has-error .daz-c-input,
.daz-c-field.has-error .daz-c-textarea{
	border-color: var(--daz-error);
	background: rgba(239,68,68,.04);
}
.daz-c-field__error{
	display: none;
	font-size: 12px;
	color: var(--daz-error);
	margin-top: 2px;
}
.daz-c-field.has-error .daz-c-field__error{ display: block; }

/* Submit row */
.daz-c-form__actions{
	display: flex;
	align-items: center;
	gap: 16px;
	margin-top: 20px;
	flex-wrap: wrap;
}
.daz-c-submit{
	display: inline-flex;
	align-items: center;
	gap: 10px;
	padding: 14px 28px;
	background: linear-gradient(135deg, var(--daz-spark-1), #e85a0c);
	color: #fff;
	border: 1.5px solid transparent;
	border-radius: 100px;
	font-weight: 700;
	font-size: .95rem;
	cursor: pointer;
	transition: transform .2s var(--daz-ease-out), box-shadow .25s;
	box-shadow: 0 10px 28px -10px var(--daz-spark-glow);
	min-width: 200px;
	justify-content: center;
}
.daz-c-submit:hover{ transform: translateY(-2px); box-shadow: 0 18px 38px -10px var(--daz-spark-glow); }
.daz-c-submit:disabled{ opacity: .65; cursor: progress; transform: none; }
.daz-c-submit svg{ flex-shrink: 0; }
.daz-c-submit__loader{
	width: 16px; height: 16px;
	border: 2px solid rgba(255,255,255,.35);
	border-top-color: #fff;
	border-radius: 50%;
	display: none;
	animation: dazSpin .8s linear infinite;
}
.daz-c-submit.is-loading .daz-c-submit__loader{ display: inline-block; }
.daz-c-submit.is-loading svg{ display: none; }
@keyframes dazSpin{ to{ transform: rotate(360deg); } }

.daz-c-privacy{
	font-size: 12px;
	color: var(--daz-text-dim);
	line-height: 1.6;
	flex: 1;
	min-width: 200px;
}

/* Form result banner */
.daz-c-result{
	display: none;
	margin-top: 18px;
	padding: 16px 18px;
	border-radius: 12px;
	font-size: .96rem;
	line-height: 1.7;
	border: 1px solid;
}
.daz-c-result.is-on{ display: block; animation: dazResultIn .4s var(--daz-ease-out); }
.daz-c-result--ok{
	background: rgba(16,185,129,.08);
	border-color: rgba(16,185,129,.32);
	color: #6ee7b7;
}
.daz-c-result--err{
	background: rgba(239,68,68,.06);
	border-color: rgba(239,68,68,.28);
	color: #fca5a5;
}
@keyframes dazResultIn{
	from{ opacity: 0; transform: translateY(8px); }
	to  { opacity: 1; transform: none; }
}

/* ═══════════════════════════════════════════════════════════════
   RESPONSIVE
   ═══════════════════════════════════════════════════════════════ */
@media (max-width: 960px){
	.daz-c-hero{ padding: 70px 0 50px; }
	.daz-c-main__grid{ grid-template-columns: 1fr; gap: 18px; }
	.daz-c-address__map{ height: 220px; }
	.daz-c-form{ padding: 26px 22px; }
	.daz-c-form__grid{ grid-template-columns: 1fr; }
}
@media (max-width: 540px){
	.daz-c-wrap{ padding: 0 18px; }
	.daz-c-hero__title{ font-size: 1.85rem; }
	.daz-c-channels{ padding: 30px 0 50px; }
	.daz-c-channel{ padding: 22px 20px; }
	.daz-c-channel__value{ font-size: 1.05rem; }
	.daz-c-form{ padding: 22px 18px; border-radius: 16px; }
	.daz-c-address{ border-radius: 16px; }
	.daz-c-submit{ width: 100%; }
	.daz-c-form__actions{ flex-direction: column-reverse; align-items: stretch; }
}
