/* Site-wide storefront footer: umber night, logo gold and ivory, matching the homepage hero. */
@font-face { font-family: "ZPH Sans"; src: url("../fonts/woff2/IRANSansWeb(FaNum)_Light.woff2") format("woff2"); font-weight: 300; font-style: normal; font-display: swap; }
@font-face { font-family: "ZPH Sans"; src: url("../fonts/woff2/IRANSansWeb(FaNum).woff2") format("woff2"); font-weight: 400; font-style: normal; font-display: swap; }
@font-face { font-family: "ZPH Sans"; src: url("../fonts/woff2/IRANSansWeb(FaNum)_Medium.woff2") format("woff2"); font-weight: 500; font-style: normal; font-display: swap; }
@font-face { font-family: "ZPH Sans"; src: url("../fonts/woff2/IRANSansWeb(FaNum)_Bold.woff2") format("woff2"); font-weight: 700; font-style: normal; font-display: swap; }

.zph-footer {
	--zf-bg: #17110a;
	--zf-band: #201810;
	--zf-ink: #fbf5e9;
	--zf-muted: #c9bda7;
	--zf-soft: #9c8f7a;
	--zf-gold: #d8a51d;
	--zf-gold-pale: #f0d68c;
	--zf-line: #fbf5e91f;
	--zf-gutter: clamp(20px, 5vw, 80px);
	--zf-max: 1440px;
	position: relative;
	clear: both;
	background: var(--zf-bg);
	color: var(--zf-muted);
	font-family: "ZPH Sans", "ZPH Persian", iransans, Tahoma, sans-serif;
	font-size: 14px;
	font-weight: 400;
	line-height: 1.9;
	font-synthesis: none;
	text-align: start;
	-webkit-font-smoothing: antialiased;
}
/* Below the fold on almost every page: let the browser skip its layout and paint until it nears the viewport. */
.zph-footer { content-visibility: auto; contain-intrinsic-size: auto 920px; }
.zph-footer *, .zph-footer *::before, .zph-footer *::after { box-sizing: border-box; }
.zph-footer ul { margin: 0; padding: 0; list-style: none; }
.zph-footer li { margin: 0; }
.zph-footer p { margin: 0; }
.zph-footer a { color: inherit; text-decoration: none; transition: color .2s ease; }
.zph-footer a:hover { color: var(--zf-gold-pale); }
.zph-footer a:focus-visible, .zph-footer summary:focus-visible { outline: 2px solid var(--zf-gold-pale); outline-offset: 3px; border-radius: 4px; }
.zph-footer__icon { inline-size: 20px; block-size: 20px; flex: none; }
.zph-footer__inner { inline-size: 100%; max-inline-size: calc(var(--zf-max) + 2 * var(--zf-gutter)); margin-inline: auto; padding-inline: var(--zf-gutter); }

/* ---------- service promises ---------- */
.zph-footer__services { background: var(--zf-band); border-block-end: 1px solid var(--zf-line); }
.zph-footer__service-list { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); }
.zph-footer__service { display: flex; align-items: center; gap: 14px; block-size: 100%; padding: 26px 20px; }
.zph-footer__service-list li + li .zph-footer__service { border-inline-start: 1px solid var(--zf-line); }
.zph-footer__service .zph-footer__icon { inline-size: 30px; block-size: 30px; color: var(--zf-gold); stroke-width: 1.3; }
.zph-footer__service span { display: grid; gap: 2px; min-inline-size: 0; }
.zph-footer__service strong { color: var(--zf-ink); font-size: 15px; font-weight: 700; line-height: 1.6; }
.zph-footer__service small { color: var(--zf-soft); font-size: 13px; line-height: 1.7; }
.zph-footer__service:hover strong { color: var(--zf-gold-pale); }

/* ---------- main columns ---------- */
.zph-footer__main { padding-block: clamp(44px, 5vw, 72px); }
.zph-footer__grid {
	display: grid;
	grid-template-columns: minmax(0, 1.5fr) repeat(3, minmax(0, 1fr)) minmax(0, 1.25fr);
	gap: clamp(28px, 3.5vw, 56px);
	align-items: start;
}
.zph-footer__logo { display: inline-block; margin-block-end: 20px; }
.zph-footer__logo img { display: block; inline-size: 168px; max-inline-size: 100%; block-size: auto; }
.zph-footer__about { max-inline-size: 34em; color: var(--zf-muted); font-size: 14px; line-height: 2.1; text-align: justify; text-justify: inter-word; }
.zph-footer__social { display: flex; flex-wrap: wrap; gap: 10px; margin-block-start: 24px; }
.zph-footer__social a {
	display: grid; place-items: center; inline-size: 42px; block-size: 42px;
	border: 1px solid var(--zf-line); border-radius: 50%; color: var(--zf-ink);
	transition: color .2s ease, background-color .2s ease, border-color .2s ease;
}
.zph-footer__social a:hover { border-color: var(--zf-gold); background: var(--zf-gold); color: var(--zf-bg); }

