/* Подарок от Мастера Ли: плавающая кнопка, окно и лист для печати */
.gift-float{position:fixed;z-index:70;display:grid;justify-items:center;gap:2px;width:68px;padding:8px 4px 6px;border:1px solid rgba(255,210,120,.7);border-radius:20px;background:linear-gradient(160deg,rgba(150,20,32,.96),rgba(70,8,16,.96));box-shadow:0 12px 34px -8px rgba(224,33,47,.8),0 0 0 1px rgba(0,0,0,.4);color:#ffe8bb;cursor:pointer;animation:giftBob 3.4s ease-in-out infinite;right:max(16px,env(safe-area-inset-right));bottom:max(22px,calc(env(safe-area-inset-bottom) + 14px))}
.page-home .gift-float{right:auto;bottom:auto;left:max(14px,env(safe-area-inset-left));top:max(14px,env(safe-area-inset-top))}
.gift-float::before{content:"";position:absolute;inset:-6px;border-radius:24px;border:2px solid rgba(255,200,110,.55);animation:giftRing 2.6s ease-out infinite;pointer-events:none}
.gift-float svg{width:38px;height:38px;overflow:visible}
.gift-float__lid{transform-box:fill-box;transform-origin:20% 100%;animation:giftLid 3.4s ease-in-out infinite}
.gift-float__label{font-size:11px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;line-height:1.2}
.gift-float:hover{filter:brightness(1.12)}
.gift-float:focus-visible{outline:2px solid #ffd98a;outline-offset:4px}
@keyframes giftBob{0%,100%{transform:translateY(0) rotate(-2deg)}50%{transform:translateY(-8px) rotate(2deg)}}
@keyframes giftRing{0%{opacity:.9;transform:scale(.92)}100%{opacity:0;transform:scale(1.25)}}
@keyframes giftLid{0%,60%,100%{transform:rotate(0)}70%{transform:rotate(-14deg) translateY(-2px)}80%{transform:rotate(4deg)}}
@media(max-width:960px){.gift-float{bottom:calc(94px + env(safe-area-inset-bottom))}.page-home .gift-float{bottom:auto}}
.gift-modal[hidden]{display:none}
.gift-modal{position:fixed;inset:0;z-index:150;display:grid;place-items:center;padding:16px}
.gift-modal__back{position:absolute;inset:0;background:rgba(5,4,3,.84);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);animation:gfade .3s}
.gift-card{position:relative;width:min(500px,100%);max-height:calc(100svh - 32px);overflow:auto;padding:40px 28px 28px;text-align:center;border:1px solid #c99a58;border-radius:24px;background:radial-gradient(ellipse at 50% 0,#5a1a20,#18100e 66%);box-shadow:0 30px 100px #000,0 0 80px -20px rgba(224,33,47,.6);animation:gpop .55s cubic-bezier(.2,.8,.2,1);display:grid;gap:12px;justify-items:center}
.gift-card::before{content:"";position:absolute;inset:9px;border:1px solid rgba(201,154,88,.4);border-radius:17px;pointer-events:none}
.gift-card__close{position:absolute;right:12px;top:12px;width:48px;height:48px;border-radius:50%;display:grid;place-items:center;font-size:30px;line-height:1;color:#f4d7a8;border:1px solid rgba(201,154,88,.45);background:rgba(11,10,9,.5);cursor:pointer;z-index:2}
.gift-card__close:hover{border-color:#e0212f;color:#fff}
.gift-card__orn{color:#d9b36c;letter-spacing:.36em;font-size:13px}
.gift-card__art{width:92px;height:92px;filter:drop-shadow(0 8px 24px rgba(255,190,90,.35))}
.gift-card__eyebrow{font-size:12px;letter-spacing:.24em;color:#d9b36c;font-weight:800;text-transform:uppercase}
.gift-card h2{font-size:clamp(26px,5vw,34px);line-height:1.1;font-weight:800;color:#fff2d8}
.gift-card__sum{font-size:clamp(46px,11vw,64px);line-height:1;font-weight:800;color:#ffd98a;text-shadow:0 0 30px rgba(255,190,90,.4)}
.gift-card__sub{font-size:18px;color:#f1e3c8}
.gift-card small{display:block;font-size:14px;line-height:1.5;color:#b9ac93;max-width:36ch}
.gift-card__act{display:grid;gap:10px;width:100%;margin-top:8px}
.gift-card__act>*{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:0 20px;border-radius:99px;font-weight:800;font-size:14px;letter-spacing:.08em;text-transform:uppercase;border:1.5px solid rgba(246,234,210,.28);color:#f6ead2;background:rgba(11,10,9,.5);cursor:pointer;font-family:inherit;text-decoration:none}
.gift-card__act .is-red{background:linear-gradient(180deg,#ee2f3d,#b3121e);border-color:transparent;color:#fff}
.gift-card__act>*:hover{border-color:#d9b36c}.gift-card__act .is-red:hover{filter:brightness(1.1)}
.gift-card__act .ic{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.gift-toast{position:fixed;left:50%;bottom:calc(30px + env(safe-area-inset-bottom));transform:translate(-50%,20px);z-index:300;padding:12px 20px;border-radius:99px;background:#1b1410;border:1px solid #d9b36c;color:#f6ead2;opacity:0;pointer-events:none;transition:.3s;font-size:15px}.gift-toast.on{opacity:1;transform:translate(-50%,0)}
@keyframes gfade{from{opacity:0}}@keyframes gpop{from{opacity:0;transform:translateY(26px) scale(.94)}}
body.lock{overflow:hidden}
.gift-print{display:none}
@media print{
  body>*:not(.gift-print){display:none!important}
  body{background:#fff!important;color:#111!important;padding:0!important;overflow:visible!important}
  .gift-print{display:block!important;font-family:Inter,Arial,sans-serif;color:#111;padding:18mm 16mm;text-align:center}
  .gift-print .gp-frame{border:2.5pt solid #a5101c;border-radius:10pt;padding:16mm 12mm;position:relative}
  .gift-print .gp-frame::before{content:"";position:absolute;inset:3mm;border:.8pt solid #b8924d;border-radius:7pt}
  .gift-print .gp-brand{font-size:22pt;font-weight:800;letter-spacing:.2em;text-transform:uppercase;color:#a5101c}
  .gift-print .gp-eye{font-size:10pt;letter-spacing:.3em;color:#7a5a24;margin:6mm 0 2mm}
  .gift-print h1{font-size:30pt;margin:0 0 4mm;color:#111}
  .gift-print .gp-sum{font-size:54pt;font-weight:800;color:#a5101c;line-height:1.1}
  .gift-print p{font-size:13pt;margin:3mm 0}
  .gift-print .gp-small{font-size:10pt;color:#444;max-width:120mm;margin:6mm auto 0}
  .gift-print .gp-contact{margin-top:10mm;font-size:12pt;border-top:.8pt solid #b8924d;padding-top:5mm}
  @page{size:A5 landscape;margin:8mm}
}
@media(prefers-reduced-motion:reduce){.gift-float,.gift-float::before,.gift-float__lid{animation:none}}
