/* پایه‌ی مشترک نمونه‌سایت‌ها. هر نمونه رنگ‌ها را با --bg --ink --a ... تعیین می‌کند. */
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;font-family:Vazirmatn,system-ui,Tahoma,sans-serif;line-height:1.85;color:var(--ink,#111);background:var(--bg,#fff);overflow-x:hidden}
h1,h2,h3,h4,p,ul,figure{margin:0}ul{padding:0;list-style:none}
img,svg{max-width:100%}a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit;color:inherit}
button{cursor:pointer}
.wrap{max-width:1200px;margin:0 auto;padding:0 clamp(16px,4vw,32px)}
.row{display:flex;flex-wrap:wrap;gap:var(--g,20px)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;font-weight:700;font-size:15px;padding:13px 26px;border-radius:var(--r,12px);background:var(--a);color:var(--ac,#fff);transition:transform .2s,box-shadow .25s,filter .2s;line-height:1.5}
.btn:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(0,0,0,.18);filter:brightness(1.06)}
.btn:active{transform:none;box-shadow:none}
.btn.o{background:transparent;color:inherit;box-shadow:inset 0 0 0 1.5px currentColor}
.btn.o:hover{box-shadow:inset 0 0 0 1.5px currentColor,0 10px 24px rgba(0,0,0,.12)}
.ic{display:inline-flex;vertical-align:middle}.ic svg{width:1.15em;height:1.15em}
.pill{display:inline-block;padding:3px 12px;border-radius:999px;font-size:12px;font-weight:700}
.st{display:inline-flex;gap:2px;color:var(--star,#E0A21B)}.st svg{width:15px;height:15px}
.fld{display:block;width:100%;background:var(--fb,#fff);border:1.5px solid var(--fl,rgba(0,0,0,.12));border-radius:var(--fr,12px);padding:12px 16px;font-size:14px;outline:0;transition:border-color .2s,box-shadow .2s}
.fld:focus{border-color:var(--a);box-shadow:0 0 0 3px color-mix(in srgb,var(--a) 22%,transparent)}
select.fld{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23888' stroke-width='2.4'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:left 12px center;background-size:16px;padding-left:36px}
/* جای تصویر */
.ph{position:relative;overflow:hidden;background:var(--g1,linear-gradient(135deg,#cbd5e1,#94a3b8));background-size:cover;background-position:center;display:flex;align-items:center;justify-content:center;color:rgba(255,255,255,.9)}
.ph .ph-i svg{width:44px;height:44px;opacity:.55}
.ph.has .ph-i{display:none}
.ph::after{content:"";position:absolute;inset:0;background:linear-gradient(120deg,transparent 30%,rgba(255,255,255,.18) 50%,transparent 70%);transform:translateX(120%);transition:transform .9s}
.ph:hover::after{transform:translateX(-120%)}
/* انیمیشن ظاهر شدن */
[data-r]{opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.7,.2,1);transition-delay:var(--d,0s)}
[data-r="l"]{transform:translateX(-30px)}[data-r="r"]{transform:translateX(30px)}[data-r="z"]{transform:scale(.94)}
[data-r].in{opacity:1;transform:none}
.cur{display:inline-block;width:2px;height:.9em;background:currentColor;margin-inline-start:3px;vertical-align:-.1em;animation:bl 1s steps(2) infinite}
@keyframes bl{50%{opacity:0}}
@keyframes fade{from{opacity:0;transform:translateY(8px)}}
@keyframes pop{from{opacity:0;transform:scale(.94)}}
@keyframes float{50%{transform:translateY(-10px)}}
@keyframes marq{to{transform:translateX(50%)}}
.fl{animation:float 5s ease-in-out infinite}
/* تب و فیلتر */
[data-panel]:not(.on){display:none!important}[data-panel].on{animation:fade .45s}
[data-f]{cursor:pointer}
[data-c]{transition:opacity .35s,transform .35s}
[data-c].hide{display:none}
/* آکاردئون */
.acc .it .a{display:grid;grid-template-rows:0fr;transition:grid-template-rows .35s ease}
.acc .it .a>div{overflow:hidden}
.acc .it.on .a{grid-template-rows:1fr}
.acc .q{width:100%;display:flex;justify-content:space-between;align-items:center;gap:12px;background:none;border:0;text-align:start;padding:0;font-weight:700}
.acc .q .ic{transition:transform .3s}.acc .it.on .q .ic{transform:rotate(45deg)}
/* مودال و پیام */
.modal{position:fixed;inset:0;background:rgba(10,10,20,.6);display:none;align-items:center;justify-content:center;padding:16px;z-index:80;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}
.modal.on{display:flex}
.modal .box{background:var(--card,#fff);color:var(--ink);border-radius:20px;padding:30px;max-width:520px;width:100%;position:relative;animation:pop .3s;max-height:90vh;overflow:auto}
.modal .mx{position:absolute;top:12px;left:12px;width:34px;height:34px;border-radius:50%;border:0;background:rgba(0,0,0,.07);display:flex;align-items:center;justify-content:center}
.toast{position:fixed;bottom:64px;left:50%;transform:translate(-50%,24px);background:#16161d;color:#fff;padding:12px 20px;border-radius:12px;font-size:14px;opacity:0;pointer-events:none;transition:.3s;z-index:95;max-width:92vw;text-align:center}
.toast.on{opacity:1;transform:translate(-50%,0)}
.gs-bar{position:fixed;bottom:14px;left:14px;z-index:70;background:rgba(20,20,28,.86);color:#fff;font-size:12px;padding:7px 14px;border-radius:999px;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
.gs-bar span{background:#fff;color:#111;border-radius:999px;padding:1px 8px;margin-inline-start:6px;font-weight:700}
.framed .gs-bar{display:none}
/* ناوبری موبایل */
.burger{display:none;width:42px;height:42px;border-radius:10px;border:0;background:rgba(127,127,127,.15);align-items:center;justify-content:center}
.sticky{position:sticky;top:0;z-index:40;transition:box-shadow .3s,background .3s}
.sticky.sc{box-shadow:0 6px 24px rgba(0,0,0,.12)}
@media(max-width:820px){
 .burger{display:inline-flex}
 [data-links]{display:none!important;position:absolute;top:100%;inset-inline:0;flex-direction:column;gap:0!important;background:var(--nb,#fff);color:var(--ink);padding:10px 20px 18px;box-shadow:0 20px 30px rgba(0,0,0,.14)}
 [data-links].on{display:flex!important}
 [data-links] a{padding:11px 0;border-bottom:1px solid rgba(127,127,127,.18)}
 .hide-m{display:none!important}
}
@media(prefers-reduced-motion:reduce){[data-r]{opacity:1;transform:none;transition:none}.fl,.cur{animation:none}html{scroll-behavior:auto}}
