:root{--accent:#ff4f87;--accent-2:#8b5cf6;--page-bg:#fff4f8;--ink:#24172d;--muted:#75687c;--card:rgba(255,255,255,.86);--shadow:0 28px 80px rgba(95,45,80,.18)}*{box-sizing:border-box}html{min-height:100%;scroll-behavior:smooth}body{margin:0;min-height:100vh;font-family:Tahoma,"Segoe UI",sans-serif;color:var(--ink);background:var(--page-bg)}button,input,textarea{font:inherit}.invite-page{display:grid;place-items:center;overflow-x:hidden;padding:32px 16px;position:relative;background:radial-gradient(circle at 10% 10%,color-mix(in srgb,var(--accent) 13%,transparent),transparent 34%),radial-gradient(circle at 90% 80%,color-mix(in srgb,var(--accent-2) 15%,transparent),transparent 34%),var(--page-bg)}.ambient{position:fixed;inset:0;pointer-events:none;overflow:hidden}.orb{position:absolute;border-radius:999px;filter:blur(1px);opacity:.24;animation:float 8s ease-in-out infinite}.orb-one{width:340px;height:340px;background:var(--accent);top:-120px;right:-100px}.orb-two{width:280px;height:280px;background:var(--accent-2);bottom:-100px;left:-70px;animation-delay:-2s}.orb-three{width:130px;height:130px;background:#fff;top:35%;left:10%;animation-delay:-5s}.floating-heart{position:absolute;color:var(--accent);opacity:.18;font-size:32px;animation:heartFloat 9s linear infinite}.h1{right:8%;bottom:-50px}.h2{left:12%;bottom:-80px;animation-delay:-3s;font-size:22px}.h3{left:44%;bottom:-60px;animation-delay:-6s;font-size:18px}.invite-shell{width:min(100%,680px);position:relative;z-index:1}.invite-card{min-height:610px;border:1px solid rgba(255,255,255,.8);border-radius:36px;padding:30px 34px;background:var(--card);backdrop-filter:blur(20px);box-shadow:var(--shadow);position:relative;overflow:hidden}.progress{display:flex;gap:8px;justify-content:center;margin-bottom:28px}.progress-dot{width:9px;height:9px;border-radius:999px;background:#e9dfe8;transition:.35s}.progress-dot.active{width:28px;background:linear-gradient(90deg,var(--accent),var(--accent-2))}.step{display:none;text-align:center;animation:reveal .45s ease}.step.active{display:block}.hero-icon{width:92px;height:92px;display:grid;place-items:center;margin:12px auto 22px;border-radius:30px;font-size:46px;background:linear-gradient(145deg,#fff,color-mix(in srgb,var(--accent) 10%,#fff));box-shadow:0 16px 36px color-mix(in srgb,var(--accent) 16%,transparent);transform:rotate(-4deg)}.success-icon{animation:bounce 1.3s ease infinite}.eyebrow{margin:0 0 12px;color:var(--accent);font-size:14px;font-weight:800;letter-spacing:.01em}.step h1,.step h2{font-size:clamp(28px,5vw,44px);line-height:1.45;margin:0 auto 14px;max-width:590px}.lead{color:var(--muted);font-size:17px;line-height:1.9;margin:0 auto 28px;max-width:530px}.button-zone{min-height:150px;position:relative;display:flex;align-items:center;justify-content:center;gap:12px}.primary-btn,.ghost-btn{border:0;border-radius:18px;padding:15px 24px;cursor:pointer;font-weight:800;transition:.2s;min-width:160px}.primary-btn{color:#fff;background:linear-gradient(135deg,var(--accent),var(--accent-2));box-shadow:0 13px 30px color-mix(in srgb,var(--accent) 28%,transparent)}.primary-btn:hover{transform:translateY(-2px);box-shadow:0 17px 34px color-mix(in srgb,var(--accent) 34%,transparent)}.primary-btn:disabled{opacity:.65;cursor:wait}.ghost-btn{background:#fff;color:var(--muted);border:1px solid #eee4ed}.tiny-note{font-size:13px;color:#9b8e9f;min-height:22px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;text-align:right;margin:22px 0}.form-grid label,.full-field{display:grid;gap:9px;font-weight:700;color:#4d3e51}.form-grid input,.full-field textarea{width:100%;border:1px solid #eadde8;border-radius:16px;background:#fff;padding:15px;outline:0;color:var(--ink);transition:.2s}.form-grid input:focus,.full-field textarea:focus{border-color:var(--accent);box-shadow:0 0 0 4px color-mix(in srgb,var(--accent) 12%,transparent)}.full-field{text-align:right}.full-field textarea{resize:vertical;min-height:125px}.actions{margin-top:22px}.form-error{color:#c33;font-size:14px;min-height:22px}.choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:20px 0}.choice-card{display:flex;align-items:center;justify-content:space-between;gap:10px;text-align:right;border:1px solid #eee2eb;background:#fff;border-radius:18px;padding:17px 18px;cursor:pointer;color:var(--ink);transition:.2s}.choice-card b{font-size:12px;color:var(--accent);opacity:0}.choice-card:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--accent) 45%,#eee)}.choice-card.selected{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 8%,#fff);box-shadow:0 8px 24px color-mix(in srgb,var(--accent) 15%,transparent)}.choice-card.selected b{opacity:1}.summary-card{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;background:#fff;border:1px solid #f0e5ee;padding:12px;border-radius:22px;margin-top:24px}.summary-card div{display:grid;gap:8px;padding:12px}.summary-card span{font-size:12px;color:var(--muted)}.summary-card strong{font-size:15px}.signature{margin-top:24px;color:var(--accent);font-weight:800}.privacy-note{text-align:center;color:#8e7d91;font-size:12px;margin:15px 0}.simple-page{display:grid;place-items:center;padding:20px;background:#fff4f8}.simple-page main{text-align:center;background:#fff;padding:40px;border-radius:30px;box-shadow:var(--shadow);max-width:520px}.simple-page main>div{font-size:55px}.simple-page a{display:inline-block;margin-top:14px;padding:12px 18px;border-radius:14px;background:#ff4f87;color:#fff;text-decoration:none}@keyframes reveal{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}@keyframes float{50%{transform:translateY(20px) scale(1.04)}}@keyframes heartFloat{to{transform:translateY(-120vh) rotate(25deg)}}@keyframes bounce{50%{transform:translateY(-7px) rotate(4deg)}}@media(max-width:600px){.invite-page{padding:12px}.invite-card{min-height:620px;padding:22px 18px;border-radius:28px}.step h1,.step h2{font-size:28px}.lead{font-size:15px}.button-zone{min-height:180px;flex-direction:column}.form-grid,.choice-grid{grid-template-columns:1fr}.summary-card{grid-template-columns:1fr}.summary-card div{grid-template-columns:70px 1fr;align-items:center;text-align:right}.primary-btn,.ghost-btn{width:100%}}

/* v2.1: دکمه‌های تعاملی، تقویم شمسی و نمایش بهتر موبایل */
.button-zone{
  width:min(100%,540px);
  min-height:168px;
  margin-inline:auto;
  display:grid;
  grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);
  align-items:center;
  justify-content:center;
  gap:14px;
  padding:20px 8px;
  overflow:visible;
}
.button-zone .primary-btn,.button-zone .ghost-btn{
  width:100%;
  min-width:0;
  min-height:56px;
  white-space:normal;
  line-height:1.5;
  will-change:transform,opacity;
}
#yes-button{
  --yes-scale:1;
  position:relative;
  z-index:2;
  transform:scale(var(--yes-scale));
  transition:transform .32s cubic-bezier(.2,.9,.25,1.18),width .35s ease,min-height .35s ease,box-shadow .3s ease;
}
#yes-button:hover{transform:translateY(-2px) scale(var(--yes-scale))}
#no-button{
  --no-scale:1;
  position:relative;
  z-index:1;
  transform:scale(var(--no-scale));
  transition:transform .32s cubic-bezier(.2,.9,.25,1.18),opacity .3s ease,filter .3s ease;
}
#no-button:hover{border-color:color-mix(in srgb,var(--accent) 28%,#eee4ed)}
#no-button.is-gone{
  opacity:0;
  filter:blur(4px);
  transform:scale(0);
  pointer-events:none;
}
.button-zone.only-yes{grid-template-columns:1fr;padding-inline:28px}
#yes-button.is-dominant{
  width:100%;
  min-height:68px;
  transform:scale(1);
  font-size:18px;
  box-shadow:0 20px 44px color-mix(in srgb,var(--accent) 38%,transparent);
}
#yes-button.is-dominant:hover{transform:translateY(-2px) scale(1)}

