@font-face {
    font-family: "IRANSansWeb";
    src: url("/fonts/IRANSansWeb.ttf") format("truetype");
    font-weight: 100 900;
    font-style: normal;
    font-display: swap;
}

:root {
    --re-bg: #f3f1ec;
    --re-ink: #1c2421;
    --re-muted: #66726c;
    --re-line: #d9d4cb;
    --re-card: #fffdf8;
    --re-accent: #1f6f5b;
    --re-accent-soft: #d8ebe4;
    --re-warn: #b45309;
}

* { box-sizing: border-box; }
body {
    margin: 0;
    font-family: "IRANSansWeb", Tahoma, sans-serif;
    color: var(--re-ink);
    background:
        radial-gradient(ellipse at 10% 0%, #e7efe9 0%, transparent 45%),
        linear-gradient(180deg, #f7f5f0 0%, var(--re-bg) 40%);
    line-height: 1.7;
}
a { color: inherit; text-decoration: none; }
.re-preview-banner {
    background: #1c2421;
    color: #d8ebe4;
    text-align: center;
    font-size: 13px;
    padding: 8px;
}
.re-top {
    width: min(1120px, 92%);
    margin: 0 auto;
    padding: 22px 0 10px;
    display: flex;
    justify-content: space-between;
    gap: 16px;
    align-items: flex-start;
}
.re-brand strong { display: block; font-size: 1.35rem; letter-spacing: -0.02em; }
.re-brand span { color: var(--re-muted); font-size: 0.9rem; }
.re-contact-mini {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 4px;
    font-size: 0.88rem;
    color: var(--re-accent);
    font-weight: 700;
}
.re-hero {
    width: min(1120px, 92%);
    margin: 8px auto 18px;
}
.re-hero h1 {
    margin: 0 0 6px;
    font-size: clamp(1.6rem, 3vw, 2.2rem);
    letter-spacing: -0.03em;
}
.re-hero p { margin: 0; color: var(--re-muted); }
.re-filters {
    width: min(1120px, 92%);
    margin: 0 auto 22px;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}
.re-chip {
    border: 1px solid var(--re-line);
    background: #fff;
    color: var(--re-muted);
    border-radius: 999px;
    padding: 7px 14px;
    font: inherit;
    font-size: 0.86rem;
    cursor: default;
}
.re-chip.is-active {
    background: var(--re-accent);
    border-color: var(--re-accent);
    color: #fff;
}
.re-grid {
    width: min(1120px, 92%);
    margin: 0 auto 40px;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
}
.re-card {
    background: var(--re-card);
    border: 1px solid var(--re-line);
    overflow: hidden;
    display: grid;
    grid-template-rows: 180px auto;
}
.re-card-media {
    position: relative;
    background: #dfe8e3;
}
.re-card-media img,
.re-card-placeholder {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
.re-badge,
.re-type {
    position: absolute;
    top: 12px;
    font-size: 0.75rem;
    font-weight: 700;
    padding: 4px 10px;
}
.re-badge {
    inset-inline-start: 12px;
    background: var(--re-warn);
    color: #fff;
}
.re-type {
    inset-inline-end: 12px;
    background: rgba(28, 36, 33, 0.82);
    color: #fff;
}
.re-card-body { padding: 16px 16px 18px; }
.re-card-body h2 {
    margin: 0 0 6px;
    font-size: 1.05rem;
    letter-spacing: -0.01em;
}
.re-price {
    margin: 0 0 10px;
    color: var(--re-accent);
    font-weight: 800;
    font-size: 1.02rem;
}
.re-meta {
    list-style: none;
    margin: 0 0 10px;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}
.re-meta li {
    background: var(--re-accent-soft);
    color: #24584b;
    font-size: 0.78rem;
    padding: 3px 8px;
}
.re-desc {
    margin: 0;
    color: var(--re-muted);
    font-size: 0.9rem;
}
.re-footer {
    border-top: 1px solid var(--re-line);
    padding: 24px 0 36px;
    text-align: center;
    color: var(--re-muted);
    font-size: 0.9rem;
}
@media (max-width: 760px) {
    .re-top { flex-direction: column; }
    .re-contact-mini { align-items: flex-start; }
    .re-grid { grid-template-columns: 1fr; }
}
