@import url('https://fonts.googleapis.com/css2?family=Great+Vibes&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Dancing+Script&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Pacifico&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Parisienne&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Allura&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Satisfy&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Marck+Script&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Alex+Brush&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Herr+Von+Muellerhoff&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Tangerine&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Clicker+Script&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Kaushan+Script&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Petit+Formal+Script&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Bad+Script&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Mrs+Saint+Delafield&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Sacramento&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Cookie&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Lobster&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Yellowtail&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Mr+De+Haviland&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Euphoria+Script&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Yesteryear&display=swap');
@import url('https://fonts.googleapis.com/css2?family=League+Script&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Give+You+Glory&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Rouge+Script&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Grand+Hotel&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Gochi+Hand&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Qwigley&display=swap');
@import url('https://fonts.googleapis.com/css2?family=La+Belle+Aurore&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Damion&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Zeyada&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Cedarville+Cursive&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Patrick+Hand&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Homemade+Apple&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Shadows+Into+Light&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Just+Me+Again+Down+Here&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Courgette&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:wght@400;700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@400;600&display=swap');
@import url('https://fonts.googleapis.com/css2?family=EB+Garamond:wght@400;500;600;700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Libre+Baskerville:wght@400;700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Lora:wght@400;700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Bodoni+Moda:wght@400;700&display=swap');

@font-face { font-family: 'Lovely May'; src: url('/catalogo/bridal-simple/assets/original/fonts/Lovely%20May%20Regular.otf') format('opentype'); font-weight: 400; font-style: normal; font-display: swap; }
@font-face { font-family: 'Lovely May'; src: url('/catalogo/bridal-simple/assets/original/fonts/Lovely%20May%20Italic.otf') format('opentype'); font-weight: 400; font-style: italic; font-display: swap; }
@font-face { font-family: 'Lovely May Script'; src: url('/catalogo/bridal-simple/assets/original/fonts/Lovely%20May%20Script.otf') format('opentype'); font-display: swap; }
@font-face { font-family: DonutsSign; src: url('/catalogo/bridal-simple/assets/original/fonts/donitta.otf') format('opentype'); font-display: swap; }
@font-face { font-family: Aberatta; src: url('/catalogo/bridal-simple/assets/original/fonts/aberatta.otf') format('opentype'); font-display: swap; }
@font-face { font-family: ABGaramondPR; src: url('/catalogo/bridal-simple/assets/original/fonts/AGaramondPro-Regular.otf') format('opentype'); font-display: swap; }
@font-face { font-family: ABGaramondPI; src: url('/catalogo/bridal-simple/assets/original/fonts/AGaramondPro-Italic.otf') format('opentype'); font-style: italic; font-display: swap; }
@font-face { font-family: 'Elsabetha TTF'; src: url('/catalogo/bridal-simple/assets/original/fonts/Elsabetha%20TTF.ttf') format('truetype'); font-display: swap; }
@font-face { font-family: Rainwaters; src: url('/catalogo/bridal-simple/assets/original/fonts/RainwatersDemoRegular.ttf') format('truetype'); font-display: swap; }
@font-face { font-family: 'Bodoni SvtyTwo'; src: url('/catalogo/bridal-simple/assets/original/fonts/Bodoni-SvtyTwo-ITC-TT-BookIta.woff2') format('woff2'), url('/catalogo/bridal-simple/assets/original/fonts/Bodoni-SvtyTwo-ITC-TT-BookIta.woff') format('woff'), url('/catalogo/bridal-simple/assets/original/fonts/Bodoni-SvtyTwo-ITC-TT-BookIta.ttf') format('truetype'); font-display: swap; }
@font-face { font-family: MrsEavesSmallCaps; src: url('/catalogo/bridal-simple/assets/original/fonts/MrsEavesSmallCaps.woff') format('woff'); font-display: swap; }
@font-face { font-family: Bodidota; src: url('/catalogo/bridal-simple/assets/original/fonts/Bodidota.ttf') format('truetype'); font-display: swap; }
@font-face { font-family: 'mores 2'; src: url('/catalogo/bridal-simple/assets/original/fonts/LE-MORES-COLLECTION-SERIF-Regular.woff2') format('woff2'), url('/catalogo/bridal-simple/assets/original/fonts/LE-MORES-COLLECTION-SERIF-Regular.woff') format('woff'), url('/catalogo/bridal-simple/assets/original/fonts/LE-MORES-COLLECTION-SERIF-Regular.ttf') format('truetype'); font-display: swap; }
@font-face { font-family: Qeinsha; src: url('/catalogo/bridal-simple/assets/original/fonts/Qeinsha-x3r0R.woff') format('woff'); font-display: swap; }

