/* «Неделя магии» 26.10–1.11.2026 — приглашение совиной почтой */
dialog.mg{position:fixed;inset:0;width:min(1080px,calc(100% - 48px));height:min(880px,calc(100dvh - 48px));max-width:none;max-height:none;margin:auto;padding:0;border:0;border-radius:28px;overflow:hidden!important;background:radial-gradient(120% 90% at 50% 20%,#1c3557 0%,#0c1a2e 55%,#070f1c 100%);color:#f6ead2;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain}
dialog.mg[open]{display:block;animation:mg-fade .6s ease both}
dialog.mg::backdrop{background:rgba(7,15,28,.62);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
@keyframes mg-fade{from{opacity:0}}
.mg-sky{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:0}
.mg-stage{position:absolute;inset:0;pointer-events:none;z-index:2;overflow:hidden}
.mg-stage img{position:absolute;left:0;top:0;will-change:transform,opacity}
.mg-close{position:absolute;top:18px;right:18px;z-index:10;display:flex;align-items:center;gap:8px;height:52px;padding:0 20px 0 8px;border:2px solid #f3dfb4;border-radius:999px;background:#f3dfb4;color:#3b1f17;cursor:pointer;transition:background .25s,transform .25s}
.mg-close span{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:#5a1f1a;color:#fff;font-size:26px;line-height:1}
.mg-close em{font-style:normal;font-size:16px;font-weight:700}
.mg-close:hover{background:#fff3d6;transform:scale(1.04)}

/* конверт */
.mg-envelope-wrap{position:relative;z-index:3;min-height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:70px 20px 40px;text-align:center;opacity:0;visibility:hidden;transition:opacity .7s ease,visibility .7s}
.mg.is-ready .mg-envelope-wrap{opacity:1;visibility:visible}
.mg.is-letter .mg-envelope-wrap{display:none}
.mg-delivered{margin:0 0 18px;font-size:18px;letter-spacing:.02em;color:#e9d6ae}
.mg-envelope{padding:0;border:0;background:none;cursor:pointer;width:min(440px,78vw);animation:mg-float 3.6s ease-in-out infinite}
.mg-envelope img{width:100%}
@keyframes mg-float{50%{transform:translateY(-10px) rotate(-1.5deg)}}
.mg-env-title{margin:22px 0 4px;font-family:Vetrino,Georgia,serif;font-size:clamp(34px,5vw,56px);line-height:1.05;color:#f3dfb4}
.mg-env-dates{margin:0 0 24px;font-size:19px;color:#e9d6ae}
.mg-open{min-height:58px;padding:0 34px;border:0;border-radius:999px;background:linear-gradient(180deg,#b8862f,#8f6420);color:#fff;font-size:18px;cursor:pointer;transition:transform .3s ease,filter .3s}
.mg-open:hover{transform:translateY(-2px);filter:brightness(1.08)}
.mg-skip{position:fixed;left:50%;bottom:22px;translate:-50% 0;z-index:9;border:0;background:none;color:rgba(246,234,210,.7);font-size:15px;text-decoration:underline;text-underline-offset:4px;cursor:pointer;visibility:visible}
.mg.is-ready .mg-skip{display:none}

/* письмо */
.mg-letter{position:relative;z-index:3;display:none;padding:80px 16px 60px}
.mg.is-letter .mg-letter{display:block}
.mg-paper{position:relative;max-width:760px;margin:0 auto;padding:30px 34px 40px;color:#3b2a1a;border:64px solid transparent;border-image:url('/images/magic/burnt-edge.webp') 140 120 140 120 fill round;transform-origin:50% 0;animation:mg-unfold 1.1s cubic-bezier(.16,1,.3,1) both}
@keyframes mg-unfold{from{opacity:0;transform:translateY(40px) scaleY(.2) rotate(-2deg);filter:blur(4px)}}
.mg-paper>*{position:relative}
.mg-kicker{margin:0 0 8px;font-size:16px;color:#7a5a32;font-style:italic}
.mg-paper h2{margin:0 0 16px!important;font-family:Vetrino,Georgia,serif;font-size:clamp(38px,5vw,58px)!important;line-height:1.05!important;color:#5a1f1a}
.mg-paper h2:focus{outline:none}
.mg-paper p{color:#3b2a1a;font-size:18px;line-height:1.65;margin:0 0 14px}
.mg-paper b{color:#5a1f1a}
.mg-sub{margin:26px 0 12px!important;font-family:Vetrino,Georgia,serif;font-size:30px!important;line-height:1.1!important;color:#5a1f1a!important}
.mg-list{list-style:none;margin:0 0 6px;padding:0;display:grid;gap:8px}
.mg-list li{display:flex;gap:12px;align-items:flex-start;font-size:18px;line-height:1.45;color:#3b2a1a}
.mg-list li span{flex:none;width:26px;text-align:center}

/* карусель программ: карточки прайса 4:5 */
.mg-car{position:relative}
.mg-programs{display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - 14px)/2);gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;padding:2px 0 10px;scrollbar-width:none}
.mg-programs::-webkit-scrollbar{display:none}
.mg-prog{scroll-snap-align:start;display:flex;flex-direction:column;gap:10px}
.mg-prog img{width:100%;height:auto;aspect-ratio:4/5;border-radius:14px;display:block}
.mg-prog button{min-height:46px;border:1px solid rgba(90,31,26,.45);border-radius:999px;background:transparent;color:#5a1f1a;font-size:15px;font-weight:700;cursor:pointer;transition:background .25s,color .25s}
.mg-prog button:hover,.mg-prog.is-picked button{background:#5a1f1a;color:#fff}
.mg-arr{position:absolute;top:calc(50% - 33px);translate:0 -50%;z-index:2;width:48px;height:48px;border:0;border-radius:50%;background:#5a1f1a;color:#fff;font-size:30px;line-height:1;cursor:pointer;transition:opacity .25s,transform .25s}
.mg-prev{left:-18px}.mg-next{right:-18px}
.mg-arr:hover{transform:scale(1.06)}
.mg-arr:disabled{opacity:0;pointer-events:none}
.mg-cta-text{margin-top:22px!important;font-size:19px!important;color:#3b2a1a!important}

/* форма на пергаменте */
.mg-form{margin-top:10px}
.mg-form label{color:#3b2a1a!important}
.mg-form input:not([type=radio]):not([type=checkbox]),.mg-form textarea{background:rgba(255,252,244,.92)!important;border-color:rgba(122,90,50,.35)!important;color:#3b2a1a!important}
.mg-form input:focus,.mg-form textarea:focus{border-color:#5a1f1a!important;box-shadow:0 0 0 4px rgba(184,134,47,.25)!important}
.mg-form .form-consent{color:#5b4630!important}
.mg-form .form-consent a{color:#5a1f1a}
.mg-form .form-consent input[type=checkbox]:checked{background-color:#5a1f1a!important;border-color:#5a1f1a!important}
.mg-form [type=submit]{background:linear-gradient(180deg,#7a2a22,#5a1f1a)!important;color:#fff!important}
.mg-form [type=submit]:hover{filter:brightness(1.1)}
.mg-form .gf-result{background:#fbf3e2!important;border-radius:18px}
.mg-form .gf-res-ico circle{fill:#5a1f1a}
.mg-sign{margin:26px 0 0!important;font-family:Vetrino,Georgia,serif;font-size:26px!important;line-height:1.25!important;color:#5a1f1a!important}

/* ярлычок сбоку */
.mg-tab{position:fixed;left:0;top:50%;z-index:33;translate:0 -50%;display:flex;flex-direction:column;align-items:center;gap:6px;padding:12px 9px 14px;border:0;border-radius:0 18px 18px 0;background:linear-gradient(180deg,#1c3557,#0c1a2e);color:#f3dfb4;cursor:pointer;transition:padding .3s ease}
.mg-tab img{width:44px;height:auto;animation:mg-tab-owl 3s ease-in-out infinite}
.mg-tab span{writing-mode:vertical-rl;rotate:180deg;font-family:Arsenal,Arial,sans-serif;font-size:17px;font-weight:700;letter-spacing:.04em;color:#fff}
.mg-tab:hover{padding-left:14px}
@keyframes mg-tab-owl{50%{transform:translateY(-4px) rotate(-4deg)}}

@media(max-width:760px){
 .mg-letter{padding:64px 4px 40px}
 .mg-paper{border-width:34px;padding:12px 10px 26px}
 .mg-paper p,.mg-list li{font-size:16.5px}
 .mg-sub{font-size:26px!important}
 .mg-programs{grid-auto-columns:86%}
 .mg-arr{width:40px;height:40px;font-size:26px}.mg-prev{left:-10px}.mg-next{right:-10px}
 .mg-delivered{font-size:16px}
 .mg-tab{top:auto;left:14px;bottom:max(16px,env(safe-area-inset-bottom));translate:none;width:56px;height:56px;padding:0;border-radius:50%;justify-content:center}
 .mg-tab img{width:40px}
 .mg-tab span{display:none}
 .mg-tab:hover{padding-left:0}
}
@media(prefers-reduced-motion:reduce){dialog.mg[open],.mg-envelope,.mg-paper,.mg-tab img{animation:none}}

.mg-delivered:focus{outline:none}
.mg-form .gf-res-btn{background:linear-gradient(180deg,#7a2a22,#5a1f1a)!important;color:#fff!important;border:0!important}
.mg-form .gf-res-small a{color:#5a1f1a!important}
dialog.mg:focus{outline:none}

.mg-scroll{position:absolute;inset:0;z-index:3;overflow-y:auto;overscroll-behavior:contain}
.mg-skip{position:absolute}
@media(max-width:760px){
 dialog.mg{width:calc(100% - 16px);height:calc(100dvh - 16px);border-radius:22px}
 .mg-close{top:10px;right:10px;height:46px;padding:0 6px}
 .mg-close em{display:none}
 .mg-close span{width:34px;height:34px}
}

/* прайс крупно */
.mg-prog img{cursor:zoom-in}
.mg-zoom{position:absolute;inset:0;z-index:20;display:flex;align-items:center;justify-content:center;padding:20px 70px;background:#0b1626}
.mg-zoom[hidden]{display:none}
.mg-zoom img{max-width:100%;max-height:100%;width:auto;height:auto;border-radius:14px}
.mg-zoom .mg-arr{top:50%}
.mg-zprev{left:12px}.mg-znext{right:12px}
.mg-zoom-x{position:absolute;top:14px;right:14px;width:48px;height:48px;border:0;border-radius:50%;background:#f3dfb4;color:#3b1f17;font-size:30px;line-height:1;cursor:pointer}
@media(max-width:760px){.mg-zoom{padding:64px 8px 70px}.mg-zoom .mg-arr{top:auto;bottom:14px;translate:none}.mg-zprev{left:calc(50% - 52px)}.mg-znext{right:calc(50% - 52px)}}

/* скролл письма: тонкая золотая нить вместо системной полосы */
.mg-scroll::-webkit-scrollbar{width:14px}
.mg-scroll::-webkit-scrollbar-track{background:transparent;margin:84px 0 24px}
.mg-scroll::-webkit-scrollbar-thumb{border:5px solid transparent;border-radius:999px;background:linear-gradient(180deg,#e9c77a,#b8862f) padding-box}
.mg-scroll::-webkit-scrollbar-thumb:hover{border-width:4px}
.mg-scroll::-webkit-scrollbar-button{display:none;height:0}
@supports not selector(::-webkit-scrollbar){.mg-scroll{scrollbar-width:thin;scrollbar-color:#c99a45 transparent}}