.zph-footer .zph-footer__title {
	position: relative;
	margin: 0 0 18px;
	padding-block-end: 12px;
	color: var(--zf-ink);
	font-family: inherit;
	font-size: 15px;
	font-weight: 700;
	line-height: 1.6;
	letter-spacing: 0;
	text-transform: none;
}
.zph-footer .zph-footer__title::after { content: ""; position: absolute; inset-inline-start: 0; inset-block-end: 0; inline-size: 28px; block-size: 2px; border-radius: 2px; background: var(--zf-gold); }
.zph-footer__fold > summary { display: flex; align-items: center; justify-content: space-between; list-style: none; cursor: default; pointer-events: none; }
.zph-footer__fold > summary::-webkit-details-marker { display: none; }
.zph-footer__fold > summary .zph-footer__icon { display: none; }
.zph-footer__links { display: grid; gap: 10px; }
.zph-footer__links a { display: inline-block; font-size: 14px; line-height: 1.8; }
.zph-footer__links a:hover { transform: translateX(-3px); }
@media (prefers-reduced-motion: no-preference) { .zph-footer__links a { transition: color .2s ease, transform .2s ease; } }

.zph-footer__phones { display: grid; gap: 14px; }
.zph-footer__phones li { display: grid; gap: 2px; }
.zph-footer__phones span { color: var(--zf-soft); font-size: 13px; line-height: 1.6; }
.zph-footer__phones a { display: inline-flex; align-items: center; gap: 8px; justify-self: start; color: var(--zf-ink); font-size: 16px; font-weight: 500; line-height: 1.6; unicode-bidi: isolate; }
.zph-footer__phones a .zph-footer__icon { inline-size: 16px; block-size: 16px; color: var(--zf-gold); }
.zph-footer__city { display: flex; align-items: center; gap: 8px; margin-block-start: 18px; color: var(--zf-muted); }
.zph-footer__city .zph-footer__icon { inline-size: 18px; block-size: 18px; color: var(--zf-gold); }

/* ---------- legal bar ---------- */
.zph-footer__bottom { border-block-start: 1px solid var(--zf-line); }
.zph-footer__bar { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 28px; padding-block: 20px; color: var(--zf-soft); font-size: 13px; }
.zph-footer__copyright { margin-inline-end: auto; }
.zph-footer__copyright a { color: var(--zf-muted); }
.zph-footer__legal { display: flex; gap: 20px; }
.zph-footer__trust { display: block; padding: 6px; border-radius: 10px; background: #fff; line-height: 0; }
.zph-footer__trust img { inline-size: 64px; block-size: auto; }

/* ---------- tablet ---------- */
@media (max-width: 1024px) {
	.zph-footer__service-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.zph-footer__service-list li:nth-child(odd) .zph-footer__service { border-inline-start: 0; }
	.zph-footer__service-list li:nth-child(n + 3) .zph-footer__service { border-block-start: 1px solid var(--zf-line); }
	.zph-footer__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.zph-footer__brand { grid-column: 1 / -1; display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 4px 40px; align-items: start; }
	.zph-footer__brand .zph-footer__logo { grid-row: span 2; }
	.zph-footer__brand .zph-footer__social { margin-block-start: 16px; }
	.zph-footer__contact { grid-column: 1 / -1; }
	.zph-footer__phones { grid-template-columns: repeat(3, minmax(0, max-content)); gap: 14px 48px; }
}

/* ---------- phone: link columns fold into an accordion ---------- */
@media (max-width: 767px) {
	.zph-footer__service { gap: 10px; padding: 18px 12px; }
	.zph-footer__service .zph-footer__icon { inline-size: 24px; block-size: 24px; }
	.zph-footer__service strong { font-size: 13.5px; }
	.zph-footer__service small { display: none; }
	.zph-footer__main { padding-block: 36px 8px; }
	.zph-footer__grid { grid-template-columns: minmax(0, 1fr); gap: 0; }
	.zph-footer__brand { display: block; padding-block-end: 28px; text-align: center; }
	.zph-footer__logo img { inline-size: 148px; margin-inline: auto; }
	.zph-footer__about { margin-inline: auto; text-align: center; }
	.zph-footer__social { justify-content: center; }
	.zph-footer__nav { border-block-start: 1px solid var(--zf-line); }
	.zph-footer__fold > summary { min-block-size: 56px; cursor: pointer; pointer-events: auto; }
	.zph-footer__fold > summary .zph-footer__icon { display: block; color: var(--zf-gold); transition: transform .25s ease; }
	.zph-footer__fold[open] > summary .zph-footer__icon { transform: rotate(180deg); }
	.zph-footer__nav .zph-footer__title { margin: 0; padding: 0; }
	.zph-footer__nav .zph-footer__title::after { display: none; }
	.zph-footer__links { gap: 4px; padding-block-end: 18px; }
	.zph-footer__links a { padding-block: 6px; font-size: 14.5px; }
	.zph-footer__contact { padding-block: 24px 28px; border-block-start: 1px solid var(--zf-line); }
	.zph-footer__phones { grid-template-columns: minmax(0, 1fr); }
	.zph-footer__phones li { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
	.zph-footer__bar { flex-direction: column; justify-content: center; padding-block: 22px; text-align: center; }
	.zph-footer__copyright { margin-inline-end: 0; }
}

/* Floating WhatsApp/install widgets must not cover the legal bar on phones. */
@media (max-width: 767px) { .zph-footer__bottom { padding-block-end: 72px; } }
