.rsvp-section{background:var(--color-surface-overlay);width:100%;max-width:900px;box-shadow:var(--shadow-soft);border-radius:6px;margin:2rem auto 4rem;padding:2rem}.rsvp-title{font-family:var(--font-tinos),serif;text-align:center;color:var(--color-text-soft);margin-bottom:.5rem;font-size:2.5rem}.rsvp-sub{text-align:center;color:var(--color-text-secondary);margin-bottom:1rem}.rsvp-form{flex-direction:column;gap:12px;display:flex}.rsvp-form input[type=text],.rsvp-form input[type=email],.rsvp-form input[type=number],.rsvp-form select{border:1px solid var(--color-border-muted);background:var(--color-white);border-radius:6px;flex:1;padding:14px;font-size:1rem}.radio-row{align-items:center;gap:18px}.radio-row label{align-items:center;gap:8px;display:flex}.rsvp-form select[multiple]{min-height:64px}.submit{background:var(--color-primary);color:var(--color-white);border:none;border-radius:6px;padding:14px 24px;font-weight:700}.message{color:var(--color-text-primary);margin-top:8px;padding:8px}
.countdown{justify-content:center;align-items:center;width:75%;display:flex}.countdown-grid{justify-content:center;align-items:center;gap:3.5rem;width:100%;display:flex}.countdown-item{text-align:center;width:100%}.countdown-value{color:var(--color-text-secondary);font-size:5rem;font-weight:300;line-height:1}.countdown-label{color:var(--color-text-tertiary);margin-top:.5rem;font-size:1rem}@media (max-width:640px){.countdown-value{font-size:3rem}.countdown-grid{gap:1.5rem}}
.event-card{border:1px dashed var(--color-border-accent);background:var(--color-white);border-radius:8px;padding:1.25rem}.event-card-inner{flex-direction:column;align-items:center;gap:.75rem;height:100%;display:flex}.event-card .btn{border:1px solid #dcbebe99;font-weight:500}.event-image{background-position:50%;background-size:cover;border:4px solid #dcbebe99;border-radius:50%;width:110px;height:110px}.event-title{color:var(--color-text-soft);text-underline-offset:6px;margin:0;font-size:1.125rem;font-weight:700;text-decoration:underline}.event-detail{grid-template-rows:1fr auto;grid-template-columns:8% auto;gap:.5rem;width:100%;display:grid}.event-actions{flex-wrap:wrap;flex-grow:1;justify-content:space-between;align-items:end;gap:.5rem;width:100%;display:flex}@media (max-width:480px){.event-card{max-width:100%}.event-image{width:90px;height:90px}}
.add-to-calendar__button{cursor:pointer;box-shadow:var(--shadow-soft);border:none;border-radius:.5rem;justify-content:center;align-items:center;gap:.5rem;padding:.5rem 1rem;transition:all .3s;display:flex}.add-to-calendar__button:hover{box-shadow:var(--shadow-strong);background:linear-gradient(135deg,#4b5563 0%,#374151 100%);transform:translateY(-2px)}.add-to-calendar__button:active{transform:translateY(0)}.add-to-calendar__button svg{flex-shrink:0}.add-to-calendar__overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:10000;background:#0009;justify-content:center;align-items:center;padding:1rem;animation:.3s overlay-fade-in;display:flex;position:fixed;inset:0}.add-to-calendar__popup{background:var(--color-white);border-radius:1.25rem;width:100%;max-width:420px;padding:2rem;animation:.3s cubic-bezier(.4,0,.2,1) popup-slide-up;position:relative;box-shadow:0 20px 60px #0000004d}@media (max-width:768px){.add-to-calendar__popup{max-width:90vw;padding:1.5rem}}.add-to-calendar__close{cursor:pointer;color:#6b7280;background:#0000000d;border:none;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;font-size:1.25rem;transition:all .2s;display:flex;position:absolute;top:1rem;right:1rem}.add-to-calendar__close:hover{color:#374151;background:#0000001a;transform:scale(1.1)}.add-to-calendar__popup-header{text-align:center;margin-bottom:1.5rem}.add-to-calendar__popup-header svg{color:var(--color-primary);margin-bottom:.75rem}.add-to-calendar__popup-header h3{color:var(--color-text-primary);margin:0 0 .5rem;font-size:1.5rem;font-weight:700}.add-to-calendar__popup-header p{color:var(--color-text-secondary);margin:0;font-size:.875rem}.add-to-calendar__options{flex-direction:column;gap:.75rem;display:flex}.add-to-calendar__option{cursor:pointer;text-align:left;background:linear-gradient(135deg,#f9fafb 0%,#f3f4f6 100%);border:2px solid #0000;border-radius:.75rem;align-items:center;gap:1rem;width:100%;padding:1rem 1.25rem;transition:all .3s;display:flex}.add-to-calendar__option:hover{background:linear-gradient(135deg,#fef3f2 0%,#fee2e2 100%);border-color:#fecaca;transform:translate(4px);box-shadow:0 4px 12px #cd636326}.add-to-calendar__option:hover .add-to-calendar__option-icon{transform:scale(1.15)}.add-to-calendar__option:hover svg{transform:translate(4px)}.add-to-calendar__option:active{transform:translate(2px)scale(.98)}.add-to-calendar__option svg{color:#9ca3af;margin-left:auto;transition:all .3s}.add-to-calendar__option-icon{color:#374151;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-size:1.75rem;transition:transform .3s;display:flex}.add-to-calendar__option-icon svg{width:24px;height:24px;margin:0}.add-to-calendar__option-label{color:var(--color-text-primary);flex:1;font-size:1rem;font-weight:600}@keyframes overlay-fade-in{0%{opacity:0}to{opacity:1}}@keyframes popup-slide-up{0%{opacity:0;transform:translateY(20px)scale(.95)}to{opacity:1;transform:translateY(0)scale(1)}}
.wedding-calendar{width:100%;max-width:800px;margin:0 auto;padding:20px}.wedding-calendar__header{justify-content:center;margin-bottom:20px;display:flex}.wedding-calendar__icon{flex-direction:column;align-items:center;gap:-10px;display:flex}.wedding-calendar__arrow{margin-top:-10px}.wedding-calendar__container{border:2px solid var(--color-border-muted);background:var(--color-white);border-radius:8px;padding:30px}.wedding-calendar__title{text-align:center;color:var(--color-text-primary);font-size:1.75rem;font-weight:700;font-family:var(--font-tinos),serif;margin-bottom:30px}.wedding-calendar__weekdays{border-bottom:2px solid var(--color-border-muted);grid-template-columns:repeat(7,1fr);gap:10px;margin-bottom:15px;padding-bottom:15px;display:grid}.wedding-calendar__weekday{text-align:center;color:var(--color-text-primary);padding:10px 5px;font-size:1rem;font-weight:600}.wedding-calendar__days{grid-template-columns:repeat(7,1fr);gap:10px;display:grid}.wedding-calendar__day{aspect-ratio:1;color:var(--color-text-primary);border-radius:4px;justify-content:center;align-items:center;min-height:60px;font-size:1.125rem;display:flex;position:relative}.wedding-calendar__day--empty{visibility:hidden}.wedding-calendar__day--selected .wedding-calendar__day-heart{justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:relative}.wedding-calendar__day--selected .wedding-calendar__day-number{color:#fff;z-index:1;font-size:1.125rem;font-weight:700;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}@media (max-width:768px){.wedding-calendar{padding:15px}.wedding-calendar__container{padding:20px 15px}.wedding-calendar__title{margin-bottom:20px;font-size:1.5rem}.wedding-calendar__weekday{padding:8px 2px;font-size:.875rem}.wedding-calendar__day{min-height:50px;font-size:1rem}.wedding-calendar__icon{color:#c39898}.wedding-calendar__arrow{width:25px;height:25px}}@media (max-width:480px){.wedding-calendar{padding:10px}.wedding-calendar__container{padding:15px 10px}.wedding-calendar__title{margin-bottom:15px;font-size:1.25rem}.wedding-calendar__weekdays{gap:5px;margin-bottom:10px;padding-bottom:10px}.wedding-calendar__weekday{padding:5px 2px;font-size:.75rem}.wedding-calendar__days{gap:5px}.wedding-calendar__day{min-height:40px;font-size:.875rem}.wedding-calendar__day--selected .wedding-calendar__day-number{font-size:.875rem}.wedding-calendar__icon svg:first-child{width:40px;height:40px}.wedding-calendar__arrow{width:20px;height:20px}.wedding-calendar__day--selected svg{width:35px;height:35px}}
:root{--swiper-theme-color:#007aff}:host{z-index:1;margin-left:auto;margin-right:auto;display:block;position:relative}.swiper{z-index:1;margin-left:auto;margin-right:auto;padding:0;list-style:none;display:block;position:relative;overflow:hidden}.swiper-vertical>.swiper-wrapper{flex-direction:column}.swiper-wrapper{z-index:1;width:100%;height:100%;transition-property:transform;transition-timing-function:var(--swiper-wrapper-transition-timing-function,initial);box-sizing:content-box;display:flex;position:relative}.swiper-android .swiper-slide,.swiper-ios .swiper-slide,.swiper-wrapper{transform:translate(0,0)}.swiper-horizontal{touch-action:pan-y}.swiper-vertical{touch-action:pan-x}.swiper-slide{flex-shrink:0;width:100%;height:100%;transition-property:transform;display:block;position:relative}.swiper-slide-invisible-blank{visibility:hidden}.swiper-autoheight,.swiper-autoheight .swiper-slide{height:auto}.swiper-autoheight .swiper-wrapper{align-items:flex-start;transition-property:transform,height}.swiper-backface-hidden .swiper-slide{backface-visibility:hidden;transform:translateZ(0)}.swiper-3d.swiper-css-mode .swiper-wrapper{perspective:1200px}.swiper-3d .swiper-wrapper{transform-style:preserve-3d}.swiper-3d{perspective:1200px}.swiper-3d .swiper-slide,.swiper-3d .swiper-cube-shadow{transform-style:preserve-3d}.swiper-css-mode>.swiper-wrapper{scrollbar-width:none;-ms-overflow-style:none;overflow:auto}.swiper-css-mode>.swiper-wrapper::-webkit-scrollbar{display:none}.swiper-css-mode>.swiper-wrapper>.swiper-slide{scroll-snap-align:start start}.swiper-css-mode.swiper-horizontal>.swiper-wrapper{scroll-snap-type:x mandatory}.swiper-css-mode.swiper-horizontal>.swiper-wrapper>.swiper-slide:first-child{margin-inline-start:var(--swiper-slides-offset-before);scroll-margin-inline-start:var(--swiper-slides-offset-before)}.swiper-css-mode.swiper-horizontal>.swiper-wrapper>.swiper-slide:last-child{margin-inline-end:var(--swiper-slides-offset-after)}.swiper-css-mode.swiper-vertical>.swiper-wrapper{scroll-snap-type:y mandatory}.swiper-css-mode.swiper-vertical>.swiper-wrapper>.swiper-slide:first-child{margin-block-start:var(--swiper-slides-offset-before);scroll-margin-block-start:var(--swiper-slides-offset-before)}.swiper-css-mode.swiper-vertical>.swiper-wrapper>.swiper-slide:last-child{margin-block-end:var(--swiper-slides-offset-after)}.swiper-css-mode.swiper-free-mode>.swiper-wrapper{scroll-snap-type:none}.swiper-css-mode.swiper-free-mode>.swiper-wrapper>.swiper-slide{scroll-snap-align:none}.swiper-css-mode.swiper-centered>.swiper-wrapper:before{content:"";flex-shrink:0;order:9999}.swiper-css-mode.swiper-centered>.swiper-wrapper>.swiper-slide{scroll-snap-align:center center;scroll-snap-stop:always}.swiper-css-mode.swiper-centered.swiper-horizontal>.swiper-wrapper>.swiper-slide:first-child{margin-inline-start:var(--swiper-centered-offset-before)}.swiper-css-mode.swiper-centered.swiper-horizontal>.swiper-wrapper:before{height:100%;min-height:1px;width:var(--swiper-centered-offset-after)}.swiper-css-mode.swiper-centered.swiper-vertical>.swiper-wrapper>.swiper-slide:first-child{margin-block-start:var(--swiper-centered-offset-before)}.swiper-css-mode.swiper-centered.swiper-vertical>.swiper-wrapper:before{width:100%;min-width:1px;height:var(--swiper-centered-offset-after)}.swiper-3d .swiper-slide-shadow,.swiper-3d .swiper-slide-shadow-left,.swiper-3d .swiper-slide-shadow-right,.swiper-3d .swiper-slide-shadow-top,.swiper-3d .swiper-slide-shadow-bottom,.swiper-3d .swiper-slide-shadow,.swiper-3d .swiper-slide-shadow-left,.swiper-3d .swiper-slide-shadow-right,.swiper-3d .swiper-slide-shadow-top,.swiper-3d .swiper-slide-shadow-bottom{pointer-events:none;z-index:10;width:100%;height:100%;position:absolute;top:0;left:0}.swiper-3d .swiper-slide-shadow{background:#00000026}.swiper-3d .swiper-slide-shadow-left{background-image:linear-gradient(270deg,#00000080,#0000)}.swiper-3d .swiper-slide-shadow-right{background-image:linear-gradient(90deg,#00000080,#0000)}.swiper-3d .swiper-slide-shadow-top{background-image:linear-gradient(#0000,#00000080)}.swiper-3d .swiper-slide-shadow-bottom{background-image:linear-gradient(#00000080,#0000)}.swiper-lazy-preloader{z-index:10;transform-origin:50%;box-sizing:border-box;border:4px solid var(--swiper-preloader-color,var(--swiper-theme-color));border-top-color:#0000;border-radius:50%;width:42px;height:42px;margin-top:-21px;margin-left:-21px;position:absolute;top:50%;left:50%}:is(.swiper:not(.swiper-watch-progress),.swiper-watch-progress .swiper-slide-visible) .swiper-lazy-preloader{animation:1s linear infinite swiper-preloader-spin}.swiper-lazy-preloader-white{--swiper-preloader-color:#fff}.swiper-lazy-preloader-black{--swiper-preloader-color:#000}@keyframes swiper-preloader-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}
.carousel-container{justify-content:center;align-items:center;width:100%;min-height:420px;padding:1rem 0;display:flex;position:relative;overflow:hidden}.carousel-container--fullscreen{z-index:9999;width:100vw;height:100vh;position:fixed;top:0;left:0}.carousel-container--fullscreen .carousel-item{background-color:#000c;border-radius:0;justify-content:center;align-items:center;height:100vh;display:flex}.carousel-container--fullscreen .carousel-image{object-fit:contain;max-height:92vh}.carousel-container--fullscreen .carousel-content{height:100vh}.carousel-content{z-index:100;width:100%;position:relative}.carousel-swiper{perspective:1400px;width:100%;padding:1.5rem 0 2rem}.carousel-swiper.swiper{overflow:visible}.carousel-swiper .swiper-wrapper{align-items:center}.carousel-swiper .swiper-slide{opacity:.45;transform-style:preserve-3d;transition:transform .45s,opacity .35s}.carousel-swiper .swiper-slide-active{opacity:1}.carousel-swiper .swiper-slide-prev,.carousel-swiper .swiper-slide-next{opacity:.75}.carousel-swiper--fullscreen{padding:0}.carousel-swiper--fullscreen.swiper{overflow:hidden}.carousel-swiper--fullscreen .swiper-slide,.carousel-swiper--fullscreen .swiper-slide-prev,.carousel-swiper--fullscreen .swiper-slide-next,.carousel-swiper--fullscreen .swiper-slide-active{opacity:1}.carousel-swiper--fullscreen .carousel-item,.carousel-swiper--fullscreen .swiper-slide-active .carousel-item,.carousel-swiper--fullscreen .swiper-slide-prev .carousel-item,.carousel-swiper--fullscreen .swiper-slide-next .carousel-item{box-shadow:none;filter:none;clip-path:none;transform:none}.carousel-slide{height:auto}.carousel-slide--fullscreen{width:100vw;height:100vh}.carousel-image{object-fit:cover;border-radius:20px;width:100%;height:100%;max-height:52vh}.carousel-controls{z-index:101;pointer-events:none;justify-content:space-between;width:100%;padding-left:1rem;padding-right:1rem;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.carousel-controls button{color:#fff;cursor:pointer;width:var(--text-5xl);height:var(--text-5xl);pointer-events:auto;background:#fff;border:none;border-radius:50%;justify-content:center;font-size:2rem;display:flex}.carousel-controls .prev-button{transform:rotate(180deg)}.carousel-cover{z-index:1;pointer-events:none;background:#000c;width:100%;height:100%;position:absolute;top:0;left:0}.carousel-close{z-index:102;position:absolute;top:1rem;right:1rem}.carousel-close button{color:#fff;cursor:pointer;width:var(--text-4xl);height:var(--text-4xl);background:#00000080;border:none;border-radius:50%;justify-content:center;align-items:center;font-size:1.5rem;display:flex}
