/* Decorative layer shared by invitation, wishes and dialogs. No extra copy. */
body { background: radial-gradient(ellipse at top, #efe2da, #d9b8bd); }
.w7 { max-width: 640px; background: #fff9f0; }
.w7-hero { isolation: isolate; padding-top: 115px; padding-bottom: 95px; background-image: linear-gradient(#fff4e42e, #f3dfd220), url('/images/main/uilenu_toi/shablon7/hero-silk.webp'); }
.w7-hero::before { content: ''; position: absolute; inset: 22px; border: 1px solid #bc986a70; border-radius: 160px 160px 14px 14px; z-index: -1; pointer-events: none; }
.w7-floral-frame { position: absolute; inset: 0; z-index: -1; overflow: hidden; pointer-events: none; }
.w7-floral-frame img { position: absolute; width: 215px; filter: drop-shadow(0 9px 10px #6c3c3326); }
.w7-floral-left { top: 4px; left: -78px; transform: rotate(-12deg); }
.w7-floral-right { bottom: -35px; right: -72px; transform: scaleX(-1) rotate(-12deg); }
.w7-invitation { isolation: isolate; margin-left: 42px; margin-right: 42px; padding: 105px 40px 62px; border-radius: 155px 155px 18px 18px; background: linear-gradient(145deg, #fffdf8, #fff7eb); border: 1px solid #d7bda0; box-shadow: 0 24px 48px #5c273b22, inset 0 0 0 8px #fffaf3, inset 0 0 0 9px #d7bda070; }
.w7-invitation::before { inset: 16px; width: auto; border: 1px solid #c6a47866; border-radius: 142px 142px 9px 9px; background: transparent; }
.w7-invitation::after { top: auto; bottom: -17px; left: 16px; right: 16px; width: auto; height: 16px; border: 1px solid #d7bda0; border-top: 0; background: #f1e0cd; border-radius: 0 0 12px 12px; z-index: -1; box-shadow: 0 10px 20px #5c273b15; }
.w7-ribbon { position: absolute; top: 31px; left: 50%; transform: translateX(-50%); width: calc(100% + 34px); height: 35px; background: linear-gradient(#892e4e, #671c36 55%, #812744); box-shadow: 0 6px 12px #4b172933; border-top: 1px solid #bd7085; border-bottom: 1px solid #4d142a; z-index: -1; }
.w7-ribbon::before, .w7-ribbon::after { content: ''; position: absolute; top: 8px; width: 25px; height: 37px; background: #641931; z-index: -1; }
.w7-ribbon::before { left: -13px; clip-path: polygon(0 0,100% 0,100% 100%,0 100%,25% 50%); }
.w7-ribbon::after { right: -13px; clip-path: polygon(0 0,100% 0,75% 50%,100% 100%,0 100%); }
.w7-seal { top: 18px; width: 61px; height: 61px; font-size: 26px; background: radial-gradient(circle at 35% 25%, #b97587, #792642 70%); border-color: #c38593; box-shadow: 0 6px 14px #43142d4d; }
.w7-invitation h1 { font-size: 49px; color: #651d36; }
.w7-invite-text { font-size: 17px; line-height: 2; }
.w7-invite-text strong { font-size: 31px; color: #7a2848; }
.w7-divider { max-width: 230px; gap: 0; margin: 23px auto; }
.w7-divider::before, .w7-divider::after { display: none; }
.w7-divider img { display: block; width: 100%; height: 46px; object-fit: contain; }
.w7-main-photo { position: relative; width: calc(100% - 84px); border-radius: 160px 160px 10px 10px; border: 7px solid #fff9f0; outline: 1px solid #cda781; outline-offset: 4px; margin-bottom: 55px; box-shadow: 0 15px 38px #701c3833; }
.w7-date-section { padding: 64px 42px; background: radial-gradient(ellipse at 5% 40%, #f0d7d7aa, transparent 55%), #fff9f0; }
.w7-date-section > h2 { font-size: 50px; margin-bottom: 35px; }
.w7-date-panel { padding: 38px 30px 35px; border-radius: 26px; border-color: #cba88c; background: linear-gradient(150deg, #fffdf7, #f8eddf); box-shadow: 0 13px 30px #70443315, inset 0 0 0 6px #fffaf4, inset 0 0 0 7px #dfc6ab66; }
.w7-symbol { display: grid; place-items: center; width: 65px; height: 65px; margin: 0 auto 22px; border: 1px solid #bf9776; border-radius: 50%; color: #813650; background: radial-gradient(circle at 30% 20%, #fffef9, #eedac3); box-shadow: 0 0 0 5px #d9b4941c; }
.w7-symbol svg { width: 30px; height: 33px; }
.w7-hosts h3 { font-size: 27px; color: #966756; }
.w7-hosts p { font-size: 40px; }
.w7-time-heading { display: flex; align-items: center; justify-content: center; gap: 9px; margin: 16px 0 12px; }
.w7-time-heading .w7-symbol { width: 29px; height: 29px; margin: 0; border: 0; box-shadow: none; background: none; }
.w7-time-heading .w7-symbol svg { width: 22px; height: 24px; }
.w7-time-heading .w7-event-label { margin: 0; }
.w7 .w7-event-date { font-size: 20px; color: #661f39; }
.w7-countdown { gap: 10px; }
.w7-countdown > div { position: relative; padding: 14px 3px 11px; background: linear-gradient(#84334e, #681d37); border: 1px solid #a9657b; border-radius: 12px; color: #fff4e4; box-shadow: 0 5px 10px #681d372b; }
.w7-countdown > div::before { content: ''; position: absolute; top: 50%; left: 0; right: 0; border-top: 1px solid #fff1d91a; pointer-events: none; }
.w7-countdown span { font-size: 42px; }
.w7-countdown small { color: #f1c9c9; font-size: 9px; }
.w7-location-panel { position: relative; overflow: hidden; isolation: isolate; margin-top: 25px; padding: 39px 32px; border-radius: 26px; background: linear-gradient(135deg, #832b49, #561329); border: 1px solid #ac6375; box-shadow: 0 14px 30px #59162d25; }
.w7-location-panel::before { content: ''; position: absolute; inset: 12px; border: 1px solid #e1b8ac55; border-radius: 16px; pointer-events: none; z-index: -1; }
.w7-location-panel::after { content: ''; position: absolute; width: 155px; height: 270px; bottom: -85px; right: -65px; background: url('/images/main/uilenu_toi/shablon7/floral-spray.svg') center/contain no-repeat; opacity: .35; z-index: -1; transform: rotate(-25deg); pointer-events: none; }
.w7-location-panel .w7-symbol { background: #fff5e416; color: #f7dfb9; border-color: #d9b49488; box-shadow: none; }
.w7-location-panel h3 { font-size: 33px; }
.w7 .w7-button, .w7-modal .w7-button { border-radius: 50px; background: linear-gradient(135deg, #8a3653, #631b36); border-color: #91465e; box-shadow: 0 6px 15px #701c3826; }
.w7 .w7-button-outline { background: #fff9f066; color: #762540; border-color: #ac6d7e; box-shadow: none; }
.w7-location-panel .w7-button-outline { background: #fff2df0b; color: #ffe9cf; border-color: #d9b49499; }
.w7-info { border-radius: 22px; background: linear-gradient(145deg, #fffaf4, #f2e0dc); border-color: #d7b8ae; box-shadow: 0 8px 24px #701c3810; }
.w7-ad { border-radius: 18px; }
.w7-album { background: #f4e4da; padding-top: 36px; padding-bottom: 36px; }
.w7-album .carousel-inner { border: 9px solid #fffdf8; outline: 1px solid #cfad8a; outline-offset: 5px; border-radius: 140px 140px 20px 20px; box-shadow: 0 18px 34px #701c3820; }
.w7-album .carousel-item img { min-height: 280px; max-height: 540px; }
.w7-rsvp { position: relative; isolation: isolate; background: radial-gradient(ellipse at 50% 0, #fffaf0, #f1dedb); padding-top: 50px; }
.w7-rsvp::before { content: ''; position: absolute; top: 0; left: -90px; width: 170px; height: 295px; background: url('/images/main/uilenu_toi/shablon7/floral-spray.svg') center/contain no-repeat; opacity: .65; z-index: -1; pointer-events: none; }
.w7 h2.w7-rsvp-title { font-size: 34px; }
.w7-rsvp .opros { padding: 28px; border-radius: 24px; background: #fffbf5; border-color: #cfb092; box-shadow: 0 14px 35px #701c3815, inset 0 0 0 5px #fcf3e6; }
.w7-choice { border-radius: 14px; border-color: #dfc8c2; padding-top: 18px; padding-bottom: 18px; }
.w7-choice:has(input:checked) { background: linear-gradient(110deg, #f5dfe0, #fff5e9); border-color: #aa6077; box-shadow: inset 3px 0 0 #87344f; }
.w7-couple-profiles { gap: 25px; }
.w7-couple-profiles img { border: 7px solid #fffdf8; outline: 1px solid #bd916b; outline-offset: 4px; box-shadow: 0 8px 20px #701c3825; }
.w7-wishes { background: #fff9f0; }
.w7-wishes h2 { font-size: 47px; }
.w7-wish { border-radius: 24px 24px 24px 4px; border: 1px solid #d4b3a2; padding: 34px 29px; background: linear-gradient(140deg, #fffdf8, #f7e9de); box-shadow: 0 9px 20px #701c3810; }
.w7-wish::before { color: #a15c70; }
.w7-wish p { font-size: 27px; }
.w7-wishes .carousel-inner { padding-bottom: 15px; }
.w7-footer { position: relative; isolation: isolate; background: linear-gradient(#661c38f0, #59152fe8), url('/images/main/uilenu_toi/shablon7/hero-silk.webp') center bottom/cover; border-top: 1px solid #c28987; }
.w7-footer .w7-divider { margin-top: 0; }
.w7-dock { border-radius: 50px; background: #fffbf3f2; border-color: #caa4a0; box-shadow: 0 8px 30px #5d263644; }
.w7-dock button { border-radius: 50px; }
.w7-dock > .tilek_kaldir { background: linear-gradient(120deg, #94405b, #631b36); }
.w7-modal .modal-content { border-radius: 24px; box-shadow: inset 0 0 0 6px #fbefdf; border-color: #d0ac91; }
.w7-modal input, .w7-modal textarea { border-radius: 12px; }
.w7-wishes-page { background: radial-gradient(ellipse at top, #f0ddd6, #fff9f0 50%); }
.w7-wishes-page .w7-topline { background: #fff9f080; }
@media (max-width: 480px) {
    .w7-hero { padding-top: 92px; padding-bottom: 65px; }
    .w7-hero::before { inset: 14px; border-radius: 120px 120px 12px 12px; }
    .w7-floral-frame img { width: 165px; }
    .w7-floral-left { left: -76px; }
    .w7-floral-right { right: -70px; bottom: -15px; }
    .w7-invitation { margin: 0 28px; padding: 95px 27px 45px; border-radius: 125px 125px 15px 15px; }
    .w7-invitation::before { border-radius: 113px 113px 8px 8px; }
    .w7-invitation h1 { font-size: 41px; }
    .w7-invite-text { font-size: 15px; line-height: 1.95; }
    .w7-invite-text strong { font-size: 27px; }
    .w7-ribbon { top: 29px; height: 32px; width: calc(100% + 22px); }
    .w7-seal { top: 13px; }
    .w7-main-photo { width: calc(100% - 56px); height: 310px; border-radius: 130px 130px 8px 8px; }
    .w7-date-section { padding: 50px 26px; }
    .w7-date-section > h2 { font-size: 44px; }
    .w7-date-panel { padding: 32px 22px; }
    .w7-hosts p { font-size: 36px; }
    .w7 .w7-event-date { font-size: 16px; }
    .w7-countdown { gap: 7px; }
    .w7-countdown span { font-size: 35px; }
    .w7-countdown small { font-size: 8px; }
    .w7-location-panel { padding: 32px 24px; }
    .w7-location-panel h3 { font-size: 29px; }
    .w7-rsvp .opros { padding: 25px 18px; }
    .w7 h2.w7-rsvp-title { font-size: 29px; }
    .w7-wishes h2 { font-size: 40px; }
    .w7-wish { padding: 28px 24px; }
    .w7-wish p { font-size: 25px; }
}
@media (max-width: 350px) {
    .w7-invitation { margin-left: 24px; margin-right: 24px; padding-left: 22px; padding-right: 22px; }
    .w7-invitation h1 { font-size: 36px; }
    .w7-date-section { padding-left: 20px; padding-right: 20px; }
    .w7-date-panel { padding-left: 16px; padding-right: 16px; }
    .w7-countdown { gap: 5px; }
}
