/* ===== LoveDate — тема «бумажное письмо» (подключается последней, переопределяет остальное) ===== */
@font-face{font-family:"Playfair Display";font-style:normal;font-weight:400 900;font-display:swap;src:url(f-pf-cyr.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:"Playfair Display";font-style:normal;font-weight:400 900;font-display:swap;src:url(f-pf-lat.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AB,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Playfair Display";font-style:italic;font-weight:400 900;font-display:swap;src:url(f-pf-cyr-i.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:"Playfair Display";font-style:italic;font-weight:400 900;font-display:swap;src:url(f-pf-lat-i.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AB,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Onest";font-style:normal;font-weight:100 900;font-display:swap;src:url(f-onest-cyr.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:"Onest";font-style:normal;font-weight:100 900;font-display:swap;src:url(f-onest-lat.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AB,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}

:root{
  --bg:#f6efe5; --card:#fffcf7; --ink:#241420; --muted:#7b6a67; --line:#e3d6c5;
  --accent:#c8374b; --accent2:#e0705a; --pink:#c8374b; --blue:#2f5d8a; --gold:#c9993f; --dk:#8f2535;
  --shadow:0 18px 40px rgba(36,20,32,.10);
  --serif:"Playfair Display",Georgia,"Times New Roman",serif; --sans:"Onest",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
}
@media(prefers-color-scheme:dark){
  :root{--bg:#171019; --card:#211723; --ink:#f5ebe4; --muted:#b9a5b0; --line:#3b2b3b; --shadow:0 18px 40px rgba(0,0,0,.4)}
}
body{font-family:var(--sans);background:var(--bg);background-image:radial-gradient(900px 420px at 85% -80px,rgba(200,55,75,.10),transparent 70%),radial-gradient(700px 380px at -10% 10%,rgba(201,153,63,.12),transparent 70%);background-repeat:no-repeat;line-height:1.55}
.wrap{max-width:1080px}

/* --- шапка --- */
header.top{padding:22px 0}
.logo{font-family:var(--serif);font-weight:700;font-size:26px;color:var(--ink);letter-spacing:-.01em}
.logo i{font-style:italic;color:var(--accent);font-weight:600}
.langs{background:transparent;border:1px solid var(--line);border-radius:12px;padding:3px;gap:2px}
.langs button{border-radius:9px;font-weight:600;font-size:12px;letter-spacing:.08em;padding:6px 11px}
.langs button.on{background:var(--ink);color:var(--bg)}

/* --- кнопки --- */
.btn{font-family:var(--sans);font-weight:600;letter-spacing:.01em;background:var(--accent);color:#fff;border-radius:14px;box-shadow:0 4px 0 var(--dk);transition:transform .12s,box-shadow .12s}
.btn:hover{transform:translateY(2px);box-shadow:0 2px 0 var(--dk)}
.btn:active{transform:translateY(4px);box-shadow:0 0 0 var(--dk)}
.btn.ghost{background:transparent;color:var(--ink);border:1.5px solid var(--ink);box-shadow:none}
.btn.ghost:hover{background:var(--ink);color:var(--bg);transform:none}
.btn.small{padding:9px 16px;font-size:14px;border-radius:12px;box-shadow:0 3px 0 var(--dk)}
.btn.small.ghost{box-shadow:none}
.navbar .btn[disabled]{box-shadow:none}

/* --- главная --- */
.hero2{grid-template-columns:1fr minmax(260px,340px);gap:64px;padding:28px 0 56px}
.hero2 .phone{order:2}.hero2 .heroText{order:1;text-align:left}
.heroText h1{font-family:var(--serif);font-weight:700;font-size:clamp(42px,6.4vw,78px);line-height:1.0;letter-spacing:-.025em;margin:0 0 6px}
.heroText h1 .pink{font-style:italic;font-weight:600;color:var(--accent)}
.heroText p{margin:20px 0 26px;max-width:470px;font-size:18px}
.pills{justify-content:flex-start;display:inline-flex;border:1.5px solid var(--ink);border-radius:14px;padding:4px;gap:4px;margin-bottom:4px}
.pill{font-family:var(--sans);font-weight:600;font-size:14px;border-radius:10px;padding:9px 20px;background:transparent;color:var(--ink)}
.pill.her,.pill.him{background:transparent;color:var(--ink)}
.pill.her.on,.pill.him.on{background:var(--ink);color:var(--bg)}
.heroText .btn{font-family:var(--sans);font-size:16px;padding:16px 32px}
.chips{justify-content:flex-start;gap:6px 22px;margin-top:26px}
.chips span{background:none;border:0;padding:0;font-size:13px;color:var(--muted)}
.chips span::before{content:"✓";color:var(--accent);font-weight:800;margin-right:7px}
.flower{display:none}
@media(max-width:820px){.hero2{grid-template-columns:1fr;gap:34px}.hero2 .phone{order:2}.hero2 .heroText{order:1}}

/* --- «телефон» --- */
.phone{border:9px solid #1b1119;border-radius:40px;background:linear-gradient(180deg,var(--card),var(--bg));padding:20px 12px 16px;box-shadow:var(--shadow),0 0 0 1px rgba(255,255,255,.06);position:relative}
.phone::before{content:"";position:absolute;top:8px;left:50%;transform:translateX(-50%);width:62px;height:6px;border-radius:6px;background:#1b1119;z-index:3}
@media(prefers-color-scheme:dark){.phone{border-color:#0c070d}.phone::before{background:#0c070d}}

/* --- «Как это работает» --- */
h2{font-family:var(--serif);font-weight:700;font-size:clamp(30px,4vw,42px);letter-spacing:-.02em;margin:60px 0 26px;text-align:left}
.hw{grid-template-columns:repeat(3,1fr);gap:28px;max-width:none}
.hw-card{display:flex;flex-direction:column;gap:14px;align-items:flex-start;background:none;border:0;border-top:1.5px solid var(--ink);border-radius:0;box-shadow:none;padding:18px 0 0}
.hw-card>div:last-child{order:1}.hw-card .hw-vis{order:2;width:100%}
.hw-num{font-family:var(--serif);font-size:64px;line-height:1;background:none;color:transparent;-webkit-text-stroke:1.2px var(--accent);padding:0;border-radius:0;margin:0 0 8px;font-weight:700}
.hw-card h3{font-family:var(--serif);font-size:23px}
.hw-vis{height:150px;border-radius:14px;background:#efe4d2}
@media(prefers-color-scheme:dark){.hw-vis{background:#2a1d2c}}
.mock-form i{border:1px solid #dccdb6;border-radius:8px}
.mock-form b{background:var(--accent);border-radius:10px}
.mock-chat{border-radius:14px}
@media(max-width:820px){.hw{grid-template-columns:1fr;gap:34px}}
.cta-bottom{text-align:left;margin:46px 0 12px}
.fl{background:#241420;margin:56px -16px 0;padding:26px 16px}
.fl a{color:#f3e6dc;font-weight:500}
@media(prefers-color-scheme:dark){.fl{background:#0f0a11}.fl a{color:#e8d9d2}}
footer{padding:26px 0 34px}

/* --- мастер --- */
.prog{height:3px;max-width:none;margin:38px 0 40px;background:var(--line);border-radius:3px;overflow:visible}
.prog i{background:var(--accent);border-radius:3px}
.prog b{font-size:0;top:-5px;width:13px;height:13px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 4px var(--bg)}
.prog::after{content:attr(data-s);position:absolute;right:0;top:-26px;font-size:12px;letter-spacing:.16em;color:var(--muted);font-weight:600}
.wq{font-family:var(--serif);font-weight:700;font-size:clamp(28px,4.2vw,42px);letter-spacing:-.02em;line-height:1.08}
.wiz-grid{grid-template-columns:minmax(260px,330px) 1fr;gap:48px}
@media(max-width:820px){.wiz-grid{grid-template-columns:minmax(0,1fr);gap:24px}.wiz-grid>*{min-width:0}}
.pv-hint{color:var(--muted);font-size:12px;letter-spacing:.04em}
.choices{gap:14px}
.choice{position:relative;border:1.5px solid var(--line);border-radius:18px;font-family:var(--sans);font-weight:600;background:var(--card);padding:24px 14px}
.choice:hover{border-color:var(--ink)}
.choice.on{border-color:var(--ink);background:var(--card);box-shadow:5px 5px 0 var(--accent)}
.choice.on::after{content:"✓";position:absolute;top:10px;right:12px;width:22px;height:22px;border-radius:50%;background:var(--accent);color:#fff;font-size:12px;display:grid;place-items:center}
.choice .ico{border-radius:12px;background:var(--bg)}
.choice.on .ico{background:#f4d9d6}
.navbar{border:0;border-top:1px solid var(--line);background:none;border-radius:0;padding:20px 0 0;margin-top:28px}
.navbar .back{font-family:var(--sans);font-weight:600;color:var(--muted)}
.tabs{justify-content:flex-start;gap:24px;border-bottom:1px solid var(--line);margin-bottom:22px}
.tab{background:none;border-radius:0;padding:10px 2px;margin-bottom:-1px;border-bottom:2.5px solid transparent;color:var(--muted);font-family:var(--sans);font-weight:600}
.tab.on{background:none;color:var(--ink);border-bottom-color:var(--accent)}
.sec{border:1px solid var(--line);border-radius:18px;background:var(--card);margin-bottom:20px}
.sec-h{background:none;color:var(--ink);padding:20px 24px 0;font-family:var(--serif);font-size:21px;font-weight:700;align-items:baseline}
.sec-h span:last-child{font-family:var(--sans);font-size:11px;letter-spacing:.16em;color:var(--muted);font-weight:600}
.sec-b{padding:16px 24px 22px}
.pic{border-radius:16px;border:1.5px solid var(--line);background:var(--bg)}
.pic.on{border-color:var(--ink);box-shadow:4px 4px 0 var(--accent)}
.pic.more{font-family:var(--sans);font-weight:600}
.upl{border:1.5px dashed var(--line);background:var(--bg);color:var(--muted);border-radius:16px}
.opt{font-family:var(--sans);font-weight:600;border:1.5px solid var(--line);border-radius:12px}
.opt.on{border-color:var(--ink);background:var(--card);box-shadow:3px 3px 0 var(--accent)}
input[type=text],input[type=date],input[type=time],input[type=datetime-local],textarea{border-radius:12px;background:var(--bg);border:1.5px solid var(--line);font-family:var(--sans)}
input:focus,textarea:focus{outline:0;border-color:var(--ink);box-shadow:3px 3px 0 var(--accent)}
.panel{border-radius:18px;background:var(--card)}
.ben{border-radius:18px;background:var(--card)}
.ben div{color:var(--ink)}
.ben i{border-radius:12px;background:var(--bg)}
.bigprice{font-family:var(--serif);color:var(--accent)}
.linkbox{border:1.5px dashed var(--ink);border-radius:16px}
.addit{border:1.5px dashed var(--line);border-radius:14px}
.itm .del{border-radius:12px}

/* --- приглашение (то, что видит получатель) --- */
.iv{border-radius:26px;padding:14px;font-family:var(--sans)}
.iv-card{border-radius:20px;background:#fffcf7;padding:24px 18px 20px;box-shadow:0 10px 26px rgba(36,20,32,.18)}
.iv-from{font-size:11px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--accent);margin-bottom:8px}
.iv-title{font-family:var(--serif);font-weight:700;font-size:27px;line-height:1.12;color:#241420;letter-spacing:-.01em}
.iv-text{color:#6e5d5a}
.iv-box{background:#f6ede0;border-radius:10px;border-left:3px solid var(--gold);color:#3d2b33}
.iv-box b{color:#9a6f1f;letter-spacing:.12em}
.iv-yes,.iv-no{font-family:var(--sans);font-weight:600;font-size:16px;border-radius:14px;padding:14px}
.iv-yes{background:var(--accent);box-shadow:0 4px 0 var(--dk);color:#fff}
.iv-yes:active{transform:translateY(3px);box-shadow:0 1px 0 var(--dk)}
.iv-no{background:transparent;border:1.5px solid #c9b9ab;color:#6b5a56}
.iv-note{color:var(--accent)}
.iv-ok{font-family:var(--serif);color:#241420}
.iv-link{border:1.5px solid #e3d6c5;color:#4a343b;border-radius:11px;font-weight:600}
.iv-link.main{background:var(--accent);border-color:var(--accent);color:#fff}
.iv-sub{color:#7b6a67}
.iv-voice .vp,.iv-voice .vbar i{background:var(--accent)}
.iv-voice{border-radius:16px}
.ch-item{border:1.5px solid #e3d6c5;border-radius:14px;font-family:var(--sans)}
.ch-item.on{border-color:#241420;background:#fffcf7;box-shadow:3px 3px 0 var(--accent);transform:none}
.iv-screen label{color:#9a6f1f;letter-spacing:.1em;text-transform:uppercase;font-size:11px}
.iv-screen input{border:1.5px solid #e3d6c5;border-radius:12px}
.gate-in{border-radius:14px;border-color:#e3d6c5}
.iv-layer.code,.iv-layer.time,.iv-layer.timer,.iv-layer.envelope{background:rgba(255,250,243,.97)}
.gate p{color:#4a343b}
.count{font-family:var(--serif);color:var(--accent)}
.invite-bg{background:var(--bg)}

/* --- юридические страницы --- */
.legal h1{font-family:var(--serif)}

/* --- правки --- */
.logo{gap:0}
.logo i{margin-left:1px}
.pills{margin-top:22px}
.fl{margin:56px 0 0;box-shadow:0 0 0 100vmax #241420;clip-path:inset(0 -100vmax)}
@media(prefers-color-scheme:dark){.fl{box-shadow:0 0 0 100vmax #0f0a11}}
