/* =========================================================
   تهران فوری فوتی — Main Stylesheet
   پالت: Ivory / Charcoal / Deep Navy / Muted Gold
   ========================================================= */

:root{
	--tff-ivory:#faf7f2;
	--tff-ivory-2:#f3efe7;
	--tff-charcoal:#22262e;
	--tff-charcoal-soft:#4a5058;
	--tff-navy:#141a2b;
	--tff-navy-2:#1d2438;
	--tff-gold:#b08d4f;
	--tff-gold-soft:#cdb26b;
	--tff-line:#e4ddd0;
	--tff-red:#8c2f2f;
	--tff-radius:10px;
	--tff-max:1140px;
	--tff-max-narrow:760px;
	--tff-font: 'Vazirmatn', 'Tahoma', sans-serif;
}

*,*::before,*::after{ box-sizing:border-box; }

html{ scroll-behavior:smooth; }

body{
	margin:0;
	font-family:var(--tff-font);
	background:var(--tff-ivory);
	color:var(--tff-charcoal);
	line-height:1.85;
	font-size:17px;
	-webkit-font-smoothing:antialiased;
}

img{ max-width:100%; height:auto; display:block; }

a{ color:inherit; text-decoration:none; }

h1,h2,h3{
	font-weight:700;
	line-height:1.4;
	color:var(--tff-navy);
	margin:0 0 .6em;
}
h1{ font-size:clamp(1.7rem,4vw,2.5rem); }
h2{ font-size:clamp(1.3rem,3vw,1.7rem); }
h3{ font-size:1.1rem; }
p{ margin:0 0 1em; color:var(--tff-charcoal-soft); }

.tff-container{
	max-width:var(--tff-max);
	margin:0 auto;
	padding:0 20px;
}
.tff-section{ padding:56px 0; }
.tff-section-alt{ background:var(--tff-ivory-2); }
.tff-section-narrow{ max-width:var(--tff-max-narrow); margin:0 auto; }
.tff-mb{ margin-bottom:24px; }
.tff-mt{ margin-top:32px; }

.tff-skip-link{
	position:absolute; right:-9999px; top:auto;
	background:var(--tff-navy); color:#fff; padding:10px 16px; z-index:999;
}
.tff-skip-link:focus{ right:10px; top:10px; }

