/*
! tailwindcss v3.4.0 | MIT License | https://tailwindcss.com
*/*,:after,:before{border:0 solid #e5e7eb;box-sizing:border-box}:after,:before{--tw-content:""}:host,html{-webkit-text-size-adjust:100%;font-feature-settings:normal;-webkit-tap-highlight-color:transparent;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-variation-settings:normal;line-height:1.5;tab-size:4}body{line-height:inherit}hr{border-top-width:1px;color:inherit;height:0}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-feature-settings:normal;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em;font-variation-settings:normal}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:initial}sub{bottom:-.25em}sup{top:-.5em}table{border-collapse:collapse;border-color:inherit;text-indent:0}button,input,optgroup,select,textarea{font-feature-settings:inherit;color:inherit;font-family:inherit;font-size:100%;font-variation-settings:inherit;font-weight:inherit;line-height:inherit;margin:0;padding:0}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button;background-color:initial;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:initial}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::placeholder,textarea::placeholder{color:#9ca3af;opacity:1}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{height:auto;max-width:100%}[hidden]{display:none}*,::backdrop,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#3b82f680;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }.visible{visibility:visible}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.bottom-0{bottom:0}.left-16{left:4rem}.top-0{top:0}.z-10{z-index:10}.z-50{z-index:50}.mx-4{margin-left:1rem;margin-right:1rem}.mx-auto{margin-left:auto;margin-right:auto}.-mb-8{margin-bottom:-2rem}.-mt-4{margin-top:-1rem}.mb-12{margin-bottom:3rem}.mb-16{margin-bottom:4rem}.mb-2{margin-bottom:.5rem}.mb-4{margin-bottom:1rem}.mb-6{margin-bottom:1.5rem}.mb-8{margin-bottom:2rem}.mt-2{margin-top:.5rem}.mt-8{margin-top:2rem}.block{display:block}.flex{display:flex}.table{display:table}.grid{display:grid}.hidden{display:none}.h-16{height:4rem}.h-20{height:5rem}.h-32{height:8rem}.h-40{height:10rem}.min-h-screen{min-height:100vh}.w-0{width:0}.w-0\.5{width:.125rem}.w-16{width:4rem}.w-20{width:5rem}.w-auto{width:auto}.w-full{width:100%}.max-w-2xl{max-width:42rem}.max-w-3xl{max-width:48rem}.max-w-4xl{max-width:56rem}.max-w-7xl{max-width:80rem}.flex-1{flex:1 1}.flex-shrink-0{flex-shrink:0}.scale-105{--tw-scale-x:1.05;--tw-scale-y:1.05}.scale-105,.scale-110{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.scale-110{--tw-scale-x:1.1;--tw-scale-y:1.1}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.animate-fade-in-up{animation:fadeInUp .6s ease-out}@keyframes marquee{0%{transform:translateX(0)}to{transform:translateX(-50%)}}.animate-marquee{animation:marquee 30s linear infinite}.cursor-pointer{cursor:pointer}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.items-start{align-items:flex-start}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-6{gap:1.5rem}.gap-8{gap:2rem}.space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-left:calc(1rem*(1 - var(--tw-space-x-reverse)));margin-right:calc(1rem*var(--tw-space-x-reverse))}.space-x-6>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-left:calc(1.5rem*(1 - var(--tw-space-x-reverse)));margin-right:calc(1.5rem*var(--tw-space-x-reverse))}.space-x-8>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-left:calc(2rem*(1 - var(--tw-space-x-reverse)));margin-right:calc(2rem*var(--tw-space-x-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(.5rem*var(--tw-space-y-reverse));margin-top:calc(.5rem*(1 - var(--tw-space-y-reverse)))}.space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(1.5rem*var(--tw-space-y-reverse));margin-top:calc(1.5rem*(1 - var(--tw-space-y-reverse)))}.space-y-8>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(2rem*var(--tw-space-y-reverse));margin-top:calc(2rem*(1 - var(--tw-space-y-reverse)))}.overflow-hidden{overflow:hidden}.whitespace-nowrap{white-space:nowrap}.rounded-2xl{border-radius:1rem}.rounded-full{border-radius:9999px}.rounded-xl{border-radius:.75rem}.border{border-width:1px}.border-2{border-width:2px}.border-b{border-bottom-width:1px}.border-t{border-top-width:1px}.border-coral-100{--tw-border-opacity:1;border-color:rgb(254 226 226/var(--tw-border-opacity))}.border-coral-200{--tw-border-opacity:1;border-color:rgb(254 202 202/var(--tw-border-opacity))}.border-gray-100{--tw-border-opacity:1;border-color:rgb(243 244 246/var(--tw-border-opacity))}.border-gray-200{--tw-border-opacity:1;border-color:rgb(229 231 235/var(--tw-border-opacity))}.border-gray-300{--tw-border-opacity:1;border-color:rgb(209 213 219/var(--tw-border-opacity))}.border-gray-700{--tw-border-opacity:1;border-color:rgb(55 65 81/var(--tw-border-opacity))}.bg-coral-50{--tw-bg-opacity:1;background-color:rgb(254 242 242/var(--tw-bg-opacity))}.bg-coral-500{--tw-bg-opacity:1;background-color:rgb(255 111 107/var(--tw-bg-opacity))}.bg-gray-100{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity))}.bg-gray-50{--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity))}.bg-gray-900{--tw-bg-opacity:1;background-color:rgb(17 24 39/var(--tw-bg-opacity))}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}.bg-gradient-to-b{background-image:linear-gradient(to bottom,var(--tw-gradient-stops))}.bg-gradient-to-r{background-image:linear-gradient(to right,var(--tw-gradient-stops))}.from-coral-200{--tw-gradient-from:#fecaca var(--tw-gradient-from-position);--tw-gradient-to:#fecaca00 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-coral-400{--tw-gradient-from:#f87171 var(--tw-gradient-from-position);--tw-gradient-to:#f8717100 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.to-coral-100{--tw-gradient-to:#fee2e2 var(--tw-gradient-to-position)}.to-coral-500{--tw-gradient-to:#ff6f6b var(--tw-gradient-to-position)}.object-contain{object-fit:contain}.p-6{padding:1.5rem}.p-8{padding:2rem}.px-4{padding-left:1rem;padding-right:1rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.px-8{padding-left:2rem;padding-right:2rem}.py-12{padding-bottom:3rem;padding-top:3rem}.py-2{padding-bottom:.5rem;padding-top:.5rem}.py-20{padding-bottom:5rem;padding-top:5rem}.py-3{padding-bottom:.75rem;padding-top:.75rem}.py-4{padding-bottom:1rem;padding-top:1rem}.py-8{padding-bottom:2rem;padding-top:2rem}.pb-12{padding-bottom:3rem}.pb-16{padding-bottom:4rem}.pb-20{padding-bottom:5rem}.pt-12{padding-top:3rem}.pt-16{padding-top:4rem}.pt-2{padding-top:.5rem}.pt-24{padding-top:6rem}.pt-4{padding-top:1rem}.pt-8{padding-top:2rem}.text-center{text-align:center}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-4xl{font-size:2.25rem;line-height:2.5rem}.text-5xl{font-size:3rem;line-height:1}.text-6xl{font-size:3.75rem;line-height:1}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.font-bold{font-weight:700}.font-semibold{font-weight:600}.leading-relaxed{line-height:1.625}.leading-tight{line-height:1.25}.text-coral-400{--tw-text-opacity:1;color:rgb(248 113 113/var(--tw-text-opacity))}.text-coral-600{--tw-text-opacity:1;color:rgb(220 38 38/var(--tw-text-opacity))}.text-gray-300{--tw-text-opacity:1;color:rgb(209 213 219/var(--tw-text-opacity))}.text-gray-400{--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity))}.text-gray-500{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity))}.text-gray-600{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity))}.text-gray-900{--tw-text-opacity:1;color:rgb(17 24 39/var(--tw-text-opacity))}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.placeholder-gray-500::placeholder{--tw-placeholder-opacity:1;color:rgb(107 114 128/var(--tw-placeholder-opacity))}.opacity-100{opacity:1}.opacity-70{opacity:.7}.opacity-80{opacity:.8}.shadow-lg{--tw-shadow:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a;--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color)}.shadow-lg,.shadow-sm{box-shadow:0 0 #0000,0 0 #0000,var(--tw-shadow);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 2px 0 #0000000d;--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-all{transition-duration:.15s;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-colors{transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1)}.duration-300{transition-duration:.3s}.duration-500{transition-duration:.5s}.hover\:scale-105:hover{--tw-scale-x:1.05;--tw-scale-y:1.05;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:bg-coral-600:hover{--tw-bg-opacity:1;background-color:rgb(220 38 38/var(--tw-bg-opacity))}.hover\:from-coral-500:hover{--tw-gradient-from:#ff6f6b var(--tw-gradient-from-position);--tw-gradient-to:#ff6f6b00 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.hover\:to-coral-600:hover{--tw-gradient-to:#dc2626 var(--tw-gradient-to-position)}.hover\:text-gray-800:hover{--tw-text-opacity:1;color:rgb(31 41 55/var(--tw-text-opacity))}.hover\:text-white:hover{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.focus\:border-transparent:focus{border-color:#0000}.focus\:outline-none:focus{outline:2px solid #0000;outline-offset:2px}.focus\:ring-2:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),0 0 #0000;box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus\:ring-coral-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(255 111 107/var(--tw-ring-opacity))}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}@media (min-width:640px){.sm\:h-20{height:5rem}.sm\:h-32{height:8rem}.sm\:px-6{padding-left:1.5rem;padding-right:1.5rem}.sm\:pt-36{padding-top:9rem}.sm\:text-2xl{font-size:1.5rem;line-height:2rem}.sm\:text-5xl{font-size:3rem;line-height:1}.sm\:text-6xl{font-size:3.75rem;line-height:1}}@media (min-width:768px){.md\:block{display:block}.md\:flex{display:flex}.md\:hidden{display:none}.md\:h-32{height:8rem}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:pt-40{padding-top:10rem}}@media (min-width:1024px){.lg\:block{display:block}.lg\:hidden{display:none}.lg\:h-48{height:12rem}.lg\:px-8{padding-left:2rem;padding-right:2rem}.lg\:py-20{padding-bottom:5rem;padding-top:5rem}}.password-protection{align-items:center;background:linear-gradient(135deg,#faf9f7,#f5f3f0);display:flex;font-family:Georgia,Times New Roman,serif;justify-content:center;min-height:100vh;padding:20px}.password-layout{align-items:stretch;display:flex;justify-content:center;margin:0 auto;max-width:1200px;width:100%}.wedding-photo-section{border-radius:12px 0 0 12px;box-shadow:0 20px 60px #0000001a;flex:1 1;max-width:500px;overflow:hidden}.wedding-photo{height:100%;object-fit:cover;object-position:center;width:100%}.password-container{flex:1 1;max-width:500px}.password-card{background:#fff;border:1px solid #d4af371a;border-radius:0 12px 12px 0;box-shadow:0 20px 60px #0000001a;display:flex;flex-direction:column;height:100%;justify-content:center;padding:3rem 2.5rem;text-align:center}.logo-section{margin-bottom:2.5rem}.logo-container{display:flex;justify-content:center;margin-bottom:-1rem}.password-logo{height:200px;object-fit:contain;width:auto}.logo-section h1{color:#2c2c2c;font-family:Playfair Display,Georgia,Times New Roman,serif;font-size:3.2rem;font-style:normal;font-weight:300;letter-spacing:.5px;line-height:1.1;margin:0 0 .5rem;text-transform:none}.logo-section p{color:#8b7355;font-size:1.3rem;font-style:italic;line-height:1.5;margin:0 0 1rem}.album-subtitle{margin-top:1rem}.album-subtitle span{color:#8b7355;font-size:1rem;line-height:1.5;opacity:.9}.password-form{margin-bottom:2rem}.input-group{margin-bottom:1.5rem;position:relative}.password-input{background:#fff;border:1.5px solid #e7d7b6;border-radius:8px;box-sizing:border-box;font-family:inherit;font-size:1rem;padding:1rem 3rem 1rem 1.25rem;transition:all .2s ease;width:100%}.password-input:focus{border-color:#8b7355;box-shadow:0 0 0 3px #8b73551a;outline:none}.password-input:disabled{background:#f5f3f0;cursor:not-allowed}.toggle-password{background:none;border:none;border-radius:5px;color:#8b7355;cursor:pointer;padding:5px;position:absolute;right:15px;top:50%;transform:translateY(-50%);transition:color .2s ease}.toggle-password:hover{color:#7a6347}.toggle-password:disabled{cursor:not-allowed;opacity:.5}.error-message{background:#fef2f2;border:1px solid #fecaca;border-radius:6px;color:#dc2626;font-size:.9rem;margin-bottom:1.5rem;padding:.75rem 1rem}.submit-button{background:#8b7355;border:none;border-radius:6px;color:#fff;cursor:pointer;font-family:inherit;font-size:1.1rem;font-weight:500;padding:1rem 2rem;transition:background-color .2s ease;width:100%}.submit-button:hover:not(:disabled){background:#7a6347}.submit-button:disabled{cursor:not-allowed;opacity:.6}.footer-text{color:#8b7355;font-size:.9rem;line-height:1.5;opacity:.8;text-align:center}.footer-text p{margin:0}@media (max-width:768px){.password-layout{justify-content:center}.wedding-photo-section{display:none}.password-container{flex:none;max-width:100%}.password-card{border-radius:12px;padding:2rem 1.5rem}.logo-section h1{font-size:2.5rem}.password-logo{height:160px}}@font-face{font-family:swiper-icons;font-style:normal;font-weight:400;src:url("data:application/font-woff;charset=utf-8;base64, d09GRgABAAAAAAZgABAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAAGRAAAABoAAAAci6qHkUdERUYAAAWgAAAAIwAAACQAYABXR1BPUwAABhQAAAAuAAAANuAY7+xHU1VCAAAFxAAAAFAAAABm2fPczU9TLzIAAAHcAAAASgAAAGBP9V5RY21hcAAAAkQAAACIAAABYt6F0cBjdnQgAAACzAAAAAQAAAAEABEBRGdhc3AAAAWYAAAACAAAAAj//wADZ2x5ZgAAAywAAADMAAAD2MHtryVoZWFkAAABbAAAADAAAAA2E2+eoWhoZWEAAAGcAAAAHwAAACQC9gDzaG10eAAAAigAAAAZAAAArgJkABFsb2NhAAAC0AAAAFoAAABaFQAUGG1heHAAAAG8AAAAHwAAACAAcABAbmFtZQAAA/gAAAE5AAACXvFdBwlwb3N0AAAFNAAAAGIAAACE5s74hXjaY2BkYGAAYpf5Hu/j+W2+MnAzMYDAzaX6QjD6/4//Bxj5GA8AuRwMYGkAPywL13jaY2BkYGA88P8Agx4j+/8fQDYfA1AEBWgDAIB2BOoAeNpjYGRgYNBh4GdgYgABEMnIABJzYNADCQAACWgAsQB42mNgYfzCOIGBlYGB0YcxjYGBwR1Kf2WQZGhhYGBiYGVmgAFGBiQQkOaawtDAoMBQxXjg/wEGPcYDDA4wNUA2CCgwsAAAO4EL6gAAeNpj2M0gyAACqxgGNWBkZ2D4/wMA+xkDdgAAAHjaY2BgYGaAYBkGRgYQiAHyGMF8FgYHIM3DwMHABGQrMOgyWDLEM1T9/w8UBfEMgLzE////P/5//f/V/xv+r4eaAAeMbAxwIUYmIMHEgKYAYjUcsDAwsLKxc3BycfPw8jEQA/gZBASFhEVExcQlJKWkZWTl5BUUlZRVVNXUNTQZBgMAAMR+E+gAEQFEAAAAKgAqACoANAA+AEgAUgBcAGYAcAB6AIQAjgCYAKIArAC2AMAAygDUAN4A6ADyAPwBBgEQARoBJAEuATgBQgFMAVYBYAFqAXQBfgGIAZIBnAGmAbIBzgHsAAB42u2NMQ6CUAyGW568x9AneYYgm4MJbhKFaExIOAVX8ApewSt4Bic4AfeAid3VOBixDxfPYEza5O+Xfi04YADggiUIULCuEJK8VhO4bSvpdnktHI5QCYtdi2sl8ZnXaHlqUrNKzdKcT8cjlq+rwZSvIVczNiezsfnP/uznmfPFBNODM2K7MTQ45YEAZqGP81AmGGcF3iPqOop0r1SPTaTbVkfUe4HXj97wYE+yNwWYxwWu4v1ugWHgo3S1XdZEVqWM7ET0cfnLGxWfkgR42o2PvWrDMBSFj/IHLaF0zKjRgdiVMwScNRAoWUoH78Y2icB/yIY09An6AH2Bdu/UB+yxopYshQiEvnvu0dURgDt8QeC8PDw7Fpji3fEA4z/PEJ6YOB5hKh4dj3EvXhxPqH/SKUY3rJ7srZ4FZnh1PMAtPhwP6fl2PMJMPDgeQ4rY8YT6Gzao0eAEA409DuggmTnFnOcSCiEiLMgxCiTI6Cq5DZUd3Qmp10vO0LaLTd2cjN4fOumlc7lUYbSQcZFkutRG7g6JKZKy0RmdLY680CDnEJ+UMkpFFe1RN7nxdVpXrC4aTtnaurOnYercZg2YVmLN/d/gczfEimrE/fs/bOuq29Zmn8tloORaXgZgGa78yO9/cnXm2BpaGvq25Dv9S4E9+5SIc9PqupJKhYFSSl47+Qcr1mYNAAAAeNptw0cKwkAAAMDZJA8Q7OUJvkLsPfZ6zFVERPy8qHh2YER+3i/BP83vIBLLySsoKimrqKqpa2hp6+jq6RsYGhmbmJqZSy0sraxtbO3sHRydnEMU4uR6yx7JJXveP7WrDycAAAAAAAH//wACeNpjYGRgYOABYhkgZgJCZgZNBkYGLQZtIJsFLMYAAAw3ALgAeNolizEKgDAQBCchRbC2sFER0YD6qVQiBCv/H9ezGI6Z5XBAw8CBK/m5iQQVauVbXLnOrMZv2oLdKFa8Pjuru2hJzGabmOSLzNMzvutpB3N42mNgZGBg4GKQYzBhYMxJLMlj4GBgAYow/P/PAJJhLM6sSoWKfWCAAwDAjgbRAAB42mNgYGBkAIIbCZo5IPrmUn0hGA0AO8EFTQAA")}:root{--swiper-theme-color:#007aff}:host{display:block;margin-left:auto;margin-right:auto;position:relative;z-index:1}.swiper{display:block;list-style:none;margin-left:auto;margin-right:auto;overflow:hidden;padding:0;position:relative;z-index:1}.swiper-vertical>.swiper-wrapper{flex-direction:column}.swiper-wrapper{box-sizing:initial;display:flex;height:100%;position:relative;transition-property:transform;transition-timing-function:ease;transition-timing-function:var(--swiper-wrapper-transition-timing-function,initial);width:100%;z-index:1}.swiper-android .swiper-slide,.swiper-ios .swiper-slide,.swiper-wrapper{transform:translateZ(0)}.swiper-horizontal{touch-action:pan-y}.swiper-vertical{touch-action:pan-x}.swiper-slide{display:block;flex-shrink:0;height:100%;position:relative;transition-property:transform;width:100%}.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-cube-shadow,.swiper-3d .swiper-slide{transform-style:preserve-3d}.swiper-css-mode>.swiper-wrapper{-ms-overflow-style:none;overflow:auto;scrollbar-width:none}.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-vertical>.swiper-wrapper{scroll-snap-type:y mandatory}.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{height:var(--swiper-centered-offset-after);min-width:1px;width:100%}.swiper-3d .swiper-slide-shadow,.swiper-3d .swiper-slide-shadow-bottom,.swiper-3d .swiper-slide-shadow-left,.swiper-3d .swiper-slide-shadow-right,.swiper-3d .swiper-slide-shadow-top{height:100%;left:0;pointer-events:none;position:absolute;top:0;width:100%;z-index:10}.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(0deg,#00000080,#0000)}.swiper-3d .swiper-slide-shadow-bottom{background-image:linear-gradient(180deg,#00000080,#0000)}.swiper-lazy-preloader{border:4px solid #007aff;border:4px solid var(--swiper-preloader-color,var(--swiper-theme-color));border-radius:50%;border-top:4px solid #0000;box-sizing:border-box;height:42px;left:50%;margin-left:-21px;margin-top:-21px;position:absolute;top:50%;transform-origin:50%;width:42px;z-index:10}.swiper-watch-progress .swiper-slide-visible .swiper-lazy-preloader,.swiper:not(.swiper-watch-progress) .swiper-lazy-preloader{animation:swiper-preloader-spin 1s linear infinite}.swiper-lazy-preloader-white{--swiper-preloader-color:#fff}.swiper-lazy-preloader-black{--swiper-preloader-color:#000}@keyframes swiper-preloader-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}:root{--swiper-navigation-size:44px}.swiper-button-next,.swiper-button-prev{align-items:center;color:var(--swiper-theme-color);color:var(--swiper-navigation-color,var(--swiper-theme-color));cursor:pointer;display:flex;height:44px;height:var(--swiper-navigation-size);justify-content:center;margin-top:-22px;margin-top:calc(0px - var(--swiper-navigation-size)/2);position:absolute;top:50%;top:var(--swiper-navigation-top-offset,50%);width:27px;width:calc(var(--swiper-navigation-size)/44*27);z-index:10}.swiper-button-next.swiper-button-disabled,.swiper-button-prev.swiper-button-disabled{cursor:auto;opacity:.35;pointer-events:none}.swiper-button-next.swiper-button-hidden,.swiper-button-prev.swiper-button-hidden{cursor:auto;opacity:0;pointer-events:none}.swiper-navigation-disabled .swiper-button-next,.swiper-navigation-disabled .swiper-button-prev{display:none!important}.swiper-button-next svg,.swiper-button-prev svg{height:100%;object-fit:contain;transform-origin:center;width:100%}.swiper-rtl .swiper-button-next svg,.swiper-rtl .swiper-button-prev svg{transform:rotate(180deg)}.swiper-button-prev,.swiper-rtl .swiper-button-next{left:10px;left:var(--swiper-navigation-sides-offset,10px);right:auto}.swiper-button-lock{display:none}.swiper-button-next:after,.swiper-button-prev:after{font-family:swiper-icons;font-size:44px;font-size:var(--swiper-navigation-size);font-variant:normal;letter-spacing:0;line-height:1;text-transform:none!important}.swiper-button-prev:after,.swiper-rtl .swiper-button-next:after{content:"prev"}.swiper-button-next,.swiper-rtl .swiper-button-prev{left:auto;right:10px;right:var(--swiper-navigation-sides-offset,10px)}.swiper-button-next:after,.swiper-rtl .swiper-button-prev:after{content:"next"}.swiper-pagination{position:absolute;transform:translateZ(0);transition:opacity .3s;z-index:10}.swiper-pagination.swiper-pagination-hidden{opacity:0}.swiper-pagination-disabled>.swiper-pagination,.swiper-pagination.swiper-pagination-disabled{display:none!important}.swiper-horizontal>.swiper-pagination-bullets,.swiper-pagination-bullets.swiper-pagination-horizontal,.swiper-pagination-custom,.swiper-pagination-fraction{bottom:8px;bottom:var(--swiper-pagination-bottom,8px);left:0;top:auto;top:var(--swiper-pagination-top,auto);width:100%}.swiper-pagination-bullets-dynamic{font-size:0;overflow:hidden}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{position:relative;transform:scale(.33)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active,.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-main{transform:scale(1)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev{transform:scale(.66)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev-prev{transform:scale(.33)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next{transform:scale(.66)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next-next{transform:scale(.33)}.swiper-pagination-bullet{background:#000;background:var(--swiper-pagination-bullet-inactive-color,#000);border-radius:var(--swiper-pagination-bullet-border-radius,50%);display:inline-block;height:var(--swiper-pagination-bullet-height,var(--swiper-pagination-bullet-size,8px));opacity:.2;opacity:var(--swiper-pagination-bullet-inactive-opacity,.2);width:var(--swiper-pagination-bullet-width,var(--swiper-pagination-bullet-size,8px))}button.swiper-pagination-bullet{appearance:none;border:none;box-shadow:none;margin:0;padding:0}.swiper-pagination-clickable .swiper-pagination-bullet{cursor:pointer}.swiper-pagination-bullet:only-child{display:none!important}.swiper-pagination-bullet-active{background:var(--swiper-theme-color);background:var(--swiper-pagination-color,var(--swiper-theme-color));opacity:var(--swiper-pagination-bullet-opacity,1)}.swiper-pagination-vertical.swiper-pagination-bullets,.swiper-vertical>.swiper-pagination-bullets{left:auto;left:var(--swiper-pagination-left,auto);right:8px;right:var(--swiper-pagination-right,8px);top:50%;transform:translate3d(0,-50%,0)}.swiper-pagination-vertical.swiper-pagination-bullets .swiper-pagination-bullet,.swiper-vertical>.swiper-pagination-bullets .swiper-pagination-bullet{display:block;margin:6px 0;margin:var(--swiper-pagination-bullet-vertical-gap,6px) 0}.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic,.swiper-vertical>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic{top:50%;transform:translateY(-50%);width:8px}.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet,.swiper-vertical>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{display:inline-block;transition:transform .2s,top .2s}.swiper-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet,.swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet{margin:0 4px;margin:0 var(--swiper-pagination-bullet-horizontal-gap,4px)}.swiper-horizontal>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic,.swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic{left:50%;transform:translateX(-50%);white-space:nowrap}.swiper-horizontal>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet,.swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{transition:transform .2s,left .2s}.swiper-horizontal.swiper-rtl>.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{transition:transform .2s,right .2s}.swiper-pagination-fraction{color:inherit;color:var(--swiper-pagination-fraction-color,inherit)}.swiper-pagination-progressbar{background:#00000040;background:var(--swiper-pagination-progressbar-bg-color,#00000040);position:absolute}.swiper-pagination-progressbar .swiper-pagination-progressbar-fill{background:var(--swiper-theme-color);background:var(--swiper-pagination-color,var(--swiper-theme-color));height:100%;left:0;position:absolute;top:0;transform:scale(0);transform-origin:left top;width:100%}.swiper-rtl .swiper-pagination-progressbar .swiper-pagination-progressbar-fill{transform-origin:right top}.swiper-horizontal>.swiper-pagination-progressbar,.swiper-pagination-progressbar.swiper-pagination-horizontal,.swiper-pagination-progressbar.swiper-pagination-vertical.swiper-pagination-progressbar-opposite,.swiper-vertical>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite{height:4px;height:var(--swiper-pagination-progressbar-size,4px);left:0;top:0;width:100%}.swiper-horizontal>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite,.swiper-pagination-progressbar.swiper-pagination-horizontal.swiper-pagination-progressbar-opposite,.swiper-pagination-progressbar.swiper-pagination-vertical,.swiper-vertical>.swiper-pagination-progressbar{height:100%;left:0;top:0;width:4px;width:var(--swiper-pagination-progressbar-size,4px)}.swiper-pagination-lock{display:none}.photo-album.stacked-book-bg{align-items:center;background:radial-gradient(ellipse at center,#e0e0e0 60%,#888 100%);display:flex;flex-direction:column;min-height:100vh;overflow:hidden;position:relative}.page-stack:before{background:radial-gradient(ellipse at center,#00000021 0,#00000003 100%);content:"";filter:blur(2px);height:60px;left:50%;pointer-events:none;position:absolute;top:60%;transform:translate(-50%);width:600px;z-index:1}.page-stack{height:420px;margin-bottom:40px;margin-top:40px;perspective:1800px;position:relative;width:700px;z-index:10}.page-sheet,.page-stack{align-items:center;display:flex;justify-content:center}.page-sheet{background:#fff;border:1.5px solid #f3f0e8;border-radius:22px;box-shadow:0 4px 32px #00000021,0 1.5px 8px #00000014;flex-direction:column;height:400px;left:50%;min-height:0;min-width:0;overflow:hidden;pointer-events:none;position:absolute;top:50%;transform-style:preserve-3d;transition:transform .6s cubic-bezier(.4,0,.2,1),box-shadow .3s,z-index .3s;width:320px;z-index:1}.page-sheet.active{box-shadow:0 8px 40px #0000002e,0 2px 12px #0000001a;pointer-events:auto;transform:translate(-50%,-50%) rotateY(0deg) scale(1.04);z-index:20}.page-sheet.left{box-shadow:-2px 0 16px -4px #0000001a;z-index:10}.page-sheet.right{box-shadow:2px 0 16px -4px #0000001a;z-index:10}.page-sheet.left{transform:translate(-50%,-50%) rotateY(-30deg) scale(.96) translateX(-120px)}.page-sheet.left2{opacity:.7;transform:translate(-50%,-50%) rotateY(-50deg) scale(.92) translateX(-200px);z-index:5}.page-sheet.left3{opacity:.5;transform:translate(-50%,-50%) rotateY(-65deg) scale(.88) translateX(-270px);z-index:2}.page-sheet.right{transform:translate(-50%,-50%) rotateY(30deg) scale(.96) translateX(120px)}.page-sheet.right2{opacity:.7;transform:translate(-50%,-50%) rotateY(50deg) scale(.92) translateX(200px);z-index:5}.page-sheet.right3{opacity:.5;transform:translate(-50%,-50%) rotateY(65deg) scale(.88) translateX(270px);z-index:2}.page-content{align-items:center;background:none;display:flex;flex-direction:column;height:100%;justify-content:center;padding:32px 24px 24px;width:100%}.album-photo{background:#f3f0e8;border-radius:14px;box-shadow:0 2px 12px #0000001a;margin-bottom:18px;max-height:180px;max-width:240px;object-fit:cover;width:100%}.photo-info{color:#4a5568;text-align:center}.photo-title{color:#2d3748;font-size:18px;font-weight:600;letter-spacing:.5px;margin:0 0 8px}.photo-credit{font-size:14px;font-style:italic;margin:0;opacity:.8}.spread-number{background:#ffffffeb;border-radius:16px;bottom:18px;box-shadow:0 2px 8px #00000012;color:#4a5568;font-size:13px;font-weight:600;left:50%;padding:6px 18px;position:absolute;transform:translateX(-50%);z-index:3}.book-controls{gap:32px;margin-bottom:32px;margin-top:0;z-index:30}.book-controls,.book-controls button{align-items:center;display:flex;justify-content:center}.book-controls button{background:#fffffff2;border:none;border-radius:50%;box-shadow:0 2px 8px #0000001a;color:#4a5568;cursor:pointer;font-size:22px;height:48px;transition:background .2s,color .2s,box-shadow .2s;width:48px}.book-controls button:hover{background:#f7fafc;box-shadow:0 4px 16px #00000021;color:#2d3748}@media (max-width:900px){.page-stack{height:260px;width:98vw}.page-sheet{border-radius:12px;height:220px;width:180px}.album-photo{border-radius:8px;max-height:60px;max-width:90px}.spread-number{font-size:11px;padding:3px 8px}}.wedding-bg{align-items:center;background:linear-gradient(135deg,#faf9f7,#f5f3f0);display:flex;flex-direction:column;font-family:Georgia,Times New Roman,serif;min-height:100vh;position:relative}.wedding-header{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff2;border-bottom:1px solid #d4af371a;overflow:visible;padding:0;position:sticky;top:0;width:100%;z-index:100}.wedding-header-inner{align-items:center;display:flex;justify-content:space-between;margin:0 auto;max-width:1200px;min-height:0;padding:0 2rem}.header-controls{align-items:center;display:flex;gap:1rem}.view-toggle{background:#ffffffe6;border:1px solid #8b735533;border-radius:25px;box-shadow:0 2px 8px #0000001a;display:flex;padding:4px}.toggle-btn{background:#0000;border:none;border-radius:20px;color:#8b7355;cursor:pointer;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:.9rem;font-weight:500;padding:8px 16px;transition:all .2s ease}.toggle-btn.active{background:#8b7355;box-shadow:0 2px 4px #8b73554d;color:#fff}.toggle-btn:hover:not(.active){background:#8b73551a}.wedding-collage-container{align-items:center;background:linear-gradient(135deg,#faf9f7,#f5f3f0);display:flex;flex-direction:column;min-height:85vh;padding:2rem;position:relative;width:100%;z-index:20}.collage-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));max-width:1400px;width:100%}.collage-item{background:#fff;border:1.5px solid #e7d7b6;border-radius:12px;box-shadow:0 8px 24px #0000001a;cursor:pointer;overflow:hidden;transition:transform .2s ease,box-shadow .2s ease}.collage-item:hover{box-shadow:0 12px 32px #00000026;transform:translateY(-4px)}.collage-item img{height:auto;object-fit:contain;object-position:center;transition:opacity .3s ease;width:100%}.collage-item img.loaded{opacity:1}.collage-item img:not(.loaded){opacity:0}.collage-item .video-thumbnail{aspect-ratio:3/4;height:auto}.video-thumbnail{border-radius:12px;cursor:pointer;height:500px;overflow:hidden;position:relative;width:100%}.video-thumbnail video{border-radius:12px;height:100%;object-fit:cover;width:100%}@media (max-width:900px){.video-thumbnail{height:280px}}.play-button{align-items:center;background:#000000b3;border-radius:50%;color:#fff;display:flex;font-size:24px;font-weight:700;height:60px;justify-content:center;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);transition:all .3s ease;width:60px;z-index:2}.video-thumbnail:hover .play-button{background:#000000e6;transform:translate(-50%,-50%) scale(1.1)}.modal-video{border-radius:8px;box-shadow:0 4px 20px #0000004d;height:auto;max-height:90vh;max-width:100%;width:auto}.wedding-logo{align-items:center;display:flex;margin-bottom:-60px;margin-top:-60px}.wedding-logo img{height:200px;object-fit:contain;width:auto}.wedding-upload-btn{background:#8b7355;border:none;border-radius:20px;box-shadow:0 2px 4px #8b73554d;color:#fff;cursor:pointer;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:.9rem;font-weight:500;padding:8px 16px;transition:all .2s ease}.wedding-upload-btn:hover{background:#7a6347;box-shadow:0 4px 8px #8b735566}.category-filter{background:#fff;border-bottom:1px solid #8b73551a;border-radius:20px;box-shadow:0 2px 8px #0000000d;display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center;margin:0 1rem;padding:1rem;width:calc(100% - 2rem)}.category-btn{background:#0000;border:1px solid #8b73554d;border-radius:20px;color:#8b7355;cursor:pointer;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:.85rem;font-weight:500;padding:.5rem 1rem;transition:all .2s ease}.category-btn.active{background:#8b7355;border-color:#8b7355;box-shadow:0 2px 4px #8b73554d;color:#fff}.category-btn:hover:not(.active){background:#8b73551a;border-color:#8b7355}@media (min-width:769px){.mobile-hint{font-family:Playfair Display,Georgia,Times New Roman,serif!important;font-size:.9rem!important;margin:1.5rem 0!important;text-align:center!important;width:100%!important}.wedding-collage-container .category-filter{background:#fff!important;border-bottom:1px solid #8b73551a!important;border-radius:20px!important;border-top:none!important;bottom:auto!important;box-shadow:0 2px 8px #0000000d!important;left:auto!important;margin:1rem auto!important;max-width:600px!important;position:static!important;right:auto!important;transform:none!important;width:auto!important;z-index:auto!important}}.wedding-album-cover{align-items:center;background:linear-gradient(135deg,#faf9f7,#f5f3f0);display:flex;justify-content:center;min-height:80vh;position:relative;width:100%;z-index:10}.wedding-album-cover-inner{align-items:stretch;background:#fff;border:1px solid #d4af371a;border-radius:12px;box-shadow:0 20px 60px #0000001a;display:flex;margin:2rem auto;max-height:500px;max-width:800px;overflow:hidden;padding:0;text-align:center}.album-photo-collage{grid-gap:4px;background:linear-gradient(135deg,#faf9f7,#f5f3f0);display:grid;flex:1 1;gap:4px;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;max-width:400px;padding:1rem}.collage-photo{border-radius:8px;box-shadow:0 4px 12px #0000001a;overflow:hidden}.collage-photo img{height:100%;object-fit:cover;object-position:center;width:100%}.album-content{align-items:center;display:flex;flex:1 1;flex-direction:column;justify-content:center;max-width:400px;padding:2.5rem 2rem}.wedding-album-title{color:#2c2c2c;font-family:Playfair Display,Georgia,Times New Roman,serif;font-size:3.2rem;font-weight:300;letter-spacing:.5px;line-height:1.1;margin-bottom:1rem}.wedding-album-subtitle{color:#8b7355;font-size:1.4rem;font-style:italic;font-weight:400;letter-spacing:.3px;margin-bottom:1rem}.wedding-album-date{color:#8b7355;font-size:1.1rem;font-weight:300;letter-spacing:1px;margin-bottom:3rem;opacity:.8}.loading-section{margin-bottom:2rem;text-align:center}.loading-text{color:#8b7355;font-size:1rem;font-weight:400;margin-bottom:1rem}.loading-bar{background:#8b735533;border-radius:2px;height:4px;margin:0 auto .5rem;overflow:hidden;width:200px}.loading-progress{background:linear-gradient(90deg,#8b7355,#d4af37);border-radius:2px;height:100%;transition:width .3s ease}.loading-percentage{color:#8b7355;font-size:.9rem;font-weight:500}.wedding-open-btn{background:linear-gradient(135deg,#8b7355,#7a6347);border:none;border-radius:50px;box-shadow:0 8px 24px #8b73554d;color:#fff;cursor:pointer;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:1.1rem;font-weight:600;letter-spacing:.5px;padding:1.2rem 3rem;text-shadow:0 1px 2px #0000001a;text-transform:uppercase;transition:all .3s ease}.wedding-open-btn:disabled{box-shadow:0 4px 12px #8b735533;cursor:not-allowed;opacity:.6;transform:none}.wedding-open-btn:hover{background:linear-gradient(135deg,#7a6347,#6b5a3f);box-shadow:0 12px 32px #8b735566;transform:translateY(-2px)}.wedding-carousel-container{background:linear-gradient(135deg,#faf9f7,#f5f3f0);display:flex;flex-direction:column;min-height:85vh;padding:1rem 0;position:relative;width:100%;z-index:20}@media (min-width:769px){.wedding-carousel-container{height:calc(100vh - 120px);min-height:auto;padding:.5rem 0;position:relative}.carousel-content{align-items:center;display:flex;flex:1 1;justify-content:center;margin-top:7rem;min-height:0;position:relative}.mobile-hint{margin:.5rem 0}.category-filter{background:#fff;border-bottom:1px solid #8b73551a;border-radius:20px;box-shadow:0 2px 8px #0000000d;margin:1rem auto;max-width:600px;padding:1rem;position:static;width:auto}}@media (max-width:768px){.wedding-carousel-container .category-filter{background:#fff;border-bottom:none;border-radius:20px 20px 0 0;border-top:1px solid #8b73551a;bottom:0;box-shadow:0 -2px 8px #0000001a;left:50%;margin:0;max-width:none;padding:.75rem;position:absolute;transform:translateX(-50%);width:calc(100% - 2rem);z-index:10}}.carousel-content{align-items:center;display:flex;flex:1 1;justify-content:center;position:relative}.swiper-button-next.slider-arrow,.swiper-button-prev.slider-arrow{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#fffffff2;box-shadow:0 6px 18px #d4af371a,0 1.5px 4px #8b735514;height:44px;padding:0;transition:box-shadow .2s,border-color .2s,background .2s;width:44px}.swiper-button-next.slider-arrow:hover,.swiper-button-prev.slider-arrow:hover{background:linear-gradient(135deg,#f5e7c5,#e7d7b6);border-color:#d4af37;box-shadow:0 8px 24px #d4af372e,0 2px 8px #8b73551f}.slider-arrow:before{margin:0;transform:translateY(1px);vertical-align:middle}.swiper-button-prev:before{border-color:#0000 #d4af37 #0000 #0000;border-radius:2px;border-width:12px 20px 12px 0;box-shadow:0 1px 2px #e7d7b6}.swiper-button-next:before{border-color:#0000 #0000 #0000 #d4af37;border-radius:2px;border-width:12px 0 12px 20px;box-shadow:0 1px 2px #e7d7b6}.swiper-pagination{margin-top:1rem;text-align:center}.swiper-pagination-bullet{background:#8b7355;border-radius:50%;height:8px;margin:0 4px!important;opacity:.3;transition:opacity .2s;width:8px}.swiper-pagination-bullet-active{opacity:1}@media (max-width:768px){.wedding-header-inner{align-items:center;flex-direction:row;gap:1rem;min-height:80px;padding:1rem 1.5rem}.header-controls{flex-shrink:0;gap:.5rem;margin-left:auto}.view-toggle{background:#fff;border:1px solid #8b73551a;border-radius:20px;box-shadow:0 4px 12px #0000001a;left:50%;padding:8px;position:absolute;top:calc(100% + 10px);transform:translateX(-50%);z-index:15}.toggle-btn{font-size:.9rem;padding:8px 16px}.wedding-upload-btn{font-size:.85rem;padding:6px 12px}.category-filter{gap:.25rem;padding:.75rem}.category-btn{font-size:.8rem;padding:.4rem .8rem}.wedding-collage-container .category-filter{background:#fff!important;border-radius:20px 20px 0 0!important;border-top:1px solid #8b73551a!important;bottom:0!important;box-shadow:0 -2px 8px #0000001a!important;left:0!important;margin:0 1rem!important;position:fixed!important;right:0!important;width:calc(100% - 2rem)!important;z-index:25!important}.mobile-hint{color:#8b7355;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:.85rem;font-weight:400;margin:1rem 0;opacity:.8;text-align:center}.wedding-logo img{height:120px}.wedding-carousel-container{min-height:calc(100vh - 160px);padding-top:4rem}.wedding-collage-container{flex-direction:column;min-height:calc(100vh - 160px);padding-bottom:5rem;padding-top:3rem}.wedding-album-cover-inner{flex-direction:column;margin:2rem 1rem;max-width:400px}.album-photo-collage{display:none}.album-content{max-width:100%;padding:2rem 1.5rem}.wedding-album-title{font-size:1.8rem}.wedding-album-subtitle{font-size:1.2rem}.wedding-album-date{font-size:1rem;margin-bottom:2rem}.wedding-open-btn{font-size:1rem;padding:1rem 2.5rem}.wedding-carousel-container{min-height:60vh}.wedding-swiper{padding:1rem 0 2rem;width:98%}.wedding-swiper .swiper-slide{padding:.25rem}.wedding-swiper .swiper-slide img{height:350px}.wedding-collage-container{padding:1rem}.collage-grid{gap:.75rem;grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}.collage-item img{height:auto}.collage-item .video-thumbnail{aspect-ratio:3/4;height:auto}}.slider-controller{display:none;gap:0;margin-top:0}@media (max-width:900px){.swiper-button-next.slider-arrow,.swiper-button-prev.slider-arrow{height:40px;width:40px}.swiper-button-prev.slider-arrow{left:.5vw}.swiper-button-next.slider-arrow{right:.5vw}.slider-arrow:before{border-width:8px 12px 8px 0!important}.swiper-button-next:before{border-width:8px 0 8px 12px!important}}.swiper-button-next:after,.swiper-button-prev:after{display:none!important}.swiper-button-next.slider-arrow,.swiper-button-prev.slider-arrow{align-items:center;background:#fff;border:1.5px solid #e7d7b6;border-radius:50%;box-shadow:0 4px 16px #0000001a;cursor:pointer;display:flex;height:56px;justify-content:center;position:absolute;top:50%;transform:translateY(-50%);transition:background .2s,border-color .2s,box-shadow .2s;width:56px;z-index:30}.swiper-button-prev.slider-arrow{left:2vw}.swiper-button-next.slider-arrow{right:2vw}.swiper-button-next.slider-arrow:hover,.swiper-button-prev.slider-arrow:hover{background:#f5f3f0;border-color:#8b7355}.slider-arrow:before{border-style:solid;content:"";display:block;height:0;margin:0 auto;width:0}.swiper-button-prev:before{border-color:#0000 #8b7355 #0000 #0000;border-width:12px 18px 12px 0}.swiper-button-next:before{border-color:#0000 #0000 #0000 #8b7355;border-width:12px 0 12px 18px}.wedding-swiper .swiper-slide{align-items:center;background:#fff;border:1.5px solid #e7d7b6;border-radius:12px;box-shadow:0 8px 24px #0000001a;display:flex;justify-content:center;overflow:hidden;padding:.5rem}.wedding-swiper .swiper-slide img{background:#fff;border:4px solid #fff;border-radius:8px;box-shadow:0 2px 8px #0000001a;display:block;height:500px;max-width:100%;object-fit:contain;width:100%}@media (max-width:900px){.swiper-button-next.slider-arrow,.swiper-button-prev.slider-arrow{height:40px;width:40px}.swiper-button-prev.slider-arrow{left:.5vw}.swiper-button-next.slider-arrow{right:.5vw}.slider-arrow:before{border-width:8px 12px 8px 0!important}.swiper-button-next:before{border-width:8px 0 8px 12px!important}.wedding-swiper .swiper-slide{padding:.5rem}.wedding-swiper .swiper-slide img{max-height:280px;max-width:95vw}}.modal-overlay{align-items:center;background:#000000e6;bottom:0;left:0;overflow-y:auto;padding:2rem;position:fixed;right:0;top:0;z-index:1000}.modal-content,.modal-overlay{display:flex;justify-content:center}.modal-content{align-items:flex-start;margin:auto;max-height:90vh;max-width:90vw;padding:20px 0;position:relative}.modal-close{align-items:center;background:#fff3;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:2rem;height:40px;justify-content:center;position:absolute;right:0;top:-50px;transition:background .2s;width:40px;z-index:1001}.modal-close:hover{background:#ffffff4d}.modal-image{border-radius:8px;box-shadow:0 8px 32px #0000004d;cursor:pointer;max-height:90vh;max-width:100%;object-fit:contain}@media (max-width:768px){.modal-overlay{padding:1rem}.modal-close{background:#000000b3;border:2px solid #ffffff4d;font-size:1.8rem;height:45px;right:15px;top:15px;width:45px}.modal-content{max-height:100vh;max-width:100vw}}@media (max-width:480px){.modal-overlay{padding:.5rem}.modal-close{background:#000c;border:2px solid #fff6;font-size:1.5rem;height:40px;right:10px;top:10px;width:40px}}@media (min-width:1024px){.modal-overlay{padding:3rem}.modal-content{max-height:85vh;max-width:80vw}.modal-close{font-size:2.5rem;height:50px;right:0;top:-60px;width:50px}}.gallery-loading-overlay{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:linear-gradient(135deg,#fcfbfafc,#f5f1eef7);display:flex;height:100%;justify-content:center;left:0;position:fixed;top:0;width:100%;z-index:9999}.gallery-loading-content{background:#fffffffc;border:1px solid #8b73551a;border-radius:20px;box-shadow:0 20px 60px #8b735514;color:#8b7355;max-width:500px;padding:60px 40px;text-align:center}.gallery-loading-spinner{animation:spin 1.5s linear infinite;border:6px solid #8b73551a;border-radius:50%;border-top-color:#8b7355;box-shadow:0 4px 20px #8b73551a;height:80px;margin:0 auto 30px;width:80px}.gallery-loading-text{color:#8b7355;font-family:Playfair Display,serif;font-size:28px;font-weight:400;letter-spacing:1px;margin-bottom:15px}.gallery-loading-message{color:#a8a095;font-family:Georgia,serif;font-size:16px;font-style:normal;line-height:1.6;margin-bottom:25px}.gallery-loading-bar{background:#8b735514;border:none;border-radius:4px;height:8px;margin-bottom:15px;overflow:hidden;width:100%}.gallery-loading-progress{background:linear-gradient(90deg,#8b7355,#a8a095);border-radius:4px;box-shadow:0 1px 4px #8b735533;height:100%;transition:width .3s ease}.gallery-loading-percentage{color:#8b7355;font-family:Playfair Display,serif;font-size:18px;font-weight:400;letter-spacing:.5px}@media (max-width:768px){.gallery-loading-content{margin:20px;max-width:350px;padding:40px 30px}.gallery-loading-spinner{height:60px;margin-bottom:25px;width:60px}.gallery-loading-text{font-size:24px;margin-bottom:12px}.gallery-loading-message{font-size:14px;margin-bottom:20px}.gallery-loading-percentage{font-size:18px}}*{margin:0;padding:0}:root{--primary-pink:#ff6b9d;--secondary-pink:#ffb3d1;--accent-gold:gold;--text-dark:#2c1810;--text-light:#6b4e3d;--white:#fff;--cream:#fff8f0;--shadow:#0000001a;--shadow-heavy:#00000026}body{background:linear-gradient(135deg,#ffe5f1,#fff0f5 50%,#fff8f0);color:#2c1810;color:var(--text-dark);font-family:Inter,sans-serif;min-height:100vh;overflow-x:hidden;position:relative}.floating-hearts{height:100%;left:0;pointer-events:none;position:fixed;top:0;width:100%;z-index:1}.heart{animation:float 16s ease-in-out infinite;color:#ffb3d1;color:var(--secondary-pink);font-size:1.8rem;opacity:.4;position:absolute}.heart:first-child{animation-delay:0s;bottom:-50px;left:5%}.heart:nth-child(2){animation-delay:2s;bottom:-50px;left:8%}.heart:nth-child(3){animation-delay:4s;bottom:-50px;left:12%}.heart:nth-child(4){animation-delay:6s;bottom:-50px;left:85%}.heart:nth-child(5){animation-delay:8s;bottom:-50px;left:88%}.heart:nth-child(6){animation-delay:10s;bottom:-50px;left:92%}.heart:nth-child(7){animation-delay:1s;bottom:-50px;left:95%}.heart:nth-child(8){animation-delay:3s;bottom:-50px;left:3%}.heart:nth-child(9){animation-delay:5s;bottom:-50px;left:97%}@keyframes float{0%{opacity:0;transform:translateY(100vh) rotate(0deg)}10%{opacity:.4}90%{opacity:.4}to{opacity:0;transform:translateY(-120vh) rotate(1turn)}}.main-container{align-items:center;display:flex;flex-direction:column;justify-content:center;min-height:100vh;padding:1rem;position:relative;z-index:2}.logo-section{animation:fadeInDown 1s ease-out;margin-bottom:2rem;position:relative;text-align:center}.logo{display:inline-block;margin-bottom:0;position:relative}.logo img{filter:drop-shadow(0 8px 16px rgba(0,0,0,.1));filter:drop-shadow(0 8px 16px var(--shadow));max-height:200px;transition:transform .3s ease;width:auto}.logo:hover img{transform:scale(1.05)}.tagline{bottom:1.2rem;color:#6b4e3d;color:var(--text-light);font-weight:300;left:55%;letter-spacing:1px;opacity:.8;position:absolute;transform:translateX(-50%);white-space:nowrap}.album-info,.tagline{font-size:1rem;margin-bottom:2rem}.album-info{background:linear-gradient(135deg,#e8f5e8,#f0fff0);border:2px solid #90ee90;border-radius:16px;color:#2c1810;color:var(--text-dark);font-weight:500;letter-spacing:.3px;line-height:1.5;margin-top:1rem;padding:1.2rem;text-align:center}.album-info i{color:#4caf50;margin-right:.5rem}.content-card{animation:slideInUp 1s ease-out .3s both;background:#fff;background:var(--white);border-radius:20px;box-shadow:0 20px 60px #0000001a;box-shadow:0 20px 60px var(--shadow);max-width:100%;overflow:hidden;padding:2rem;position:relative;width:100%}.content-card:before{background:linear-gradient(90deg,#ff6b9d,gold,#ffb3d1);background:linear-gradient(90deg,var(--primary-pink),var(--accent-gold),var(--secondary-pink));content:"";height:4px;left:0;position:absolute;right:0;top:0}.upload-section{margin-bottom:2.5rem;text-align:center}.upload-title{color:#e35c50;font-family:Playfair Display,serif;font-size:1.8rem;font-weight:600;letter-spacing:.3px;line-height:1.2;margin-bottom:1rem;position:relative;text-align:center}.upload-title:after{animation:twinkle 3s ease-in-out infinite;content:"✨";font-size:1.5rem;position:absolute;right:-30px;top:-10px}@keyframes twinkle{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(1.1)}}.upload-description{color:#2c1810;color:var(--text-dark);font-size:.95rem;font-weight:400;line-height:1.5;margin-bottom:1.5rem;margin-left:auto;margin-right:auto;max-width:100%;text-align:center}.file-upload-area{background:linear-gradient(135deg,#fff8f0,#fff0f5);border:3px dashed #ffb3d1;border:3px dashed var(--secondary-pink);border-radius:16px;cursor:pointer;margin-bottom:1.5rem;padding:2rem 1.5rem;position:relative;transition:all .3s ease}.file-upload-area:hover{background:linear-gradient(135deg,#fff0f5,#ffe5f1);box-shadow:0 10px 30px #0000001a;box-shadow:0 10px 30px var(--shadow);transform:translateY(-2px)}.file-upload-area.dragover,.file-upload-area:hover{border-color:#ff6b9d;border-color:var(--primary-pink)}.file-upload-area.dragover{background:linear-gradient(135deg,#ffe5f1,#ffb3d1);transform:scale(1.02)}.upload-icon{animation:bounce 2s ease-in-out infinite;color:#ff6b9d;color:var(--primary-pink);font-size:2.5rem;margin-bottom:.8rem}.upload-text{color:#2c1810;color:var(--text-dark);font-size:1.1rem;font-weight:600;letter-spacing:.3px;margin-bottom:.6rem}.upload-subtext{color:#6b4e3d;color:var(--text-light);display:flex;flex-direction:column;font-size:.9rem;font-weight:400;gap:.3rem;letter-spacing:.2px;line-height:1.4}.limit-highlight{font-size:.9rem;font-weight:600}.limit-highlight.success{color:#4caf50}.limit-highlight.error{color:#ff6b6b}.format-info{font-size:.8rem;opacity:.8}.file-limit-warning{animation:fadeInUp .5s ease-out;background:linear-gradient(135deg,#fff3e0,#ffe0b2);border:2px solid #ff9800;border-radius:16px;margin-top:1.5rem;padding:1.5rem}.warning-content{align-items:flex-start;display:flex;gap:1rem}.warning-icon{flex-shrink:0;font-size:2rem;margin-top:.2rem}.warning-text h4{color:#e65100;font-family:Playfair Display,serif;font-size:1.2rem;margin-bottom:.8rem;margin-top:0}.warning-text p{color:#2c1810;color:var(--text-dark);line-height:1.5;margin-bottom:1.2rem}.warning-actions{display:flex;flex-wrap:wrap;gap:1rem;margin-bottom:1rem}.warning-actions .btn{flex:1 1;min-width:150px}.warning-note{color:#6b4e3d;color:var(--text-light);font-size:.9rem;font-style:italic;margin:0}.file-input{cursor:pointer;height:100%;left:0;opacity:0;position:absolute;top:0;width:100%}.form-group{margin-bottom:1.2rem}.form-label{color:#2c1810;color:var(--text-dark);display:block;font-size:1rem;font-weight:600;letter-spacing:.3px;margin-bottom:.7rem}.form-input{background:#fff;background:var(--white);border:2px solid #f0e6e6;border-radius:12px;font-size:1rem;padding:.9rem;transition:all .3s ease;width:100%}.form-input:focus{border-color:#ff6b9d;border-color:var(--primary-pink);box-shadow:0 0 0 3px #ff6b9d1a;outline:none}.form-input::placeholder{color:#b8b8b8}.field-explanation{align-items:center;color:#6b4e3d;color:var(--text-light);display:flex;font-size:.85rem;gap:.5rem;margin-top:.5rem}.field-explanation i{color:#ff6b9d;color:var(--primary-pink);font-size:.9rem}.checkbox-group{align-items:center;display:flex;gap:.8rem;margin-top:.5rem}.checkbox-input{margin:0;transform:scale(1.2);width:auto}.checkbox-label{color:#2c1810;color:var(--text-dark);cursor:pointer;font-size:.95rem;font-weight:400;margin:0}.radio-group{display:flex;flex-direction:column;gap:.8rem;margin-top:.5rem}.radio-option{align-items:center;background:#fff;border:2px solid #e9ecef;border-radius:12px;cursor:pointer;display:flex;gap:.8rem;padding:.8rem;transition:all .3s ease}.radio-option:hover{background:#ff6b9d0d}.radio-option.selected,.radio-option:hover{border-color:#ff6b9d;border-color:var(--primary-pink)}.radio-option.selected{background:#ff6b9d1a}.radio-input{accent-color:#ff6b9d;accent-color:var(--primary-pink);cursor:pointer;height:18px;width:18px}.radio-label{align-items:center;color:#2c1810;color:var(--text-dark);cursor:pointer;display:flex;flex:1 1;font-size:.95rem;font-weight:500;gap:.5rem}.radio-label i{color:#ff6b9d;color:var(--primary-pink);font-size:1rem;text-align:center;width:16px}.disclaimer{background:linear-gradient(135deg,#fff8f0,#fff0f5);border:1px solid #ffb3d1;border:1px solid var(--secondary-pink);border-radius:12px;color:#2c1810;color:var(--text-dark);font-size:.85rem;line-height:1.5;margin-top:1.5rem;padding:1rem}.disclaimer p{margin:0}.submit-btn{background:linear-gradient(135deg,#e35c50,#f76c6c);border:none;border-radius:12px;color:#fff;color:var(--white);cursor:pointer;font-size:1rem;font-weight:600;overflow:hidden;padding:1rem;position:relative;transition:all .3s ease;width:100%}.submit-btn:before{background:linear-gradient(90deg,#0000,#fff3,#0000);content:"";height:100%;left:-100%;position:absolute;top:0;transition:left .5s;width:100%}.submit-btn:hover:before{left:100%}.submit-btn:hover{box-shadow:0 10px 30px #e35c504d;transform:translateY(-2px)}.submit-btn:active{transform:translateY(0)}.submit-btn:disabled{background:#ccc;cursor:not-allowed;opacity:.5;transform:none}.submit-btn:disabled:hover{box-shadow:none;transform:none}.submit-btn:disabled:before{display:none}.success-message{background:linear-gradient(135deg,#e8f5e8,#f0fff0);border:2px solid #90ee90;border-radius:16px;display:none;margin-top:2rem;padding:2rem;text-align:center}.success-message.show{animation:fadeInUp .5s ease-out;display:block}.success-actions{margin-top:2rem;text-align:center}.upload-more-btn{align-items:center;background:linear-gradient(135deg,#ffe5f1,#fff0f5);border:2px solid #ff6b9d;border:2px solid var(--primary-pink);border-radius:20px;cursor:pointer;display:flex;justify-content:space-between;margin:0 auto;max-width:400px;overflow:hidden;padding:1.5rem 2rem;position:relative;text-decoration:none;transition:all .3s ease;width:100%}.upload-more-btn:before{background:linear-gradient(90deg,#0000,#ff6b9d1a,#0000);content:"";height:100%;left:-100%;position:absolute;top:0;transition:left .5s;width:100%}.upload-more-btn:hover:before{left:100%}.upload-more-btn:hover{border-color:gold;border-color:var(--accent-gold);box-shadow:0 15px 35px #ff6b9d33;transform:translateY(-3px)}.upload-more-icon{animation:bounce 2s ease-in-out infinite;font-size:2rem;margin-right:1rem}.upload-more-text{flex:1 1;text-align:left}.upload-more-title{color:#2c1810;color:var(--text-dark);display:block;font-family:Playfair Display,serif;font-size:1.2rem;font-weight:600;margin-bottom:.3rem}.upload-more-subtitle{color:#6b4e3d;color:var(--text-light);display:block;font-size:.9rem;font-weight:400}.upload-more-arrow{color:#ff6b9d;color:var(--primary-pink);font-size:1.5rem;font-weight:700;transition:transform .3s ease}.upload-more-btn:hover .upload-more-arrow{transform:translateX(5px)}@keyframes bounce{0%,20%,50%,80%,to{transform:translateY(0)}40%{transform:translateY(-5px)}60%{transform:translateY(-3px)}}.loading{background:linear-gradient(135deg,#fff8f0,#fff0f5);border:2px solid #ff6b9d;border:2px solid var(--primary-pink);border-radius:20px;display:none;margin-top:2rem;padding:2rem;text-align:center}.loading.show{animation:fadeInUp .5s ease-out;display:block}.loading h3{font-family:Playfair Display,serif;font-size:1.5rem;margin-bottom:1rem;margin-top:0}.loading h3,.loading-main-text{color:#2c1810;color:var(--text-dark)}.loading-main-text{font-size:1.1rem;font-weight:500;margin-bottom:1.5rem}.loading-instructions{background:#ff6b9d1a;border-left:4px solid #ff6b9d;border-left:4px solid var(--primary-pink);border-radius:12px;margin-bottom:1.5rem;padding:1rem}.loading-instructions p{color:#2c1810;color:var(--text-dark);font-size:.95rem;line-height:1.4;margin:.5rem 0}.loading-instructions p:first-child{margin-top:0}.loading-instructions p:last-child{margin-bottom:0}.spinner{animation:spin 1s linear infinite;border:4px solid #f3f3f3;border-radius:50%;border-top-color:#ff6b9d;border-top:4px solid var(--primary-pink);height:40px;margin:0 auto 1.5rem;width:40px}.loading-progress{margin-top:1.5rem}.progress-bar{background:#f3f3f3;border-radius:4px;height:8px;margin:0 auto;max-width:300px;overflow:hidden;width:100%}.progress-fill{animation:progressCrawl 3s ease-out forwards;background:linear-gradient(90deg,#ff6b9d,gold);background:linear-gradient(90deg,var(--primary-pink),var(--accent-gold));border-radius:4px;height:100%;width:0}@keyframes progressCrawl{0%{width:0}to{width:80%}}.file-preview-area{background:linear-gradient(135deg,#f8f9fa,#fff);border:2px solid #e9ecef;border-radius:16px;margin-top:2rem;padding:1.5rem}.file-preview-area h4{color:#2c1810;color:var(--text-dark);font-family:Playfair Display,serif;font-size:1.2rem;margin-bottom:1rem;text-align:center}.file-preview-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));margin-bottom:1.5rem}.file-preview-item{background:#fff;border-radius:12px;box-shadow:0 4px 12px #0000001a;overflow:visible;padding:8px;position:relative;transition:transform .3s ease}.file-preview-item:hover{transform:translateY(-2px)}.file-preview-image{border-radius:8px;height:140px;overflow:hidden;position:relative;width:100%}.file-preview-image img{height:100%;object-fit:cover;width:100%}.file-preview-info{padding:.8rem}.file-name{color:#2c1810;color:var(--text-dark);font-size:.8rem;font-weight:600;margin-bottom:.3rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-size{color:#6b4e3d;color:var(--text-light);font-size:.7rem;margin-bottom:.5rem}.file-status-indicator{align-items:center;display:flex;font-size:.7rem;gap:.3rem}.status-dot{border-radius:50%;display:inline-block;height:8px;width:8px}.status-dot.processing{animation:pulse 1.5s ease-in-out infinite;background:orange}.status-dot.ready{background:#4caf50}.status-dot.error{background:#ff6b6b}.file-loading-placeholder{align-items:center;background:#f8f9fa;display:flex;height:100%;justify-content:center;width:100%}.loading-spinner-small{animation:spin 1s linear infinite;border:2px solid #e9ecef;border-radius:50%;border-top-color:#ff6b9d;border-top:2px solid var(--primary-pink);height:20px;width:20px}.file-error-placeholder{align-items:center;background:#fff5f5;color:#ff6b6b;display:flex;font-size:1.5rem;height:100%;justify-content:center;width:100%}.file-status{background:#ff6b9d0d;border:1px solid #ff6b9d33;border-radius:12px;padding:1rem;text-align:center}.status-indicator{align-items:center;display:flex;gap:.5rem;justify-content:center}.status-text{color:#2c1810;color:var(--text-dark);font-size:.9rem;font-weight:500}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-30px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInUp{0%{opacity:0;transform:translateY(50px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@media (min-width:769px){.main-container{padding:2rem}.content-card{border-radius:24px;max-width:600px;padding:3rem}.logo img{max-height:280px}.tagline{font-size:1.2rem}.upload-title{font-size:2rem;margin-bottom:1.2rem}.upload-description{font-size:1rem;margin-bottom:2rem;max-width:450px}.file-upload-area{margin-bottom:2rem;padding:3rem 2rem}.upload-icon{font-size:3rem;margin-bottom:1rem}.upload-text{font-size:1.3rem;letter-spacing:.5px;margin-bottom:.8rem}.upload-subtext{font-size:1rem;letter-spacing:.3px;line-height:1.5}.form-group{margin-bottom:1.5rem}.form-input{padding:1rem}.submit-btn{font-size:1.1rem;padding:1.2rem}.heart{font-size:2.2rem}.field-explanation{font-size:.9rem;margin-top:.7rem}.checkbox-label{font-size:1rem}.disclaimer{font-size:.9rem;margin-top:2rem;padding:1.2rem}}.remove-photo-btn{align-items:center;background:#ff6b6b;border:2px solid #fff;border-radius:50%;box-shadow:0 3px 8px #0003;color:#fff;cursor:pointer;display:flex;font-size:18px;font-weight:700;height:32px;justify-content:center;line-height:1;position:absolute;right:0;top:0;transition:all .2s ease;width:32px;z-index:10}.remove-photo-btn:hover{background:#e53e3e;box-shadow:0 4px 12px #0000004d;transform:scale(1.1)}.file-limit-error{animation:fadeInDown .4s;background:#fff3f3;border:2px solid #ffb3b3;border-radius:12px;box-shadow:0 2px 8px #ff6b9d12;color:#d32f2f;font-size:1rem;font-weight:600;margin-bottom:1.5rem;padding:1rem 1.5rem;text-align:center}.category-pills{background:#fff;margin:2.5rem 0 1.5rem;overflow:hidden;padding:0;position:relative;scrollbar-width:none;width:100vw}.category-pills::-webkit-scrollbar{display:none}.collage-container{margin:.5rem auto 0;max-width:1200px;padding:0 .3rem;width:100%}.desktop-only{display:block}.mobile-only{display:none}.collage-card-top{animation:collage-focus-fadein .9s cubic-bezier(.4,0,.2,1);background:#fff8f7;border:2.5px solid #ff6f6b;border-radius:18px;box-shadow:0 4px 24px 0 #ff6f6b1a;color:#222;font-size:1.1rem;font-weight:600;margin-bottom:2rem;padding:2rem 1.5rem;text-align:center}.collage-masonry{column-count:3;column-gap:1.2rem;padding:0;width:100%}.collage-img{display:block;margin-bottom:1.2rem;width:100%}.collage-card,.collage-img{border-radius:18px;box-shadow:0 2px 8px #3c281412;break-inside:avoid;page-break-inside:avoid}.collage-card{align-items:center;background:#fff;color:#222;display:flex;flex-direction:column;font-size:1rem;font-weight:500;margin-bottom:2rem;padding:1.5rem 1rem 2rem;text-align:center}.collage-card-focus{animation:collage-focus-fadein .9s cubic-bezier(.4,0,.2,1);background:linear-gradient(145deg,#fff,#fff8f7 50%,#fff);border:2.5px solid #ff6f6b;border-radius:20px;box-shadow:0 16px 48px #ff6f6b26,0 6px 16px #00000014,inset 0 1px 0 #ffffffe6;font-size:1.1rem;font-weight:600;padding:2rem 1.5rem;position:relative;transform:scale(1.04);transition:all .3s ease;z-index:2}.collage-card-focus:before{background:linear-gradient(145deg,#ff6f6b14,#0000);border-radius:20px;bottom:0;content:"";left:0;pointer-events:none;position:absolute;right:0;top:0}@keyframes collage-focus-fadein{0%{opacity:0;transform:scale(.97)}to{opacity:1;transform:scale(1.04)}}.collage-card,.collage-img{animation:collageFadeIn .7s cubic-bezier(.4,0,.2,1) both;opacity:0;transform:translateY(30px)}.collage-masonry>:first-child{animation-delay:.1s}.collage-masonry>:nth-child(2){animation-delay:.18s}.collage-masonry>:nth-child(3){animation-delay:.26s}.collage-masonry>:nth-child(4){animation-delay:.34s}.collage-masonry>:nth-child(5){animation-delay:.42s}.collage-masonry>:nth-child(6){animation-delay:.5s}.collage-masonry>:nth-child(7){animation-delay:.58s}.collage-masonry>:nth-child(8){animation-delay:.66s}.collage-masonry>:nth-child(9){animation-delay:.74s}.collage-masonry>:nth-child(10){animation-delay:.82s}.collage-masonry>:nth-child(11){animation-delay:.9s}.collage-masonry>:nth-child(12){animation-delay:.98s}.collage-masonry>:nth-child(13){animation-delay:1.06s}.collage-masonry>:nth-child(14){animation-delay:1.14s}.collage-masonry>:nth-child(15){animation-delay:1.22s}@keyframes collageFadeIn{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:none}}.collage-card-focus{animation:collageFocusFadeIn .9s cubic-bezier(.4,0,.2,1) both!important}@keyframes collageFocusFadeIn{0%{opacity:0;transform:scale(.97) translateY(30px)}to{opacity:1;transform:scale(1.04) translateY(0)}}@media (prefers-reduced-motion:reduce){.collage-card,.collage-card-focus,.collage-img{animation:none!important;opacity:1!important;transform:none!important}}@media (max-width:1100px){.collage-masonry{column-count:3;column-gap:1rem}}@media (max-width:800px){.desktop-only{display:none}.mobile-only{display:block}.collage-container{margin:-1rem auto 0}.collage-masonry{column-count:3;column-gap:.6rem;padding:0 .3rem}.collage-card,.collage-img{border-radius:12px;margin-bottom:.6rem}.collage-card-top{background:linear-gradient(145deg,#fff,#fff8f7 50%,#fff);border:2.5px solid #ff6f6b;border-radius:20px;box-shadow:0 16px 48px #ff6f6b2e,0 6px 16px #00000014,inset 0 1px 0 #ffffffe6;font-size:1rem;line-height:1.6;margin-bottom:2rem;margin-top:-1.5rem;padding:1.75rem 1.5rem;position:relative;transform:translateY(0);transition:all .3s ease}.collage-card-top:before{background:linear-gradient(145deg,#ff6f6b14,#0000);border-radius:20px;bottom:0;content:"";left:0;pointer-events:none;position:absolute;right:0;top:0}}@media (max-width:500px){.collage-container{margin:-1.5rem auto 0}.collage-masonry{column-count:3;column-gap:.4rem;padding:0 .2rem}.collage-card,.collage-img{border-radius:10px;margin-bottom:.4rem}.collage-card-top{border:2.5px solid #ff6f6b;border-radius:18px;box-shadow:0 12px 36px #ff6f6b26,0 4px 12px #0000000f,inset 0 1px 0 #ffffffe6;font-size:.95rem;margin-bottom:1.5rem;margin-top:-1rem;padding:1.5rem 1.25rem}}*{box-sizing:border-box}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#f5f7fa;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.App{min-height:100vh}button,input{font-family:inherit}html{scroll-behavior:smooth}button:focus,input:focus{outline:2px solid #667eea;outline-offset:2px}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:#f1f1f1}::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#a8a8a8}
/*# sourceMappingURL=main.cb44e321.css.map*/