.date-time-layout{
  display:grid;
  grid-template-columns:minmax(0,1.65fr) minmax(150px,.75fr);
  gap:14px;
  margin:24px 0 10px;
  text-align:right;
  align-items:start;
}
.persian-date-field,.time-field{
  display:grid;
  gap:9px;
  min-width:0;
  font-weight:700;
  color:#4d3e51;
}
.field-label{display:block}
.persian-date-picker{
  display:grid;
  grid-template-columns:1fr 1.35fr .85fr;
  gap:8px;
  direction:rtl;
}
.persian-date-picker label{
  display:grid;
  gap:6px;
  min-width:0;
  color:var(--muted);
  font-size:12px;
  font-weight:700;
}
.persian-date-picker select,.time-field input{
  width:100%;
  min-width:0;
  height:54px;
  border:1px solid #eadde8;
  border-radius:16px;
  background:#fff;
  padding:0 13px;
  outline:0;
  color:var(--ink);
  transition:border-color .2s,box-shadow .2s,transform .2s;
}
.persian-date-picker select:focus,.time-field input:focus{
  border-color:var(--accent);
  box-shadow:0 0 0 4px color-mix(in srgb,var(--accent) 12%,transparent);
}
.persian-date-picker select:disabled{opacity:.6;cursor:not-allowed}
.date-preview{
  min-height:46px;
  display:flex;
  align-items:center;
  margin:1px 0 0;
  padding:11px 14px;
  border:1px dashed #e6d7e3;
  border-radius:15px;
  background:rgba(255,255,255,.66);
  color:#978899;
  font-size:13px;
  line-height:1.7;
  transition:.25s;
}
.date-preview.has-value{
  border-style:solid;
  border-color:color-mix(in srgb,var(--accent) 35%,#eadde8);
  background:color-mix(in srgb,var(--accent) 7%,#fff);
  color:var(--ink);
  font-weight:800;
}
.summary-card strong{line-height:1.8;overflow-wrap:anywhere}

@media(max-width:600px){
  .invite-page{
    min-height:100svh;
    display:block;
    padding:max(10px,env(safe-area-inset-top)) 10px max(12px,env(safe-area-inset-bottom));
  }
  .invite-shell{width:100%;margin:0 auto}
  .invite-card{
    min-height:calc(100svh - 48px);
    padding:18px 15px 20px;
    border-radius:25px;
    display:flex;
    flex-direction:column;
    justify-content:flex-start;
  }
  .progress{margin-bottom:19px}
  .hero-icon{
    width:78px;
    height:78px;
    margin:5px auto 17px;
    border-radius:25px;
    font-size:39px;
  }
  .step h1,.step h2{font-size:clamp(25px,7.3vw,31px);line-height:1.5}
  .lead{font-size:14.5px;line-height:1.85;margin-bottom:19px}
  .button-zone{
    min-height:158px;
    grid-template-columns:minmax(0,1.18fr) minmax(0,.82fr);
    gap:9px;
    padding:18px 0;
  }
  .button-zone .primary-btn,.button-zone .ghost-btn{
    min-height:55px;
    padding:12px 10px;
    font-size:13px;
  }
  .button-zone.only-yes{grid-template-columns:1fr;padding:18px 6px}
  #yes-button.is-dominant{min-height:66px;font-size:16px}
  .tiny-note{line-height:1.75;margin:3px auto;max-width:95%}
  .date-time-layout{grid-template-columns:1fr;gap:13px;margin-top:18px}
  .persian-date-picker{grid-template-columns:1fr 1.25fr .8fr;gap:6px}
  .persian-date-picker select,.time-field input{height:52px;padding-inline:9px;border-radius:14px;font-size:13px}
  .date-preview{min-height:44px;font-size:12.5px;padding:10px 12px}
  .choice-grid{gap:9px;margin:15px 0}
  .choice-card{padding:15px;border-radius:16px}
  .actions{margin-top:15px}
  .actions .primary-btn{width:100%;min-height:54px}
  .summary-card{gap:4px;margin-top:18px;padding:9px;border-radius:19px}
  .summary-card div{grid-template-columns:62px minmax(0,1fr);gap:6px;padding:10px 7px}
  .summary-card strong{font-size:13px}
  .privacy-note{margin:10px 0 0;font-size:11px}
}

@media(max-width:365px){
  .invite-card{padding-inline:12px}
  .button-zone .primary-btn,.button-zone .ghost-btn{font-size:12px;padding-inline:7px}
  .persian-date-picker{grid-template-columns:1fr 1.2fr .75fr}
  .persian-date-picker select{font-size:12px;padding-inline:6px}
}

@media(prefers-reduced-motion:reduce){
  #yes-button,#no-button,.date-preview{transition-duration:.01ms}
}
#no-button.is-gone{position:absolute;inset-inline-end:8%;width:34%;}

/* v3.0: مسیر پیشنهاد آشنایی و رابطه */
.relationship-grid{grid-template-columns:1fr 1fr}
.relationship-grid .choice-card{min-height:66px}
.relationship-summary strong{font-size:13px;line-height:1.75}
.invite-card:has([data-step="5"].active){min-height:650px}
@media(max-width:600px){
  .relationship-grid{grid-template-columns:1fr;max-height:none}
  .relationship-grid .choice-card{min-height:57px;padding-block:13px}
  .invite-card:has([data-step="5"]){min-height:calc(100svh - 48px)}
  .relationship-summary div{grid-template-columns:78px minmax(0,1fr)}
}