/* ---------- Buttons ---------- */
.tff-btn{
	display:inline-flex; align-items:center; justify-content:center; gap:8px;
	padding:14px 26px;
	border-radius:var(--tff-radius);
	font-weight:600;
	font-size:1rem;
	transition:background .2s ease, color .2s ease, border-color .2s ease, transform .15s ease;
	border:1.5px solid transparent;
	cursor:pointer;
}
.tff-btn:hover{ transform:translateY(-1px); }
.tff-btn-primary{ background:var(--tff-navy); color:#fff; }
.tff-btn-primary:hover{ background:var(--tff-navy-2); }
.tff-btn-outline{ background:transparent; border-color:var(--tff-line); color:var(--tff-navy); }
.tff-btn-outline:hover{ border-color:var(--tff-gold); color:var(--tff-gold-soft); }
.tff-btn-lg{ padding:16px 32px; font-size:1.05rem; }
.tff-btn-sm{ padding:9px 16px; font-size:.9rem; border-radius:8px; }

/* ---------- Header ---------- */
.tff-header{
	position:sticky; top:0; z-index:50;
	background:rgba(250,247,242,.92);
	backdrop-filter:saturate(140%) blur(6px);
	border-bottom:1px solid var(--tff-line);
}
.tff-header-inner{
	display:flex; align-items:center; justify-content:space-between;
	gap:20px; padding:14px 20px;
}
.tff-brand-link{ display:flex; align-items:center; gap:10px; }
.tff-brand-icon{ color:var(--tff-gold); display:inline-flex; }
.tff-brand-name{ font-weight:700; font-size:1.15rem; color:var(--tff-navy); }

.tff-primary-nav{ display:none; }
.tff-menu{ display:flex; gap:26px; list-style:none; margin:0; padding:0; }
.tff-menu a{ font-size:.95rem; color:var(--tff-charcoal-soft); }
.tff-menu a:hover{ color:var(--tff-navy); }

.tff-header-cta{ display:none; }
.tff-header-cta .tff-btn{ white-space:nowrap; }

.tff-menu-toggle{
	background:none; border:none; cursor:pointer; padding:8px;
	display:flex; flex-direction:column; gap:5px;
}
.tff-menu-toggle span{ width:22px; height:2px; background:var(--tff-navy); display:block; }

.tff-mobile-nav{ display:none; border-top:1px solid var(--tff-line); background:var(--tff-ivory); }
.tff-mobile-nav.is-open{ display:block; }
.tff-mobile-menu{ list-style:none; margin:0; padding:8px 20px 16px; display:flex; flex-direction:column; gap:4px; }
.tff-mobile-menu a{ display:block; padding:12px 4px; border-bottom:1px solid var(--tff-line); color:var(--tff-charcoal); }

@media (min-width:960px){
	.tff-primary-nav{ display:block; }
	.tff-header-cta{ display:block; }
	.tff-menu-toggle{ display:none; }
}

/* ---------- Breadcrumb ---------- */
.tff-breadcrumb{ padding:14px 0 0; }
.tff-breadcrumb ol{ list-style:none; display:flex; flex-wrap:wrap; gap:6px; margin:0; padding:0; font-size:.85rem; color:var(--tff-charcoal-soft); }
.tff-breadcrumb li:not(:last-child)::after{ content:'/'; margin-inline-start:6px; color:var(--tff-line); }
.tff-breadcrumb a{ color:var(--tff-charcoal-soft); }
.tff-breadcrumb a:hover{ color:var(--tff-gold-soft); }

/* ---------- Hero ---------- */
.tff-hero{
	position:relative;
	background:
		radial-gradient(60% 90% at 75% 20%, rgba(176,141,79,.18), transparent 60%),
		linear-gradient(180deg, var(--tff-navy) 0%, var(--tff-navy-2) 100%);
	color:#fff;
	overflow:hidden;
}
.tff-hero-media{
	position:absolute; inset:0;
	background:
		radial-gradient(circle at 82% 65%, rgba(205,178,107,.35) 0%, rgba(205,178,107,0) 40%),
		radial-gradient(circle at 20% 85%, rgba(205,178,107,.12) 0%, rgba(205,178,107,0) 45%);
	pointer-events:none;
}
.tff-hero-inner{
	position:relative; z-index:1;
	padding:88px 20px 74px;
	text-align:center;
	max-width:760px;
}
.tff-hero-title{ color:#fff; margin-bottom:.5em; }
.tff-hero-subtitle{ color:rgba(255,255,255,.78); font-size:1.05rem; max-width:600px; margin:0 auto 2em; }
.tff-hero-actions{ display:flex; flex-wrap:wrap; gap:14px; justify-content:center; margin-bottom:1.8em; }
.tff-hero .tff-btn-outline{ border-color:rgba(255,255,255,.35); color:#fff; }
.tff-hero .tff-btn-outline:hover{ border-color:var(--tff-gold-soft); color:var(--tff-gold-soft); }
.tff-hero-phone{
	display:inline-block; font-weight:700; font-size:1.3rem; letter-spacing:.02em;
	color:var(--tff-gold-soft); border-bottom:1px solid rgba(205,178,107,.4); padding-bottom:4px;
}

/* ---------- Trust grid ---------- */
.tff-trust{ padding:52px 0; }
.tff-trust-grid{ display:grid; grid-template-columns:repeat(2,1fr); gap:22px; }
.tff-trust-item{
	background:#fff; border:1px solid var(--tff-line); border-radius:var(--tff-radius);
	padding:24px 20px;
}
.tff-trust-icon{ font-size:1.5rem; display:block; margin-bottom:10px; }
.tff-trust-item h2{ font-size:1.05rem; margin-bottom:.4em; }
.tff-trust-item p{ font-size:.92rem; margin:0; }
@media (min-width:760px){
	.tff-trust-grid{ grid-template-columns:repeat(4,1fr); }
}

/* ---------- Timeline ---------- */
.tff-timeline{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:0; position:relative; }
.tff-timeline-item{
	display:flex; gap:18px; padding:20px 0; border-bottom:1px solid var(--tff-line);
}
.tff-timeline-item:last-child{ border-bottom:none; }
.tff-timeline-num{
	flex:0 0 auto; width:38px; height:38px; border-radius:50%;
	background:var(--tff-navy); color:var(--tff-gold-soft);
	display:flex; align-items:center; justify-content:center;
	font-weight:700; font-size:.95rem;
}
.tff-timeline-content h3,.tff-timeline-content h2{ margin-bottom:.25em; font-size:1.05rem; }
.tff-timeline-content p{ margin:0; font-size:.94rem; }

/* ---------- FAQ ---------- */
.tff-faq-list{ display:flex; flex-direction:column; gap:10px; }
.tff-faq-item{
	background:#fff; border:1px solid var(--tff-line); border-radius:var(--tff-radius);
	padding:6px 20px;
}
.tff-faq-item summary{
	cursor:pointer; font-weight:600; padding:14px 0; color:var(--tff-navy);
	list-style:none; display:flex; justify-content:space-between; align-items:center; gap:12px;
}
.tff-faq-item summary::-webkit-details-marker{ display:none; }
.tff-faq-item summary::after{ content:'+'; color:var(--tff-gold); font-size:1.3rem; flex:0 0 auto; }
.tff-faq-item[open] summary::after{ content:'–'; }
.tff-faq-answer{ padding:0 0 16px; font-size:.95rem; color:var(--tff-charcoal-soft); }
.tff-faq-more{ margin-top:16px; }

/* ---------- Contact CTA ---------- */
.tff-contact-cta{
	background:var(--tff-ivory-2); text-align:center; padding:60px 0 90px;
	border-top:1px solid var(--tff-line);
}
.tff-contact-cta-inner{ max-width:600px; margin:0 auto; }
.tff-contact-cta-phone{ display:block; margin:10px 0 24px; font-size:1.6rem; color:var(--tff-navy); border-color:var(--tff-line); }
.tff-contact-page-phone{ display:block; margin:20px 0; font-size:1.8rem; color:var(--tff-navy); border-color:var(--tff-line); }

/* ---------- Note ---------- */
.tff-note{
	background:var(--tff-ivory-2); border-inline-start:3px solid var(--tff-gold);
	padding:14px 18px; font-size:.9rem; border-radius:4px;
}

/* ---------- Post/page content ---------- */
.tff-page-title{ margin-bottom:.5em; }
.tff-post-content h2{ margin-top:1.4em; }
.tff-post-content ul,.tff-post-content ol{ padding-inline-start:1.4em; color:var(--tff-charcoal-soft); }
.tff-post-list{ display:grid; gap:24px; grid-template-columns:1fr; }
@media (min-width:760px){ .tff-post-list{ grid-template-columns:repeat(2,1fr); } }
.tff-post-card{ background:#fff; border:1px solid var(--tff-line); border-radius:var(--tff-radius); overflow:hidden; padding-bottom:18px; }
.tff-post-thumb img{ width:100%; }
.tff-post-card h2{ font-size:1.05rem; padding:0 18px; margin:14px 0 6px; }
.tff-post-card p{ padding:0 18px; font-size:.92rem; }
.tff-post-meta{ color:var(--tff-charcoal-soft); font-size:.85rem; }

/* ---------- Footer ---------- */
.tff-footer{ background:var(--tff-navy); color:rgba(255,255,255,.85); padding:56px 0 20px; margin-top:20px; }
.tff-footer-inner{ display:grid; gap:32px; grid-template-columns:1fr; }
@media (min-width:760px){ .tff-footer-inner{ grid-template-columns:2fr 1fr 1fr; } }
.tff-footer-brand{ font-weight:700; font-size:1.1rem; color:#fff; margin-bottom:.5em; }
.tff-footer-desc{ color:rgba(255,255,255,.65); font-size:.9rem; }
.tff-footer-phone{ color:var(--tff-gold-soft); font-weight:700; }
.tff-footer-heading{ color:#fff; font-size:.95rem; margin-bottom:.9em; }
.tff-footer-menu,.tff-footer-legal{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:9px; }
.tff-footer-menu a,.tff-footer-legal a{ color:rgba(255,255,255,.65); font-size:.9rem; }
.tff-footer-menu a:hover,.tff-footer-legal a:hover{ color:var(--tff-gold-soft); }
.tff-footer-bottom{ border-top:1px solid rgba(255,255,255,.1); margin-top:36px; padding-top:20px; font-size:.8rem; color:rgba(255,255,255,.5); }

/* ---------- Mobile sticky call bar ---------- */
.tff-mobile-bar{
	position:fixed; inset-inline:0; bottom:0; z-index:60;
	display:flex; align-items:stretch;
	background:var(--tff-navy);
	box-shadow:0 -4px 18px rgba(0,0,0,.18);
	padding-bottom:env(safe-area-inset-bottom);
}
.tff-mobile-bar-call{
	flex:1; display:flex; align-items:center; justify-content:center; gap:8px;
	color:#fff; font-weight:700; padding:15px 10px; font-size:.98rem;
}
.tff-mobile-bar-whatsapp{
	flex:0 0 60px; display:flex; align-items:center; justify-content:center;
	background:rgba(255,255,255,.08); font-size:1.3rem;
}
body{ padding-bottom:64px; }
@media (min-width:960px){
	.tff-mobile-bar{ display:none; }
	body{ padding-bottom:0; }
}

/* ---------- Search / 404 ---------- */
.tff-search-form{ display:flex; gap:8px; }
.tff-search-form input{ flex:1; padding:10px 14px; border:1px solid var(--tff-line); border-radius:8px; }
.tff-search-form button{ padding:10px 16px; border:none; border-radius:8px; background:var(--tff-navy); color:#fff; cursor:pointer; }

/* ---------- Accessibility ---------- */
a:focus-visible,button:focus-visible,summary:focus-visible{
	outline:2px solid var(--tff-gold); outline-offset:2px;
}
.screen-reader-text{
	position:absolute !important; height:1px; width:1px; overflow:hidden; clip:rect(1px,1px,1px,1px);
}
