/* Original Fairytale Castle birthday design — template 111 only. */
.video-invitation.vi-castle.vi-pearl.vi-story.vi-pearl.vi-story{--castle-ink:#712844;background:#fbe0e8!important;color:var(--castle-ink)!important;width:100%!important;aspect-ratio:auto!important}
.video-invitation.vi-castle.vi-pearl.vi-story.vi-pearl.vi-story :is(.vi-opening-background,.vi-video){object-fit:fill!important}
.video-invitation.video-invitation.vi-castle.vi-pearl.vi-story.vi-pearl.vi-story .vi-hero-content.vi-scenes .vi-scene{inset:29% 12% 14%!important}
.video-invitation.vi-castle.vi-pearl.vi-story .vi-scene-content{width:100%!important;max-width:none!important;padding:0!important;background:none!important;box-shadow:none!important;font-family:inherit!important}
.video-invitation.vi-castle.vi-pearl.vi-story.vi-pearl.vi-story .vi-scene :is(h1,h2,h3,h4,p,strong,span,label,button,a,time,small){color:var(--castle-ink)!important;text-shadow:none!important}
.video-invitation.vi-castle.vi-pearl.vi-story .birthday-shimmer{display:none!important}
.video-invitation.vi-castle.vi-pearl.vi-story .castle-name{font-size:clamp(38px,calc(var(--paper-width)*.12),54px)!important;line-height:1.12!important;margin:0 0 13px;overflow-wrap:anywhere}
.video-invitation.vi-castle.vi-pearl.vi-story .castle-heading{display:flex;align-items:center;justify-content:center;width:100%;max-width:290px;min-height:90px;box-sizing:border-box;padding:28px 28px 16px;background:url('/templates/masal-satosu/heading.png') center/100% 100% no-repeat;font-size:19px!important;line-height:1.2!important;margin:0 auto 14px;text-align:center;letter-spacing:0!important}
.video-invitation.vi-castle.vi-pearl.vi-story .castle-age{font-size:24px!important;line-height:1.35;margin:15px 0;overflow-wrap:anywhere}
.video-invitation.vi-castle.vi-pearl.vi-story .castle-date{font-size:19px!important;line-height:1.4;margin:12px 0 4px}
.video-invitation.vi-castle.vi-pearl.vi-story .castle-intro time{font-size:19px!important;unicode-bidi:isolate;direction:ltr}
.video-invitation.vi-castle.vi-pearl.vi-story .birthday-message-heart{font-size:26px!important;color:#b53661!important;margin:0 auto 10px}
.video-invitation.vi-castle.vi-pearl.vi-story .vi-invitation-message{font-size:18px!important;line-height:1.65!important;margin:0 auto 15px!important;max-width:280px}
.video-invitation.vi-castle.vi-pearl.vi-story .birthday-signature{font-size:32px!important;margin:14px auto 0!important}
.video-invitation.vi-castle.vi-pearl.vi-story :is(.pearl-eyebrow,.pearl-quote,.pearl-event-date,.pearl-caption){letter-spacing:0!important;font-size:15px!important;line-height:1.5!important}
.video-invitation.vi-castle.vi-pearl.vi-story .pearl-divider{height:23px!important;width:120px!important;display:block!important;margin:12px auto!important;color:#ae4670!important}
.video-invitation.vi-castle.vi-pearl.vi-story .night-countdown{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));width:100%!important;gap:4px!important;margin:15px auto!important}
.video-invitation.vi-castle.vi-pearl.vi-story .night-countdown-unit{background:url('/templates/masal-satosu/countdown.png') center/100% 100% no-repeat;aspect-ratio:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:18px 2px 10px!important;box-sizing:border-box;min-width:0}
.video-invitation.vi-castle.vi-pearl.vi-story .night-countdown-unit strong{font-size:22px!important;line-height:1.1!important;white-space:nowrap;font-variant-numeric:tabular-nums;unicode-bidi:isolate}
.video-invitation.vi-castle.vi-pearl.vi-story .night-countdown-unit span{font:600 7px/1.2 Arial,sans-serif!important;letter-spacing:0!important;margin-top:3px}
.video-invitation.vi-castle.vi-pearl.vi-story :is(.program-title,.pearl-scene-4>.pearl-title,.pearl-scene-5>.pearl-title){display:flex!important;align-items:center;justify-content:center;box-sizing:border-box;background:url('/templates/masal-satosu/heading.png') center/100% 100% no-repeat!important;width:100%;min-height:85px!important;margin:0 auto 15px!important;padding:28px 27px 15px!important;font-size:21px!important;line-height:1.2!important;letter-spacing:0!important;box-shadow:none!important}
.video-invitation.vi-castle.vi-pearl.vi-story :is(.program-title,.pearl-title):before,.video-invitation.vi-castle.vi-pearl.vi-story :is(.program-title,.pearl-title):after,.video-invitation.vi-castle.vi-pearl.vi-story .program-title>span[aria-hidden]{display:none!important}
.video-invitation.vi-castle.vi-pearl.vi-story :is(.program-title,.pearl-title){border:0!important;outline:0!important;border-radius:0!important}
.video-invitation.vi-castle.vi-pearl.vi-story .pearl-title-flower{display:none!important}
.video-invitation.vi-castle.vi-pearl.vi-story .program-timeline{text-align:start!important;margin:0!important}
.video-invitation.vi-castle.vi-pearl.vi-story .program-timeline :is(h3,strong){font-size:17px!important;line-height:1.3!important}
.video-invitation.vi-castle.vi-pearl.vi-story .program-timeline p{font-size:14px!important;line-height:1.4!important}
.video-invitation.vi-castle.vi-pearl.vi-story .program-timeline time{font-size:14px!important;direction:ltr;unicode-bidi:isolate}
.video-invitation.vi-castle.vi-pearl.vi-story .program-timeline ol{padding:0!important;margin:0!important}
.video-invitation.vi-castle.vi-pearl.vi-story .program-timeline li{position:relative;width:100%!important;padding:0 0 4px!important;margin:0 0 7px!important;text-align:center!important;min-height:0!important}
.video-invitation.vi-castle.vi-pearl.vi-story .program-timeline h3{margin:3px 0!important}
.video-invitation.vi-castle.vi-pearl.vi-story .program-divider{display:block!important;color:#b74270!important;font-size:12px!important;margin:7px auto 0!important}
.video-invitation.vi-castle.vi-pearl.vi-story .castle-map{display:block;width:min(100%,210px);height:auto;aspect-ratio:1;object-fit:contain;margin:0 auto 10px}
.video-invitation.vi-castle.vi-pearl.vi-story .castle-venue{font-size:21px!important;line-height:1.25;margin:4px auto 6px;overflow-wrap:anywhere}
.video-invitation.vi-castle.vi-pearl.vi-story .castle-address{font-size:14px!important;line-height:1.4;margin:0 auto 12px;overflow-wrap:anywhere}
.video-invitation.vi-castle.vi-pearl.vi-story :is(.castle-directions,.pearl-pill,.pearl-primary){background:#a52d57!important;color:#fff9fc!important;border:1px solid #b98a38!important;border-radius:20px!important;font-size:14px!important;line-height:1.35!important;box-shadow:none!important;display:inline-flex;align-items:center;justify-content:center;min-height:37px;padding:8px 16px;text-decoration:none}
.video-invitation.vi-castle.vi-pearl.vi-story .vi-scene :is(.castle-directions,.pearl-pill,.pearl-primary){color:#fff9fc!important}
.video-invitation.vi-castle.vi-pearl.vi-story .pearl-photo-grid{gap:8px!important;margin:10px auto!important}
.video-invitation.vi-castle.vi-pearl.vi-story .pearl-empty{font-size:17px!important;line-height:1.5!important;padding:20px 8px!important;background:#fff4f899;border:1px solid #d0a661;border-radius:15px}
.video-invitation.vi-castle.vi-pearl.vi-story .pearl-footnote{font-size:12px!important;line-height:1.45!important;margin:10px auto 0!important}
.video-invitation.vi-castle.vi-pearl.vi-story .pearl-rsvp{gap:8px!important;margin:10px auto 0!important;width:100%!important}
.video-invitation.vi-castle.vi-pearl.vi-story .pearl-rsvp :is(input,textarea){background:#fff9fccc!important;border:1px solid #c791a3!important;border-radius:10px!important;color:#712844!important;font-size:14px!important}
.video-invitation.vi-castle.vi-pearl.vi-story .pearl-rsvp textarea{min-height:44px!important;height:44px!important;padding:9px!important}
.video-invitation.vi-castle.vi-pearl.vi-story .pearl-rsvp input{min-height:34px!important;padding:8px!important}
.video-invitation.vi-castle.vi-pearl.vi-story .pearl-rsvp input[type=radio]{appearance:auto!important;width:14px!important;height:14px!important;min-height:14px!important;padding:0!important;flex:0 0 14px!important;accent-color:#a52d57}
.video-invitation.vi-castle.vi-pearl.vi-story .pearl-rsvp label{gap:4px!important}
.video-invitation.vi-castle.vi-pearl.vi-story .pearl-answer{gap:5px!important}
.video-invitation.vi-castle.vi-pearl.vi-story .pearl-answer label{min-height:31px!important;padding:6px!important;border-color:#c791a3!important;background:#fff5f9!important;border-radius:15px!important;font-size:14px!important}
.video-invitation.vi-castle.vi-pearl.vi-story .pearl-answer label.selected{background:#f5c8d8!important}
.video-invitation.vi-castle.vi-pearl.vi-story .pearl-count{gap:3px!important}
.video-invitation.vi-castle.vi-pearl.vi-story .pearl-count button{min-height:28px!important;height:28px!important;width:28px!important}
.video-invitation.vi-castle.vi-pearl.vi-story .pearl-rsvp button[type=submit]{background:#a52d57!important;color:#fff9fc!important;border:1px solid #b98a38!important;min-height:35px!important;padding:7px!important;margin:0!important;border-radius:18px!important}
.video-invitation.vi-castle.vi-pearl.vi-story .vi-scene .pearl-rsvp .pearl-submit,.video-invitation.vi-castle.vi-pearl.vi-story .vi-scene .pearl-primary,.video-invitation.vi-castle.vi-pearl.vi-story .vi-scene .castle-directions{color:#fff9fc!important;-webkit-text-fill-color:#fff9fc!important}
.video-invitation.vi-castle.vi-pearl.vi-story .vi-story-nav.vi-guided-nav{top:auto!important;bottom:3%!important;left:12%!important;right:12%!important;width:auto!important}
.video-invitation.vi-castle.vi-pearl.vi-story :is(.vi-open-button,.vi-skip-opening,.vi-story-music,.vi-replay-opening,.vi-swipe-hint,.vi-auto-toggle){background:#fff1f8ed!important;border:1px solid #bd7293!important;color:#712844!important;text-shadow:none!important;box-shadow:none!important}
.video-invitation.vi-castle.vi-pearl.vi-story .vi-open-button span{color:#712844!important}
.video-invitation.vi-castle.vi-pearl.vi-story .vi-swipe-hint{bottom:5.8%!important}
.video-invitation.vi-castle.vi-pearl.vi-story .vi-auto-toggle{bottom:3%!important}
.video-invitation.vi-castle.vi-pearl.vi-story:lang(ar) :is(h1,h2,h3,p,button,a){letter-spacing:0!important}
.video-invitation.vi-castle.vi-pearl.vi-story:lang(hi) :is(h1,h2,h3,p,button,a){letter-spacing:0!important;line-height:1.5!important}
@media(max-height:720px){.video-invitation.video-invitation.vi-castle.vi-pearl.vi-story.vi-pearl.vi-story .vi-hero-content.vi-scenes .vi-scene{inset:29% 12% 13%!important}.video-invitation.vi-castle.vi-pearl.vi-story .castle-map{width:150px}.video-invitation.vi-castle.vi-pearl.vi-story .vi-invitation-message{font-size:16px!important}.video-invitation.vi-castle.vi-pearl.vi-story .castle-heading{min-height:70px;font-size:17px!important}.video-invitation.vi-castle.vi-pearl.vi-story .castle-age{font-size:20px!important}}

/* v2: real handwriting, isolated ribbon, photo-album samples and quiet RSVP. */
@font-face{font-family:CastleLatin;src:url('/templates/masal-satosu/fonts/GreatVibes-Regular.ttf') format('truetype');font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:CastleCyrillic;src:url('/templates/masal-satosu/fonts/MarckScript-Regular.ttf') format('truetype');font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:CastleArabic;src:url('/templates/masal-satosu/fonts/ArefRuqaa-Regular.ttf') format('truetype');font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:CastleDevanagari;src:url('/templates/masal-satosu/fonts/Kalam-Regular.ttf') format('truetype');font-style:normal;font-weight:400;font-display:swap}
.video-invitation.vi-castle.vi-pearl.vi-story{--castle-script:CastleLatin}
.video-invitation.vi-castle.vi-pearl.vi-story:lang(ru){--castle-script:CastleCyrillic}
.video-invitation.vi-castle.vi-pearl.vi-story:lang(ar){--castle-script:CastleArabic}
.video-invitation.vi-castle.vi-pearl.vi-story:lang(hi){--castle-script:CastleDevanagari}
.video-invitation.vi-castle.vi-pearl.vi-story .castle-handwriting{font-family:var(--castle-script),cursive!important;font-weight:400!important;font-synthesis:none!important;letter-spacing:0!important}
.video-invitation.vi-castle.vi-pearl.vi-story .vi-scene:has(.castle-intro){inset:26% 15% 23%!important}
.video-invitation.vi-castle.vi-pearl.vi-story .castle-name{font-size:64px!important;line-height:1.2!important;margin:0 auto 0!important}
.video-invitation.vi-castle.vi-pearl.vi-story .castle-ribbon{display:block!important;object-fit:contain;width:160px;height:auto;aspect-ratio:3;margin:2px auto 4px!important}
.video-invitation.vi-castle.vi-pearl.vi-story .castle-invite-text{background:none!important;border:0!important;outline:0!important;padding:0!important;margin:1px auto 18px!important;font-size:35px!important;line-height:1.2!important;max-width:260px}
.video-invitation.vi-castle.vi-pearl.vi-story .castle-age{font-size:23px!important;line-height:1.35!important;font-weight:500!important;margin:12px auto 17px!important}
.video-invitation.vi-castle.vi-pearl.vi-story .castle-date{font-size:23px!important;font-weight:700!important;line-height:1.25!important;color:#622139!important;margin:4px auto 7px!important}
.video-invitation.vi-castle.vi-pearl.vi-story .castle-intro time{font-size:21px!important;line-height:1.2!important;font-weight:700!important;letter-spacing:.02em!important}
.video-invitation.vi-castle.vi-pearl.vi-story .vi-scene:has(.castle-message){inset:28% 15% 26%!important}
.video-invitation.vi-castle.vi-pearl.vi-story .castle-tiny-heart{display:block;font:27px/1 Georgia,serif!important;margin:0 auto 17px!important;color:#bd4d77!important}
.video-invitation.vi-castle.vi-pearl.vi-story .castle-message .vi-invitation-message{font-size:18px!important;line-height:1.55!important;margin:0 auto 18px!important}
.video-invitation.vi-castle.vi-pearl.vi-story .birthday-signature{font-size:49px!important;line-height:1.25!important;margin:8px auto 0!important}
.video-invitation.vi-castle.vi-pearl.vi-story .vi-scene:has(.program-timeline){inset:27% 15% 29%!important}
.video-invitation.vi-castle.vi-pearl.vi-story .program-timeline li{display:grid!important;grid-template-columns:44px minmax(0,1fr);column-gap:8px;align-items:baseline;text-align:start!important;margin:0 0 12px!important;padding:0!important}
.video-invitation.vi-castle.vi-pearl.vi-story .program-timeline time{grid-column:1;grid-row:1;font-size:14px!important;letter-spacing:0!important;font-weight:600}
.video-invitation.vi-castle.vi-pearl.vi-story .program-timeline h3{grid-column:2;grid-row:1;font-size:17px!important;margin:0 0 4px!important}
.video-invitation.vi-castle.vi-pearl.vi-story .program-timeline p{grid-column:2;grid-row:2;font-size:14px!important;line-height:1.35!important;margin:0!important}
.video-invitation.vi-castle.vi-pearl.vi-story .program-timeline .program-divider{grid-column:1/-1;font-size:10px!important;margin:7px auto 0!important}
.video-invitation.vi-castle.vi-pearl.vi-story .vi-scene:has(.castle-location){inset:27% 16% 26%!important}
.video-invitation.vi-castle.vi-pearl.vi-story .castle-location-title{font-size:27px!important;font-weight:500!important;line-height:1.2!important;background:none!important;border:0!important;padding:0!important;margin:0 auto 3px!important}
.video-invitation.vi-castle.vi-pearl.vi-story .castle-location .castle-ribbon{width:112px;margin:0 auto 8px!important}
.video-invitation.vi-castle.vi-pearl.vi-story .castle-map{width:177px!important;margin-bottom:9px!important}
.video-invitation.vi-castle.vi-pearl.vi-story .castle-venue{font-size:21px!important;margin:4px auto!important}
.video-invitation.vi-castle.vi-pearl.vi-story .castle-address{font-size:14px!important;margin-bottom:10px!important}
.video-invitation.vi-castle.vi-pearl.vi-story .vi-scene:has(.pearl-scene-4){inset:27% 13% 25%!important}
.video-invitation.vi-castle.vi-pearl.vi-story .pearl-scene-4>.pearl-title{background:none!important;font-size:25px!important;font-weight:500!important;min-height:0!important;padding:0!important;margin:0 auto 10px!important}
.video-invitation.vi-castle.vi-pearl.vi-story .pearl-scene-4 .pearl-caption{font-size:14px!important;line-height:1.4!important;margin:0 auto 17px!important}
.video-invitation.vi-castle.vi-pearl.vi-story .pearl-photo-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:5px!important;width:100%!important;padding:12px 2px 14px!important;box-sizing:border-box}
.video-invitation.vi-castle.vi-pearl.vi-story .pearl-photo-grid button{position:relative;aspect-ratio:3/4!important;padding:5px 5px 17px!important;background:#fffaf8!important;border:1px solid #efc7d1!important;border-radius:2px!important;box-shadow:0 4px 10px #90365326!important;transform:rotate(-6deg)}
.video-invitation.vi-castle.vi-pearl.vi-story .pearl-photo-grid button:nth-child(2){transform:translateY(11px) rotate(3deg)}
.video-invitation.vi-castle.vi-pearl.vi-story .pearl-photo-grid button:nth-child(3){transform:rotate(-3deg)}
.video-invitation.vi-castle.vi-pearl.vi-story .pearl-photo-grid button:after{content:'♡';position:absolute;bottom:1px;left:0;right:0;font-size:12px;color:#b65174}
.video-invitation.vi-castle.vi-pearl.vi-story .pearl-photo-grid img{width:100%!important;height:100%!important;object-fit:cover!important;object-position:center 32%!important;border-radius:0!important}
.video-invitation.vi-castle.vi-pearl.vi-story .pearl-scene-4 .pearl-pill{font-size:13px!important;min-height:34px!important;margin:10px auto 0!important}
.video-invitation.vi-castle.vi-pearl.vi-story .pearl-scene-4 .pearl-footnote{font-size:12px!important;line-height:1.4!important}
.video-invitation.vi-castle.vi-pearl.vi-story .vi-scene:has(.pearl-scene-5){inset:27% 16% 24%!important}
.video-invitation.vi-castle.vi-pearl.vi-story .pearl-scene-5:before{content:'♡';display:block;font:28px/1 Georgia,serif;color:#c95b85;margin:0 auto 10px}
.video-invitation.vi-castle.vi-pearl.vi-story .pearl-scene-5>.pearl-title{background:none!important;min-height:0!important;padding:0!important;margin:0 auto 9px!important;font-size:27px!important;font-weight:500!important}
.video-invitation.vi-castle.vi-pearl.vi-story .pearl-scene-5 .pearl-caption{font-size:15px!important;line-height:1.35!important;margin:0 auto 15px!important}
.video-invitation.vi-castle.vi-pearl.vi-story .pearl-rsvp .pearl-answer{display:flex!important;flex-direction:row!important;justify-content:center;gap:14px!important;border:0!important;padding:0!important}
.video-invitation.vi-castle.vi-pearl.vi-story .pearl-rsvp .pearl-answer label{background:transparent!important;border:0!important;min-height:28px!important;padding:2px 0!important;gap:5px!important;font-size:14px!important;display:flex;align-items:center}
.video-invitation.vi-castle.vi-pearl.vi-story .pearl-rsvp .pearl-eyebrow{font:500 11px/1.3 Arial,sans-serif!important;letter-spacing:.025em!important}
.video-invitation.vi-castle.vi-pearl.vi-story .pearl-rsvp :is(input:not([type=radio]):not([type=hidden]),textarea){background:#fff9fcda!important;border:1px solid #e2bac8!important;border-radius:8px!important;box-shadow:none!important}
.video-invitation.vi-castle.vi-pearl.vi-story .pearl-count button{background:#f8dce7!important;border:0!important;border-radius:50%!important;color:#91385a!important}
.video-invitation.vi-castle.vi-pearl.vi-story .pearl-rsvp .pearl-submit{background:#b84975!important;border:0!important;min-height:34px!important;font-size:14px!important;border-radius:16px!important;letter-spacing:0!important;margin:4px auto 0!important}
.video-invitation.vi-castle.vi-pearl.vi-story .castle-closing{max-width:255px;margin:auto}
.video-invitation.vi-castle.vi-pearl.vi-story .castle-closing-text{font-family:Georgia,'Times New Roman',serif!important;font-size:32px!important;line-height:1.45!important;font-style:normal!important;font-weight:400!important;margin:0!important;overflow-wrap:normal!important;letter-spacing:0!important}
.video-invitation.vi-castle.vi-pearl.vi-story .castle-closing-heart{display:block;font:32px/1 Georgia,serif!important;color:#bb456f!important;margin:24px auto 0!important}
.video-invitation.vi-castle.vi-pearl.vi-story .vi-scene:has(.castle-closing){inset:29% 17% 27%!important}
.video-invitation.vi-castle.vi-pearl.vi-story:lang(ar) .castle-name{font-size:52px!important}
.video-invitation.vi-castle.vi-pearl.vi-story:lang(ar) :is(.castle-invite-text,.castle-closing-text){font-size:31px!important;line-height:1.7!important}
.video-invitation.vi-castle.vi-pearl.vi-story:lang(ru) .castle-name{font-size:52px!important}
.video-invitation.vi-castle.vi-pearl.vi-story:lang(ru) :is(.castle-invite-text,.castle-closing-text){font-size:30px!important;line-height:1.45!important}
.video-invitation.vi-castle.vi-pearl.vi-story:lang(hi) .castle-name{font-size:45px!important}
.video-invitation.vi-castle.vi-pearl.vi-story:lang(hi) :is(.castle-invite-text,.castle-closing-text){font-size:27px!important;line-height:1.5!important}
@media(max-height:720px){.video-invitation.vi-castle.vi-pearl.vi-story .castle-name{font-size:51px!important}.video-invitation.vi-castle.vi-pearl.vi-story .castle-invite-text{font-size:29px!important}.video-invitation.vi-castle.vi-pearl.vi-story .castle-ribbon{width:130px}.video-invitation.vi-castle.vi-pearl.vi-story .castle-age{font-size:20px!important;margin:8px auto!important}.video-invitation.vi-castle.vi-pearl.vi-story .castle-date{font-size:21px!important}.video-invitation.vi-castle.vi-pearl.vi-story .castle-message .vi-invitation-message{font-size:16px!important}.video-invitation.vi-castle.vi-pearl.vi-story .castle-map{width:140px!important}}