.bridal-invite { --ds-black: #202020; --ds-gray: #705e29; --ds-light-gray: #dedede; container-type: inline-size; position: relative; width: 100%; min-height: 100dvh; overflow: hidden; color: var(--ds-black); background: #fff; font-family: MrsEavesSmallCaps, Georgia, serif; text-align: center; }
.bridal-invite, .bridal-invite * { box-sizing: border-box; }
.bridal-invite :is(div, span, p, a, button, strong, section, header, h1, h2, h3) { line-height: normal; font-weight: bold; }
.bridal-invite .ds-name { font-weight: 300; }
.bridal-invite .ds-date-number { font-weight: 100; }
.ds-floral { position: absolute; z-index: 0; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center; pointer-events: none; }
.ds-content { position: relative; z-index: 1; width: min(100%, 460px); min-height: 100dvh; margin: 0 auto; padding: clamp(22px, 4vh, 42px) 24px; display: flex; flex-direction: column; justify-content: space-evenly; gap: 6px; }
.bridal-section { width: 100%; flex: 0 0 auto; }
.bridal-cover, .bridal-when, .bridal-place { display: contents; }
.ds-location { text-align: center; }
.ds-name-section { display: flex; align-items: center; justify-content: center; width: 100%; }
.ds-name { display: block; max-width: 100%; margin: 10px auto 0; color: var(--ds-black); font: 300 68px/1 'Lovely May', Georgia, serif; white-space: nowrap; }
.ds-header { text-align: center; }
.ds-pretitle { padding-top: .6rem; font-size: clamp(15px, 4cqw, 20px); }
.ds-honor { margin-top: 9px; color: var(--ds-gray); font-size: clamp(12px, 3.1cqw, 15px); }
.ds-guest-name { margin-top: 0; font: 400 clamp(35px, 8.4cqw, 46px)/1 DonutsSign, Georgia, serif; overflow-wrap: anywhere; }
.ds-date { display: grid; grid-template-columns: minmax(62px, 1fr) 1px auto 1px minmax(62px, 1fr); align-items: center; column-gap: 11px; width: 100%; }
.ds-date-side { font-size: clamp(17px, 4.6cqw, 22px); }
.ds-date-side:first-child { text-align: right; margin-right: -3px; }
.ds-date-side:last-child { text-align: left; }
.ds-date-separator { width: 1px; height: 43px; background: var(--ds-light-gray); }
.ds-date-number { font-size: clamp(35px, 8.4cqw, 46px); font-weight: 100; }
.ds-event-line { display: flex; align-items: center; justify-content: center; gap: 10px; font-size: clamp(14px, 3.6cqw, 17px); }
.ds-location-title { font: 400 clamp(16px, 4.2cqw, 21px)/1.2 'Lovely May', Georgia, serif; overflow-wrap: anywhere; }
.ds-location-room { margin-top: 2px; color: var(--ds-gray); font-size: clamp(18px, 4.5cqw, 22px); }
.ds-location-button { display: inline-flex; align-items: center; justify-content: center; margin-top: 8px; padding: 6px 20px; border: 1px solid #ccc; border-radius: 999px; background: #fff; color: var(--ds-black); text-decoration: none; font-size: clamp(13px, 3.4cqw, 16px); }
.ds-location-button:hover { border-color: var(--ds-gray); color: var(--ds-gray); }
.ds-gift-simple { padding: 1px 0; }
.ds-gift-label { display: block; width: 100%; padding-top: .6rem; color: var(--ds-gray); font-size: clamp(15px, 4cqw, 19px); }
.ds-gift-value { display: block; width: 100%; padding-top: .6rem; font-size: clamp(11px, 2.8cqw, 14px); }
.ds-party { position: relative; z-index: 50; display: flex; justify-content: center; }
.ds-party-wrapper { position: relative; width: min(78%, 280px); }
.ds-party-button { display: flex; align-items: center; justify-content: center; gap: 9px; width: 100%; padding: 7px 16px; border: 1px solid #d5d5d5; border-radius: 999px; background: #fff; color: #555; font: inherit; font-size: clamp(13px, 3.4cqw, 16px); box-shadow: 0 3px 12px rgba(0,0,0,.04); cursor: pointer; }
.ds-party-button:hover { border-color: #888; }
.ds-party-whatsapp-icon, .ds-party-whatsapp-icon svg { display: block; flex: 0 0 22px; width: 22px; height: 22px; }
.ds-party-menu { position: absolute; left: 0; bottom: calc(100% + 7px); width: 100%; max-height: min(60vh, 340px); overflow-y: auto; padding: 6px; border: 1px solid #e4e4e4; border-radius: 15px; background: rgba(255,255,255,.98); box-shadow: 0 12px 30px rgba(0,0,0,.1); opacity: 0; visibility: hidden; transform: translateY(6px); pointer-events: none; transition: opacity .2s ease, transform .2s ease, visibility .2s ease; }
.ds-party-menu h3 { margin: 3px 0 7px; font-size: 22px; font-weight: 400; }
.ds-party-wrapper.is-open .ds-party-menu { opacity: 1; visibility: visible; transform: translateY(0); pointer-events: auto; }
.ds-party-contact { display: flex; align-items: center; gap: 9px; width: 100%; padding: 6px; border: 0; background: transparent; color: var(--ds-black); text-align: left; font: inherit; font-size: clamp(13px, 3.3cqw, 15px); cursor: pointer; }
.ds-party-contact:hover { background: #f4f4f4; }
.ds-party-contact + .ds-party-contact { border-top: 1px solid #eee; }
.ds-contact-circle { display: flex; align-items: center; justify-content: center; width: 29px; height: 29px; flex: 0 0 29px; border: 1px solid #d5d5d5; border-radius: 50%; color: #666; }
.ds-contact-circle svg, .ds-popup-avatar svg { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 1.3; stroke-linecap: round; stroke-linejoin: round; }
.ds-contact-overlay { position: fixed; z-index: 999; inset: 0; display: flex; align-items: center; justify-content: center; padding: 22px; background: rgba(0,0,0,.2); opacity: 0; visibility: hidden; pointer-events: none; font-family: Arial, sans-serif; transition: opacity .22s ease, visibility .22s ease; }
.ds-contact-overlay.is-open { opacity: 1; visibility: visible; pointer-events: auto; }
.ds-contact-popup { position: relative; width: min(88vw, 290px); padding: 24px 20px 20px; border: 1px solid #cbe3d1; border-radius: 20px; background: #eaf6ed; box-shadow: 0 18px 50px rgba(0,0,0,.15); text-align: center; transform: scale(.96); transition: transform .22s ease; }
.ds-contact-overlay.is-open .ds-contact-popup { transform: scale(1); }
.ds-popup-close { position: absolute; top: 8px; right: 11px; padding: 0; border: 0; background: none; color: #55755f; font: 24px Arial, sans-serif; cursor: pointer; }
.ds-popup-avatar { display: flex; align-items: center; justify-content: center; width: 43px; height: 43px; margin: 0 auto 7px; border-radius: 50%; background: #fff; color: #27583a; }
.ds-popup-avatar svg { width: 21px; height: 21px; }
.ds-popup-name { color: #27583a; font-size: clamp(18px, 4.6cqw, 22px); }
.ds-popup-phone { margin-top: 4px; color: #5b7463; font-size: clamp(15px, 3.9cqw, 18px); }
.ds-whatsapp-button { display: flex; align-items: center; justify-content: center; gap: 7px; width: 100%; margin-top: 13px; padding: 9px 14px; border-radius: 999px; background: #25d366; color: #fff; text-decoration: none; font-size: clamp(15px, 3.8cqw, 18px); }
.ds-whatsapp-button svg { width: 19px; height: 19px; fill: #fff; }
.ds-whatsapp-button span { color: #fff; font-family: 'mores 2', Georgia, serif; }
.editor-preview [data-edit-field] { cursor: pointer; outline: 1px dashed transparent; outline-offset: 3px; }
.editor-preview [data-edit-field]:hover, .editor-preview [data-edit-field]:focus { outline-color: var(--ds-gray); }
.editor-preview .animate-on-scroll { opacity: 1; animation: none; }
.animate-on-scroll { opacity: 0; animation-fill-mode: both; animation-duration: 1.25s; }
.animate-on-scroll.visible.zoom-in { animation-name: ds-zoom-in; }
.animate-on-scroll.visible.fade-left { animation-name: ds-fade-left; }
.animate-on-scroll.visible.fade-right { animation-name: ds-fade-right; }
.animate-on-scroll.visible.zoom-up { animation-name: ds-zoom-up; }
.animate-on-scroll.visible { opacity: 1; }
@keyframes ds-zoom-in { 0% { opacity: 0; transform: scale3d(.3,.3,.3); } 50% { opacity: 1; } 100% { opacity: 1; transform: scale3d(1,1,1); } }
@keyframes ds-fade-left { 0% { opacity: 0; transform: translate3d(-100%,0,0); } 100% { opacity: 1; transform: none; } }
@keyframes ds-fade-right { 0% { opacity: 0; transform: translate3d(100%,0,0); } 100% { opacity: 1; transform: none; } }
@keyframes ds-zoom-up { 0% { opacity: 0; transform: scale3d(.1,.1,.1) translate3d(0,1000px,0); } 60% { opacity: 1; transform: scale3d(.475,.475,.475) translate3d(0,-60px,0); } 100% { opacity: 1; transform: none; } }
.bridal-closed { overflow: hidden; }
body.bridal-closed.invitation-public .public-invite-shell { opacity: 0; }
.bridal-opening { position: fixed; z-index: 150; inset: 0; display: flex; flex-direction: column; align-items: center; background: transparent; }
.bridal-opening-panel { width: min(100vw, 56.25dvh); flex: 1 1 50%; background-image: var(--bridal-opening-image); background-repeat: no-repeat; background-size: 100% 200%; }
.bridal-opening-top { background-position: center top; }
.bridal-opening-bottom { background-position: center bottom; }
.bridal-open-button { position: absolute; z-index: 2; top: 50%; left: 50%; transform: translate(-50%, -50%); padding: .9rem 1.4rem; border: 0; background: transparent; color: #fff; font: 600 16px MrsEavesSmallCaps, sans-serif; cursor: pointer; }
.bridal-open-button[hidden] { display: none; }
.bridal-opening-percent { position: absolute; z-index: 2; top: 50%; left: 50%; transform: translate(-50%, -50%); color: #fff; font: 100 16px/1 'Bodoni Moda', Georgia, serif; }
.bridal-opening.is-opening { pointer-events: none; }
.bridal-opening.is-opening .bridal-opening-top { animation: bridal-open-top .6s cubic-bezier(.22,.67,.24,1) forwards; }
.bridal-opening.is-opening .bridal-opening-bottom { animation: bridal-open-bottom .6s cubic-bezier(.22,.67,.24,1) forwards; }
.bridal-opening.is-opening .bridal-open-button { opacity: 0; transition: opacity .2s ease; }
.bridal-opening.is-opening .bridal-opening-percent { opacity: 0; }
.bridal-opening.is-fading { animation: bridal-fade-out .25s ease forwards; }
@keyframes bridal-open-top { to { transform: translateY(-100%); } }
@keyframes bridal-open-bottom { to { transform: translateY(100%); } }
@keyframes bridal-fade-out { to { opacity: 0; } }
.bridal-audio-toggle { position: fixed; z-index: 20; right: 16px; bottom: 16px; display: inline-flex; align-items: center; justify-content: center; width: 48px; height: 48px; padding: 12px; border: 0; border-radius: 50%; background: rgba(0,0,0,.75); color: #fff; box-shadow: 0 6px 18px rgba(0,0,0,.25); cursor: pointer; transition: transform .15s ease, background .2s ease; }
.bridal-audio-toggle:hover { transform: translateY(-2px); }
.bridal-audio-toggle.playing, .bridal-audio-toggle.paused { background: rgba(0,0,0,.18); }
.bridal-audio-toggle svg { display: block; width: 24px; height: 24px; }
.bridal-rotate-warning { display: none; position: fixed; z-index: 180; inset: 0; align-items: center; justify-content: center; padding: 24px; background: #fff; color: #202020; text-align: center; font-family: MrsEavesSmallCaps, Georgia, serif; }
.bridal-rotate-warning span { display: block; margin-bottom: 20px; font-size: 60px; animation: bridal-rotate 2s infinite ease-in-out; }
.bridal-rotate-warning h2 { margin: 8px 0; font-size: 25px; }
.bridal-rotate-warning p { max-width: 300px; margin: 0 auto; font-size: 17px; }
@keyframes bridal-rotate { 0%, 75%, 100% { transform: rotate(0deg); } 25%, 50% { transform: rotate(90deg); } }
@media (orientation: landscape) and (max-width: 900px), (orientation: landscape) and (max-height: 500px) { .bridal-rotate-warning { display: flex; } }
@media (max-height: 730px) { .ds-content { padding-top: 12px; padding-bottom: 12px; gap: 7px; } .ds-pretitle { font-size: 17px; } .ds-honor { margin-top: 5px; font-size: 11px; } .ds-date-number { font-size: 46px; } .ds-date-side { font-size: 15px; } .ds-date-separator { height: 36px; } .ds-event-line { font-size: 12px; } .ds-location-room { font-size: 16px; } .ds-location-button { margin-top: 5px; padding-top: 5px; padding-bottom: 5px; font-size: 12px; } .ds-gift-label { font-size: 14px; } .ds-gift-value { font-size: 10px; } .ds-party-button { padding-top: 5px; padding-bottom: 5px; font-size: 12px; } }
@media (max-width: 520px) { .bridal-opening-panel { width: 100%; } }
@media (prefers-reduced-motion: reduce) { .animate-on-scroll, .bridal-opening.is-opening .bridal-opening-panel { animation-duration: .01ms; } }
