@import"https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;0,500;0,600;0,700;1,300;1,400&family=Montserrat:wght@300;400;500;600&display=swap";:root{--primary-color: #c9b8a8;--secondary-color: #8b7355;--background-color: #faf8f5;--text-color: #2c2c2c;--accent-color: #d4c4b0;--font-primary: "Cormorant Garamond", serif;--font-secondary: "Montserrat", sans-serif;--border-color: #e8e0d8;--shadow-soft: 0 4px 20px rgba(0, 0, 0, .06);--shadow-medium: 0 8px 30px rgba(0, 0, 0, .1)}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:var(--font-secondary);background-color:var(--background-color);color:var(--text-color);line-height:1.6;font-weight:400;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3,h4,h5,h6{font-family:var(--font-primary);font-weight:400;letter-spacing:.05em}a{color:inherit;text-decoration:none}button{font-family:var(--font-secondary);cursor:pointer;border:none;outline:none}input,textarea,select{font-family:var(--font-secondary);outline:none}img{max-width:100%;height:auto}.container{max-width:1200px;margin:0 auto;padding:0 2rem}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}@keyframes float{0%,to{transform:translateY(0) rotate(0)}50%{transform:translateY(-10px) rotate(2deg)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.animate-fade-in{animation:fadeIn .8s ease-out forwards}.animate-fade-in-delay-1{animation:fadeIn .8s ease-out .2s forwards;opacity:0}.animate-fade-in-delay-2{animation:fadeIn .8s ease-out .4s forwards;opacity:0}.animate-fade-in-delay-3{animation:fadeIn .8s ease-out .6s forwards;opacity:0}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:var(--background-color)}::-webkit-scrollbar-thumb{background:var(--primary-color);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--secondary-color)}.navbar{position:fixed;top:0;left:0;right:0;background:#faf8f5f2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:1000;padding:1rem 0;border-bottom:1px solid var(--border-color)}.navbar-container{max-width:1200px;margin:0 auto;padding:0 2rem;display:flex;justify-content:space-between;align-items:center}.navbar-logo{font-family:var(--font-primary);font-size:1.5rem;font-weight:500;letter-spacing:.1em;color:var(--text-color);transition:color .3s ease}.navbar-logo:hover{color:var(--secondary-color)}.navbar-menu{display:flex;list-style:none;gap:2.5rem;align-items:center}.navbar-menu a{font-size:.85rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--text-color);transition:color .3s ease;position:relative}.navbar-menu a:after{content:"";position:absolute;bottom:-4px;left:0;width:0;height:1px;background:var(--secondary-color);transition:width .3s ease}.navbar-menu a:hover,.navbar-menu a.active{color:var(--secondary-color)}.navbar-menu a:hover:after,.navbar-menu a.active:after{width:100%}.navbar-logout{font-size:.85rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--text-color);background:none;border:1px solid var(--border-color);padding:.5rem 1rem;border-radius:2px;transition:all .3s ease}.navbar-logout:hover{background:var(--primary-color);border-color:var(--primary-color);color:#fff}@media(max-width:768px){.navbar-container{flex-direction:column;gap:1rem}.navbar-menu{gap:1.5rem;flex-wrap:wrap;justify-content:center}}.floral-decoration{position:absolute;width:180px;height:360px;color:var(--secondary-color);opacity:.6;pointer-events:none;z-index:1}.floral-decoration.left{left:5%;top:50%;transform:translateY(-50%)}.floral-decoration.right{right:5%;top:50%;transform:translateY(-50%) scaleX(-1)}.floral-decoration svg{width:100%;height:100%}.floral-decoration .stem{stroke-dasharray:400;stroke-dashoffset:400;animation:drawStem 2s ease-out forwards}.floral-decoration .flower-main{opacity:0;animation:fadeInFlower 1s ease-out 1s forwards}.floral-decoration .leaf{stroke-dasharray:100;stroke-dashoffset:100;animation:drawLeaf 1s ease-out .5s forwards}.floral-decoration .bud{opacity:0;animation:fadeInFlower .8s ease-out 1.2s forwards}.floral-decoration .swirl{stroke-dasharray:100;stroke-dashoffset:100;animation:drawLeaf 1s ease-out 1.5s forwards}.floral-decoration .dot{opacity:0;animation:fadeInDot .5s ease-out 1.8s forwards}@keyframes drawStem{to{stroke-dashoffset:0}}@keyframes drawLeaf{to{stroke-dashoffset:0}}@keyframes fadeInFlower{to{opacity:1}}@keyframes fadeInDot{to{opacity:.7}}@media(max-width:1200px){.floral-decoration{width:120px;height:240px}}@media(max-width:768px){.floral-decoration{display:none}}.hero{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:6rem 2rem 4rem;position:relative;overflow:hidden}.hero-content{text-align:center;position:relative;z-index:10;max-width:800px}.hero-image-wrapper{margin-bottom:3rem}.hero-image{width:350px;height:420px;object-fit:cover;filter:grayscale(100%);transition:filter .5s ease}.hero-image:hover{filter:grayscale(0%)}.hero-image-placeholder{width:350px;height:420px;background:linear-gradient(135deg,var(--primary-color) 0%,var(--accent-color) 100%);display:flex;align-items:center;justify-content:center;margin:0 auto}.hero-image-placeholder span{font-family:var(--font-primary);font-size:1.2rem;color:#fff;opacity:.8}.couple-names{font-size:4rem;font-weight:400;letter-spacing:.15em;margin-bottom:1.5rem;text-transform:uppercase}.ampersand{font-style:italic;font-weight:300;opacity:.8}.wedding-date{font-size:1.1rem;letter-spacing:.2em;text-transform:uppercase;color:var(--secondary-color);margin-bottom:.5rem}.wedding-venue{font-size:1rem;color:var(--text-color);opacity:.8;margin-bottom:2.5rem}.rsvp-button{display:inline-block;background:var(--primary-color);color:#fff;padding:1rem 4rem;font-size:.9rem;font-weight:500;letter-spacing:.2em;text-transform:uppercase;border-radius:2px;transition:all .3s ease;box-shadow:var(--shadow-soft)}.rsvp-button:hover{background:var(--secondary-color);transform:translateY(-2px);box-shadow:var(--shadow-medium)}.scroll-indicator{position:absolute;bottom:2rem;left:50%;transform:translate(-50%)}.scroll-line{width:1px;height:60px;background:linear-gradient(to bottom,var(--secondary-color),transparent);animation:scrollPulse 2s ease-in-out infinite}@keyframes scrollPulse{0%,to{opacity:.3;height:40px}50%{opacity:1;height:60px}}.welcome-section{padding:6rem 2rem;text-align:center;background:#fff}.welcome-section h2{font-size:2.5rem;margin:1.5rem 0;letter-spacing:.1em}.welcome-message{max-width:600px;margin:0 auto 1.5rem;font-size:1.1rem;line-height:1.8;color:var(--text-color);opacity:.9}.ornament{color:var(--primary-color);font-size:1rem;letter-spacing:.5em}.details-section{padding:6rem 2rem;text-align:center}.details-section h2{font-size:2.5rem;margin-bottom:3rem;letter-spacing:.1em}.details-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:2rem;max-width:1000px;margin:0 auto}.detail-card{background:#fff;padding:3rem 2rem;border-radius:4px;box-shadow:var(--shadow-soft);transition:transform .3s ease,box-shadow .3s ease}.detail-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-medium)}.detail-icon{width:50px;height:50px;margin:0 auto 1.5rem;color:var(--secondary-color)}.detail-icon svg{width:100%;height:100%}.detail-card h3{font-size:1.5rem;margin-bottom:.5rem;letter-spacing:.1em}.detail-card p{font-size:1rem;color:var(--text-color);margin-bottom:.5rem}.detail-subtitle{font-size:.85rem;color:var(--secondary-color);font-style:italic}.countdown-section{padding:6rem 2rem;text-align:center;background:#fff}.countdown-section h2{font-size:2.5rem;margin-bottom:3rem;letter-spacing:.1em}.countdown{display:flex;justify-content:center;align-items:center;gap:1rem;flex-wrap:wrap}.countdown-item{display:flex;flex-direction:column;align-items:center;min-width:100px}.countdown-number{font-family:var(--font-primary);font-size:4rem;font-weight:300;color:var(--secondary-color);line-height:1}.countdown-label{font-size:.8rem;letter-spacing:.2em;text-transform:uppercase;color:var(--text-color);opacity:.7;margin-top:.5rem}.countdown-separator{font-family:var(--font-primary);font-size:3rem;color:var(--primary-color);opacity:.5}.registry-section{padding:5rem 2rem;text-align:center;background:linear-gradient(135deg,var(--background-color) 0%,rgba(255,255,255,.8) 100%)}.registry-section h2{font-size:2.5rem;margin-bottom:1.5rem;letter-spacing:.1em}.registry-message{max-width:550px;margin:0 auto 2rem;font-size:1.05rem;line-height:1.8;color:var(--text-color);opacity:.85}.registry-link{display:inline-block;background:var(--primary-color);color:#fff;padding:1rem 2.5rem;border-radius:4px;font-size:.95rem;letter-spacing:.15em;text-transform:uppercase;transition:all .3s ease}.registry-link:hover{background:var(--secondary-color);transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.footer{padding:4rem 2rem;text-align:center;background:var(--background-color);border-top:1px solid var(--border-color)}.footer-ornament{width:100px;margin:0 auto 2rem;color:var(--primary-color)}.footer-ornament svg{width:100%}.footer-names{font-family:var(--font-primary);font-size:1.8rem;letter-spacing:.1em;margin-bottom:.5rem}.footer-date{font-size:.9rem;letter-spacing:.15em;color:var(--secondary-color);margin-bottom:1rem}.footer-text{font-size:.85rem;color:var(--text-color);opacity:.6}@media(max-width:768px){.couple-names{font-size:2.5rem}.hero-image,.hero-image-placeholder{width:280px;height:340px}.countdown-number{font-size:2.5rem}.countdown-item{min-width:70px}.countdown-separator{font-size:2rem}}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:6rem 2rem 2rem}.login-container{display:flex;align-items:center;justify-content:center;position:relative;max-width:900px;width:100%}.login-card{width:100%;max-width:450px;background:#fff;padding:3rem;border-radius:4px;box-shadow:var(--shadow-medium);animation:fadeIn .6s ease-out}.login-header{text-align:center;margin-bottom:2rem}.login-header h1{font-size:2rem;margin-bottom:.5rem;letter-spacing:.05em}.login-header p{color:var(--text-color);opacity:.7;font-size:.95rem}.login-error{background:#fff5f5;color:#c53030;padding:1rem;border-radius:4px;margin-bottom:1.5rem;font-size:.9rem;text-align:center;border:1px solid #feb2b2}.login-form{display:flex;flex-direction:column;gap:1.5rem}.form-group label{font-size:.85rem;font-weight:500;letter-spacing:.05em;color:var(--text-color)}.form-group input{padding:1rem;border:1px solid var(--border-color);border-radius:4px;font-size:1rem;transition:border-color .3s ease,box-shadow .3s ease}.form-group input:focus{border-color:var(--primary-color);box-shadow:0 0 0 3px #c9b8a833}.form-group input::placeholder{color:#ccc}.login-button{background:var(--primary-color);color:#fff;padding:1rem;font-size:.9rem;font-weight:500;letter-spacing:.15em;text-transform:uppercase;border-radius:4px;transition:all .3s ease;margin-top:.5rem}.login-button:hover:not(:disabled){background:var(--secondary-color);transform:translateY(-2px)}.login-button:disabled{opacity:.6;cursor:not-allowed}.login-footer{text-align:center;margin-top:2rem;padding-top:2rem;border-top:1px solid var(--border-color)}.login-footer p{font-size:.9rem;color:var(--text-color);opacity:.8}.toggle-button{background:none;color:var(--secondary-color);font-weight:500;margin-left:.5rem;transition:color .3s ease}.toggle-button:hover{color:var(--primary-color);text-decoration:underline}.login-decoration{position:absolute;right:-120px;top:50%;transform:translateY(-50%);width:200px;color:var(--primary-color);opacity:.3;animation:float 6s ease-in-out infinite;pointer-events:none}.login-decoration svg{width:100%;height:auto}@media(max-width:900px){.login-decoration{display:none}}@media(max-width:768px){.login-card{padding:2rem}}.admin-page{min-height:100vh;padding:6rem 2rem 2rem;background:var(--background-color)}.admin-container{max-width:1200px;margin:0 auto}.admin-header{text-align:center;margin-bottom:2rem}.admin-header h1{font-size:2.5rem;margin-bottom:.5rem}.admin-header p{color:var(--text-color);opacity:.7}.admin-message{background:var(--primary-color);color:#fff;padding:1rem;border-radius:4px;text-align:center;margin-bottom:1.5rem;animation:fadeIn .3s ease-out}.admin-tabs{display:flex;gap:0;margin-bottom:2rem;border-bottom:1px solid var(--border-color)}.admin-tabs button{background:none;padding:1rem 2rem;font-size:.9rem;font-weight:500;letter-spacing:.05em;color:var(--text-color);opacity:.6;border-bottom:2px solid transparent;transition:all .3s ease;margin-bottom:-1px}.admin-tabs button:hover{opacity:1}.admin-tabs button.active{opacity:1;border-bottom-color:var(--secondary-color);color:var(--secondary-color)}.admin-content{background:#fff;border-radius:8px;padding:2rem;box-shadow:var(--shadow-soft)}.theme-editor{display:flex;flex-direction:column;gap:2rem}.editor-section{padding-bottom:2rem;border-bottom:1px solid var(--border-color)}.editor-section:last-of-type{border-bottom:none}.editor-section h2{font-size:1.3rem;margin-bottom:1.5rem;color:var(--secondary-color)}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem}.form-grid .full-width{grid-column:1 / -1}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-group label{font-size:.85rem;font-weight:500;color:var(--text-color)}.form-group input,.form-group textarea{padding:.75rem 1rem;border:1px solid var(--border-color);border-radius:4px;font-size:.95rem;transition:border-color .3s ease}.form-group input:focus,.form-group textarea:focus{border-color:var(--primary-color)}.form-group textarea{resize:vertical;min-height:100px}.image-upload{display:flex;align-items:center;gap:2rem}.current-image{width:200px;height:150px;border-radius:4px;overflow:hidden;background:var(--background-color)}.current-image img{width:100%;height:100%;object-fit:cover}.image-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;color:var(--text-color);opacity:.5;font-size:.9rem}.upload-button{display:inline-block;background:var(--secondary-color);color:#fff;padding:.75rem 1.5rem;border-radius:4px;cursor:pointer;font-size:.9rem;transition:background .3s ease}.upload-button:hover{background:var(--primary-color)}.upload-button input{display:none}.color-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem}.color-picker label{display:block;font-size:.85rem;font-weight:500;margin-bottom:.5rem}.color-input{display:flex;align-items:center;gap:.75rem}.color-input input[type=color]{width:50px;height:40px;border:none;border-radius:4px;cursor:pointer;padding:0}.color-input span{font-size:.9rem;font-family:monospace;color:var(--text-color);opacity:.8}.save-button{background:var(--primary-color);color:#fff;padding:1rem 3rem;font-size:.9rem;font-weight:500;letter-spacing:.1em;border-radius:4px;align-self:flex-start;transition:all .3s ease}.save-button:hover:not(:disabled){background:var(--secondary-color);transform:translateY(-2px)}.save-button:disabled{opacity:.6;cursor:not-allowed}.rsvp-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1rem;margin-bottom:2rem}.stat-card{background:var(--background-color);padding:1.5rem;border-radius:8px;text-align:center}.stat-number{display:block;font-family:var(--font-primary);font-size:2.5rem;color:var(--secondary-color);line-height:1;margin-bottom:.5rem}.stat-label{font-size:.85rem;color:var(--text-color);opacity:.7}.rsvp-table-wrapper{overflow-x:auto}.rsvp-table{width:100%;border-collapse:collapse}.rsvp-table th,.rsvp-table td{padding:1rem;text-align:left;border-bottom:1px solid var(--border-color)}.rsvp-table th{font-size:.8rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--text-color);opacity:.7}.rsvp-table td{font-size:.95rem}.message-cell{max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.status{display:inline-block;padding:.25rem .75rem;border-radius:20px;font-size:.8rem;font-weight:500}.status.yes{background:#c6f6d5;color:#276749}.status.no{background:#fed7d7;color:#c53030}.delete-btn{background:none;color:#c53030;font-size:.85rem;padding:.25rem .5rem;transition:opacity .3s ease}.delete-btn:hover{opacity:.7}.no-data{text-align:center;padding:3rem;color:var(--text-color);opacity:.5}.blog-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.blog-header h2{font-size:1.3rem;color:var(--secondary-color)}.new-post-btn{background:var(--secondary-color);color:#fff;padding:.75rem 1.5rem;border-radius:4px;font-size:.9rem;transition:background .3s ease}.new-post-btn:hover{background:var(--primary-color)}.posts-list{display:flex;flex-direction:column;gap:1rem}.post-card{display:flex;align-items:center;gap:1.5rem;padding:1.5rem;background:var(--background-color);border-radius:8px;transition:transform .3s ease}.post-card:hover{transform:translate(5px)}.post-thumbnail{width:100px;height:80px;object-fit:cover;border-radius:4px}.post-info{flex:1}.post-info h3{font-size:1.1rem;margin-bottom:.25rem}.post-date{font-size:.8rem;color:var(--secondary-color);margin-bottom:.5rem}.post-excerpt{font-size:.9rem;color:var(--text-color);opacity:.7}.post-actions{display:flex;gap:.5rem}.post-actions button{padding:.5rem 1rem;border-radius:4px;font-size:.85rem;background:#fff;border:1px solid var(--border-color);transition:all .3s ease}.post-actions button:hover{border-color:var(--primary-color);color:var(--primary-color)}.post-actions button.delete{color:#c53030}.post-actions button.delete:hover{border-color:#c53030;background:#fff5f5}.post-editor{animation:fadeIn .3s ease-out}.editor-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.editor-header h2{font-size:1.3rem;color:var(--secondary-color)}.cancel-btn{background:none;color:var(--text-color);padding:.5rem 1rem;font-size:.9rem;opacity:.7;transition:opacity .3s ease}.cancel-btn:hover{opacity:1}.image-upload-inline{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.preview-image{width:150px;height:100px;object-fit:cover;border-radius:4px}.upload-btn{display:inline-block;background:var(--background-color);padding:.75rem 1.5rem;border-radius:4px;cursor:pointer;font-size:.9rem;transition:background .3s ease}.upload-btn:hover{background:var(--border-color)}.remove-image{background:none;color:#c53030;font-size:.9rem}.rich-editor{border:1px solid var(--border-color);border-radius:4px;overflow:hidden}.editor-toolbar{display:flex;gap:.5rem;padding:.75rem;background:var(--background-color);border-bottom:1px solid var(--border-color)}.editor-toolbar button{background:#fff;padding:.5rem .75rem;border-radius:4px;font-size:.85rem;border:1px solid var(--border-color);transition:all .3s ease}.editor-toolbar button:hover{background:var(--primary-color);color:#fff;border-color:var(--primary-color)}.editor-content{min-height:300px;padding:1rem;font-size:1rem;line-height:1.6}.editor-content:focus{outline:none}.editor-content:empty:before{content:attr(data-placeholder);color:#ccc;pointer-events:none}.editor-actions{display:flex;justify-content:flex-end;gap:1rem;margin-top:2rem}.save-btn{background:var(--primary-color);color:#fff;padding:.75rem 2rem;border-radius:4px;font-size:.9rem;transition:all .3s ease}.save-btn:hover:not(:disabled){background:var(--secondary-color)}.save-btn:disabled{opacity:.6;cursor:not-allowed}.account-settings{display:flex;flex-direction:column;gap:2rem}.account-info{background:var(--background-color);padding:1.5rem;border-radius:8px}.info-row{display:flex;justify-content:space-between;align-items:center;padding:.75rem 0;border-bottom:1px solid var(--border-color)}.info-row:last-child{border-bottom:none}.info-label{font-size:.9rem;font-weight:500;color:var(--text-color);opacity:.7}.info-value{font-size:.95rem;color:var(--text-color)}.password-form{max-width:400px;display:flex;flex-direction:column;gap:1.25rem}.success-message{background:#c6f6d5;color:#276749;padding:1rem;border-radius:4px;margin-bottom:1rem;font-size:.9rem;border:1px solid #9ae6b4}.error-message{background:#fff5f5;color:#c53030;padding:1rem;border-radius:4px;margin-bottom:1rem;font-size:.9rem;border:1px solid #feb2b2}.details-editor{display:flex;flex-direction:column;gap:2rem}.section-hint{font-size:.9rem;color:var(--text-color);opacity:.7;margin-bottom:1rem}.section-types{display:flex;flex-wrap:wrap;gap:.75rem;margin-bottom:2rem}.section-type-btn{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.25rem;background:var(--background-color);border:2px solid var(--border-color);border-radius:8px;font-size:.9rem;cursor:pointer;transition:all .3s ease}.section-type-btn:hover{border-color:var(--primary-color);background:#fff}.section-type-btn span{font-size:1.2rem}.sections-list{display:flex;flex-direction:column;gap:.75rem}.section-item{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.25rem;background:#fff;border:1px solid var(--border-color);border-radius:8px}.section-info{display:flex;align-items:center;gap:1rem}.section-type-badge{background:var(--primary-color);color:#fff;padding:.25rem .75rem;border-radius:4px;font-size:.75rem;text-transform:uppercase;letter-spacing:.05em}.section-info h4{font-size:1rem;margin:0}.section-actions{display:flex;gap:.5rem}.section-actions button{padding:.4rem .75rem;background:var(--background-color);border:1px solid var(--border-color);border-radius:4px;font-size:.85rem;cursor:pointer;transition:all .2s ease}.section-actions button:hover{background:#fff;border-color:var(--primary-color)}.section-actions button.delete{color:#c53030}.section-actions button.delete:hover{background:#fff5f5;border-color:#c53030}.section-actions button:disabled{opacity:.3;cursor:not-allowed}.section-editor{background:#fff;padding:2rem;border-radius:12px}.section-editor .editor-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.section-editor .editor-header h2{font-size:1.3rem;color:var(--secondary-color);text-transform:capitalize}.items-editor{margin-top:1.5rem}.items-editor>label{display:block;font-weight:500;margin-bottom:1rem}.item-row{display:flex;gap:.75rem;margin-bottom:.75rem;align-items:center}.item-row input{flex:1;padding:.6rem;border:1px solid var(--border-color);border-radius:4px;font-size:.9rem}.item-block{background:var(--background-color);padding:1.25rem;border-radius:8px;margin-bottom:1rem;display:flex;flex-direction:column;gap:.75rem}.item-block input,.item-block textarea{width:100%;padding:.6rem;border:1px solid var(--border-color);border-radius:4px;font-size:.9rem;font-family:inherit}.remove-item{padding:.4rem .75rem;background:#fff5f5;border:1px solid #feb2b2;border-radius:4px;color:#c53030;cursor:pointer;font-size:.85rem}.remove-item:hover{background:#c53030;color:#fff}.add-item-btn{padding:.6rem 1.25rem;background:var(--primary-color);color:#fff;border:none;border-radius:4px;font-size:.9rem;cursor:pointer;margin-top:.5rem}.add-item-btn:hover{background:var(--secondary-color)}.section-editor .editor-actions{margin-top:2rem;padding-top:1.5rem;border-top:1px solid var(--border-color)}@media(max-width:768px){.form-grid{grid-template-columns:1fr}.image-upload,.post-card{flex-direction:column;align-items:flex-start}.post-thumbnail{width:100%;height:150px}.admin-tabs{flex-wrap:wrap}.admin-tabs button{flex:1;min-width:100px}.section-types{flex-direction:column}.section-type-btn{width:100%;justify-content:center}.section-item{flex-direction:column;gap:1rem;align-items:flex-start}.item-row{flex-direction:column}.item-row input{width:100%}}.registry-manager{display:flex;flex-direction:column;gap:2rem}.registry-type-buttons{display:flex;gap:1rem;flex-wrap:wrap}.add-item-type-btn{flex:1;min-width:200px;display:flex;align-items:center;gap:1rem;padding:1.5rem;background:#fff;border:2px solid var(--border-color);border-radius:12px;cursor:pointer;transition:all .3s ease;text-align:left}.add-item-type-btn:hover{border-color:var(--primary-color);transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.add-item-type-btn.fund{border-color:#d4af37}.add-item-type-btn.fund:hover{background:linear-gradient(135deg,#d4af371a,#f4d03f1a)}.add-item-type-btn span{font-size:2rem}.add-item-type-btn strong{display:block;font-size:1rem;margin-bottom:.25rem}.add-item-type-btn p{font-size:.85rem;color:var(--text-color);opacity:.7;margin:0}.registry-items-list{display:flex;flex-direction:column;gap:1rem}.registry-admin-item{display:flex;align-items:center;gap:1rem;padding:1rem;background:#fff;border:1px solid var(--border-color);border-radius:8px}.registry-admin-item.reserved{background:#f0fff4;border-color:#9ae6b4}.registry-admin-item .item-preview{width:80px;height:80px;border-radius:8px;overflow:hidden;flex-shrink:0}.registry-admin-item .item-preview img{width:100%;height:100%;object-fit:cover}.registry-admin-item .item-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:var(--background-color);font-size:2rem}.registry-admin-item .item-info{flex:1;min-width:0}.registry-admin-item .item-header{display:flex;align-items:center;gap:.75rem;margin-bottom:.25rem}.registry-admin-item h4{font-size:1rem;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.item-type-badge{font-size:.7rem;padding:.2rem .5rem;border-radius:4px;text-transform:uppercase;letter-spacing:.05em;flex-shrink:0}.item-type-badge.item{background:var(--primary-color);color:#fff}.item-type-badge.fund{background:linear-gradient(135deg,#d4af37,#f4d03f);color:#5c4300}.item-category{font-size:.8rem;color:var(--text-color);opacity:.6}.item-price-display{font-size:.9rem;font-weight:600;color:var(--secondary-color)}.fund-stats{display:flex;align-items:center;gap:.75rem;font-size:.85rem;color:var(--secondary-color)}.mini-progress{width:80px;height:6px;background:var(--background-color);border-radius:3px;overflow:hidden}.mini-progress-fill{height:100%;background:linear-gradient(135deg,#d4af37,#f4d03f);border-radius:3px}.reserved-info{font-size:.85rem;color:#276749;margin-top:.25rem}.contributions-count{font-size:.85rem;color:var(--secondary-color)}.item-actions-admin{display:flex;gap:.5rem;flex-shrink:0}.item-actions-admin button{padding:.4rem .75rem;background:var(--background-color);border:1px solid var(--border-color);border-radius:4px;font-size:.85rem;cursor:pointer;transition:all .2s ease}.item-actions-admin button:hover{background:#fff;border-color:var(--primary-color)}.item-actions-admin button.delete{color:#c53030}.item-actions-admin button.delete:hover{background:#fff5f5;border-color:#c53030}.registry-item-editor{background:#fff;padding:2rem;border-radius:12px}.registry-item-editor .editor-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.registry-item-editor h2{font-size:1.3rem;color:var(--secondary-color)}.image-upload-area{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.preview-image{position:relative;width:120px;height:120px;border-radius:8px;overflow:hidden}.preview-image img{width:100%;height:100%;object-fit:cover}.preview-image button{position:absolute;bottom:.5rem;right:.5rem;padding:.25rem .5rem;background:#000000b3;color:#fff;border:none;border-radius:4px;font-size:.75rem;cursor:pointer}.upload-btn{padding:.75rem 1.5rem;background:var(--background-color);border:2px dashed var(--border-color);border-radius:8px;cursor:pointer;transition:all .2s ease}.upload-btn:hover{border-color:var(--primary-color);background:#fff}.upload-btn input{display:none}.empty-state{text-align:center;padding:3rem;color:var(--text-color);opacity:.6}@media(max-width:768px){.registry-type-buttons{flex-direction:column}.registry-admin-item{flex-direction:column;align-items:flex-start}.registry-admin-item .item-preview{width:100%;height:150px}.item-actions-admin{width:100%}.item-actions-admin button{flex:1}}.updates-page{min-height:100vh;padding:7rem 2rem 4rem}.updates-container{max-width:1000px;margin:0 auto}.updates-header{text-align:center;margin-bottom:4rem;animation:fadeIn .6s ease-out}.updates-header h1{font-size:3rem;letter-spacing:.1em;margin-bottom:.5rem}.updates-header p{color:var(--text-color);opacity:.7;font-size:1.1rem}.loading{display:flex;justify-content:center;padding:4rem}.loading-spinner{width:40px;height:40px;border:2px solid var(--border-color);border-top-color:var(--primary-color);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.posts-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem}.post-card{background:#fff;border-radius:8px;overflow:hidden;box-shadow:var(--shadow-soft);cursor:pointer;transition:all .4s ease;animation:fadeInUp .6s ease-out forwards;opacity:0}.post-card:hover{transform:translateY(-8px);box-shadow:var(--shadow-medium)}.post-card.featured{grid-column:1 / -1;display:grid;grid-template-columns:1fr 1fr}.post-card.featured .post-image{height:100%;min-height:350px}.post-card.featured .post-body{padding:2.5rem;display:flex;flex-direction:column;justify-content:center}.post-card.featured h2{font-size:2rem}.post-image{height:200px;overflow:hidden}.post-image img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}.post-card:hover .post-image img{transform:scale(1.05)}.post-body{padding:1.5rem}.post-body time{font-size:.8rem;color:var(--secondary-color);letter-spacing:.1em;text-transform:uppercase}.post-body h2{font-size:1.4rem;margin:.5rem 0;letter-spacing:.02em;line-height:1.3}.post-body .excerpt{font-size:.95rem;color:var(--text-color);opacity:.7;line-height:1.6;margin:.75rem 0}.read-more{font-size:.85rem;color:var(--secondary-color);font-weight:500;transition:color .3s ease}.post-card:hover .read-more{color:var(--primary-color)}.no-posts{text-align:center;padding:4rem 2rem;animation:fadeIn .6s ease-out}.no-posts-icon{width:80px;height:80px;margin:0 auto 1.5rem;color:var(--primary-color)}.no-posts-icon svg{width:100%;height:100%}.no-posts h2{font-size:1.8rem;margin-bottom:.5rem}.no-posts p{color:var(--text-color);opacity:.7}.single-post{max-width:800px;margin:0 auto;animation:fadeIn .5s ease-out}.back-button{background:none;color:var(--secondary-color);font-size:.9rem;padding:.5rem 0;margin-bottom:2rem;display:inline-flex;align-items:center;gap:.5rem;transition:color .3s ease}.back-button:hover{color:var(--primary-color)}.post-hero-image{width:100%;height:400px;border-radius:8px;overflow:hidden;margin-bottom:2rem}.post-hero-image img{width:100%;height:100%;object-fit:cover}.post-header{text-align:center;margin-bottom:3rem;padding-bottom:2rem;border-bottom:1px solid var(--border-color)}.post-header h1{font-size:2.5rem;letter-spacing:.05em;margin-bottom:1rem;line-height:1.2}.post-header time{font-size:.9rem;color:var(--secondary-color);letter-spacing:.1em}.post-content{font-size:1.1rem;line-height:1.8;color:var(--text-color)}.post-content p{margin-bottom:1.5rem}.post-content h2,.post-content h3{margin:2rem 0 1rem}.post-content ul,.post-content ol{margin:1.5rem 0;padding-left:2rem}.post-content li{margin-bottom:.5rem}.post-content img{max-width:100%;border-radius:8px;margin:2rem 0}.post-content blockquote{border-left:3px solid var(--primary-color);padding-left:1.5rem;margin:2rem 0;font-style:italic;color:var(--secondary-color)}.post-footer{text-align:center;margin-top:4rem;padding-top:2rem;border-top:1px solid var(--border-color)}.post-footer .footer-ornament{color:var(--primary-color);font-size:1.2rem;margin-bottom:1rem}.post-footer p{font-family:var(--font-primary);font-size:1.2rem;font-style:italic;color:var(--secondary-color)}@media(max-width:768px){.post-card.featured{grid-template-columns:1fr}.post-card.featured .post-image{min-height:200px}.updates-header h1{font-size:2rem}.post-header h1{font-size:1.8rem}.post-hero-image{height:250px}}.rsvp-page{min-height:100vh;padding:7rem 2rem 4rem;position:relative;overflow:hidden}.rsvp-floral{opacity:.3}.rsvp-container{max-width:600px;margin:0 auto;position:relative;z-index:10}.rsvp-header{text-align:center;margin-bottom:3rem;animation:fadeIn .6s ease-out}.rsvp-header h1{font-size:3rem;letter-spacing:.2em;margin-bottom:.5rem}.rsvp-header>p{font-size:1.1rem;color:var(--text-color);opacity:.8;margin-bottom:1.5rem}.event-details{display:flex;justify-content:center;align-items:center;gap:1rem;flex-wrap:wrap;font-size:.9rem;color:var(--secondary-color);letter-spacing:.05em}.event-details .separator{opacity:.5}.rsvp-form{background:#fff;padding:2.5rem;border-radius:8px;box-shadow:var(--shadow-medium);animation:fadeInUp .6s ease-out}.form-error{background:#fff5f5;color:#c53030;padding:1rem;border-radius:4px;margin-bottom:1.5rem;font-size:.9rem;text-align:center;border:1px solid #feb2b2}.form-group{margin-bottom:1.5rem}.form-group label{display:block;font-size:.85rem;font-weight:500;letter-spacing:.05em;color:var(--text-color);margin-bottom:.5rem}.form-group input,.form-group select,.form-group textarea{width:100%;padding:1rem;border:1px solid var(--border-color);border-radius:4px;font-size:1rem;transition:border-color .3s ease,box-shadow .3s ease;background:#fff}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--primary-color);box-shadow:0 0 0 3px #c9b8a833}.form-group input::placeholder,.form-group textarea::placeholder{color:#ccc}.form-group select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%238b7355' d='M6 8L1 3h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 1rem center;padding-right:2.5rem}.form-group textarea{resize:vertical;min-height:120px}.radio-group{display:flex;gap:1rem}.radio-option{flex:1;position:relative;display:flex;align-items:center;gap:.75rem;padding:1rem 1.25rem;border:1px solid var(--border-color);border-radius:4px;cursor:pointer;transition:all .3s ease}.radio-option:hover{border-color:var(--primary-color)}.radio-option.selected{border-color:var(--primary-color);background:#c9b8a81a}.radio-option input{position:absolute;opacity:0;width:0;height:0}.radio-custom{width:20px;height:20px;border:2px solid var(--border-color);border-radius:50%;display:flex;align-items:center;justify-content:center;transition:all .3s ease}.radio-option.selected .radio-custom{border-color:var(--primary-color)}.radio-custom:after{content:"";width:10px;height:10px;background:var(--primary-color);border-radius:50%;transform:scale(0);transition:transform .3s ease}.radio-option.selected .radio-custom:after{transform:scale(1)}.radio-label{font-size:.95rem;color:var(--text-color)}.submit-button{width:100%;background:var(--primary-color);color:#fff;padding:1.25rem;font-size:.95rem;font-weight:500;letter-spacing:.15em;text-transform:uppercase;border-radius:4px;transition:all .3s ease;margin-top:1rem}.submit-button:hover:not(:disabled){background:var(--secondary-color);transform:translateY(-2px)}.submit-button:disabled{opacity:.6;cursor:not-allowed}.rsvp-footer{text-align:center;margin-top:2rem}.rsvp-footer p{font-size:.9rem;color:var(--text-color);opacity:.6;font-style:italic}.rsvp-success{background:#fff;padding:4rem 3rem;border-radius:8px;box-shadow:var(--shadow-medium);text-align:center;animation:scaleIn .5s ease-out}.success-icon{width:80px;height:80px;margin:0 auto 1.5rem;color:#48bb78}.success-icon svg{width:100%;height:100%}.rsvp-success h1{font-size:2.5rem;margin-bottom:1rem;letter-spacing:.1em}.rsvp-success>p{font-size:1.1rem;color:var(--text-color);opacity:.8;margin-bottom:2rem}.success-details{padding:1.5rem;background:var(--background-color);border-radius:8px;margin-bottom:2rem}.success-details p{margin:.25rem 0;color:var(--text-color)}.success-details strong{color:var(--secondary-color)}.success-ornament{color:var(--primary-color);font-size:1.2rem}@media(max-width:600px){.rsvp-form{padding:1.5rem}.radio-group{flex-direction:column}.rsvp-header h1{font-size:2.5rem}.event-details{flex-direction:column;gap:.25rem}.event-details .separator{display:none}}.details-page{min-height:100vh;padding:7rem 2rem 4rem}.details-container{max-width:900px;margin:0 auto}.details-header{text-align:center;margin-bottom:4rem;animation:fadeIn .6s ease-out}.details-header h1{font-size:3rem;letter-spacing:.1em;margin-bottom:.5rem}.details-header>p{color:var(--text-color);opacity:.7;font-size:1.1rem}.detail-section{margin-bottom:4rem;animation:fadeInUp .6s ease-out}.detail-section h2{font-size:1.8rem;text-align:center;margin-bottom:2rem;letter-spacing:.05em;color:var(--secondary-color)}.venue-card{background:#fff;border-radius:12px;overflow:hidden;box-shadow:var(--shadow-soft)}.venue-info{padding:2.5rem;text-align:center}.venue-info h3{font-size:1.5rem;margin-bottom:.5rem}.venue-address{color:var(--text-color);opacity:.7;margin-bottom:1.5rem}.venue-datetime{display:flex;justify-content:center;gap:3rem;margin-bottom:1.5rem}.datetime-item{text-align:center}.datetime-item .label{display:block;font-size:.8rem;letter-spacing:.1em;text-transform:uppercase;color:var(--secondary-color);margin-bottom:.25rem}.datetime-item .value{font-family:var(--font-primary);font-size:1.2rem}.directions-btn{display:inline-block;background:var(--primary-color);color:#fff;padding:.75rem 2rem;border-radius:4px;font-size:.9rem;letter-spacing:.1em;transition:all .3s ease}.directions-btn:hover{background:var(--secondary-color);transform:translateY(-2px)}.venue-map{border-top:1px solid var(--border-color)}.text-content{background:#fff;padding:2rem;border-radius:12px;box-shadow:var(--shadow-soft);line-height:1.8}.text-content p{margin-bottom:1rem}.text-content p:last-child{margin-bottom:0}.info-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem}.info-card{background:#fff;padding:2rem;border-radius:12px;box-shadow:var(--shadow-soft);text-align:center;transition:transform .3s ease}.info-card:hover{transform:translateY(-5px)}.card-icon{font-size:2rem;margin-bottom:1rem}.info-card h3{font-size:1.2rem;margin-bottom:.5rem}.info-card p{color:var(--text-color);opacity:.8;font-size:.95rem;line-height:1.6;margin-bottom:1rem}.info-card a{color:var(--secondary-color);font-weight:500;font-size:.9rem}.info-card a:hover{color:var(--primary-color)}.timeline{position:relative;padding-left:2rem}.timeline:before{content:"";position:absolute;left:0;top:0;bottom:0;width:2px;background:var(--primary-color)}.timeline-item{position:relative;padding:1.5rem 0 1.5rem 2rem;border-bottom:1px solid var(--border-color)}.timeline-item:last-child{border-bottom:none}.timeline-item:before{content:"";position:absolute;left:-2rem;top:1.8rem;width:10px;height:10px;background:var(--primary-color);border-radius:50%;transform:translate(-4px)}.timeline-time{font-family:var(--font-primary);font-size:1.1rem;color:var(--secondary-color);margin-bottom:.25rem}.timeline-content h4{font-size:1.1rem;margin-bottom:.25rem}.timeline-content p{color:var(--text-color);opacity:.7;font-size:.95rem}.faq-list{display:flex;flex-direction:column;gap:1rem}.faq-item{background:#fff;border-radius:8px;box-shadow:var(--shadow-soft);overflow:hidden}.faq-item summary{padding:1.25rem 1.5rem;cursor:pointer;font-weight:500;font-size:1rem;display:flex;justify-content:space-between;align-items:center;list-style:none}.faq-item summary::-webkit-details-marker{display:none}.faq-item summary:after{content:"+";font-size:1.5rem;color:var(--primary-color);transition:transform .3s ease}.faq-item[open] summary:after{transform:rotate(45deg)}.faq-item p{padding:0 1.5rem 1.25rem;color:var(--text-color);opacity:.8;line-height:1.7}.image-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1rem}.gallery-item{position:relative;border-radius:8px;overflow:hidden}.gallery-item img{width:100%;height:200px;object-fit:cover;transition:transform .3s ease}.gallery-item:hover img{transform:scale(1.05)}.gallery-item .caption{position:absolute;bottom:0;left:0;right:0;padding:.75rem;background:linear-gradient(transparent,#000000b3);color:#fff;font-size:.85rem}.accommodation-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem}.hotel-card{background:#fff;border-radius:12px;overflow:hidden;box-shadow:var(--shadow-soft)}.hotel-card img{width:100%;height:180px;object-fit:cover}.hotel-info{padding:1.5rem}.hotel-info h3{font-size:1.2rem;margin-bottom:.25rem}.hotel-info .distance{font-size:.85rem;color:var(--secondary-color);display:block;margin-bottom:.75rem}.hotel-info p{color:var(--text-color);opacity:.8;font-size:.95rem;line-height:1.6;margin-bottom:1rem}.hotel-info a{display:inline-block;background:var(--primary-color);color:#fff;padding:.5rem 1.5rem;border-radius:4px;font-size:.85rem;transition:background .3s ease}.hotel-info a:hover{background:var(--secondary-color)}.registry-section{text-align:center;background:#fff;padding:3rem;border-radius:12px;box-shadow:var(--shadow-soft)}.registry-message{max-width:500px;margin:0 auto 2rem;color:var(--text-color);opacity:.8;line-height:1.7}.registry-btn{display:inline-block;background:var(--primary-color);color:#fff;padding:1rem 3rem;border-radius:4px;font-size:.95rem;letter-spacing:.1em;transition:all .3s ease}.registry-btn:hover{background:var(--secondary-color);transform:translateY(-2px)}.details-footer{text-align:center;padding-top:2rem;border-top:1px solid var(--border-color)}.details-footer p{font-family:var(--font-primary);font-size:1.2rem;font-style:italic;color:var(--secondary-color)}@media(max-width:768px){.details-header h1{font-size:2rem}.venue-datetime{flex-direction:column;gap:1rem}.timeline,.timeline-item{padding-left:1.5rem}}.registry-page{min-height:100vh;padding:7rem 2rem 4rem}.registry-container{max-width:1200px;margin:0 auto}.registry-header{text-align:center;margin-bottom:3rem;animation:fadeIn .6s ease-out}.header-ornament{color:var(--primary-color);font-size:1.2rem;margin-bottom:1rem}.registry-header h1{font-size:3rem;letter-spacing:.1em;margin-bottom:1rem}.registry-header>p{max-width:600px;margin:0 auto;color:var(--text-color);opacity:.8;line-height:1.7}.registry-filters{display:flex;justify-content:center;gap:.75rem;margin-bottom:3rem;flex-wrap:wrap}.registry-filters button{padding:.6rem 1.5rem;border:1px solid var(--border-color);background:#fff;border-radius:25px;font-size:.9rem;cursor:pointer;transition:all .3s ease}.registry-filters button:hover{border-color:var(--primary-color)}.registry-filters button.active{background:var(--primary-color);border-color:var(--primary-color);color:#fff}.registry-section{margin-bottom:4rem}.registry-section h2{font-size:1.8rem;text-align:center;margin-bottom:.5rem;letter-spacing:.05em;color:var(--secondary-color)}.section-note{text-align:center;color:var(--text-color);opacity:.6;font-size:.95rem;margin-bottom:2rem}.reserved-section .registry-item{opacity:.6}.registry-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:2rem}.registry-item{background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 2px 12px #00000014;transition:transform .3s ease,box-shadow .3s ease}.registry-item:hover{transform:translateY(-5px);box-shadow:0 8px 25px #0000001f}.registry-item.reserved{pointer-events:none}.item-image{position:relative;height:200px;background:var(--background-color)}.item-image img{width:100%;height:100%;object-fit:cover}.image-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:4rem}.reserved-badge{position:absolute;top:1rem;right:1rem;background:var(--secondary-color);color:#fff;padding:.35rem .75rem;border-radius:4px;font-size:.75rem;text-transform:uppercase;letter-spacing:.05em}.fund-badge{position:absolute;top:1rem;left:1rem;background:linear-gradient(135deg,#d4af37,#f4d03f);color:#5c4300;padding:.35rem .75rem;border-radius:4px;font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;font-weight:600}.item-details{padding:1.5rem}.item-details h3{font-size:1.2rem;margin-bottom:.5rem;line-height:1.3}.item-description{font-size:.9rem;color:var(--text-color);opacity:.7;line-height:1.5;margin-bottom:1rem}.item-price{display:block;font-size:1.1rem;font-weight:600;color:var(--secondary-color);margin-bottom:1rem}.fund-progress-mini{margin-bottom:1rem}.progress-bar{height:8px;background:var(--background-color);border-radius:4px;overflow:hidden;margin-bottom:.5rem}.progress-fill{height:100%;background:linear-gradient(135deg,var(--primary-color),var(--secondary-color));border-radius:4px;transition:width .5s ease}.progress-text{font-size:.85rem;color:var(--secondary-color)}.item-actions{margin-top:1rem}.reserve-btn,.contribute-btn{width:100%;padding:.85rem;border:none;border-radius:6px;font-size:.95rem;cursor:pointer;transition:all .3s ease}.reserve-btn{background:var(--primary-color);color:#fff}.reserve-btn:hover{background:var(--secondary-color)}.contribute-btn{background:linear-gradient(135deg,#d4af37,#f4d03f);color:#5c4300;font-weight:600}.contribute-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px #d4af3766}.empty-registry{text-align:center;padding:4rem 2rem;color:var(--text-color);opacity:.7}.registry-footer{text-align:center;padding-top:3rem;border-top:1px solid var(--border-color)}.footer-ornament{color:var(--primary-color);font-size:1.2rem;margin-bottom:1rem}.registry-footer p{font-family:var(--font-primary);font-size:1.2rem;font-style:italic;color:var(--secondary-color)}.modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:2rem;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal{background:#fff;border-radius:16px;max-width:480px;width:100%;max-height:90vh;overflow-y:auto;padding:2rem;position:relative;animation:modalSlideIn .3s ease-out}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.modal-close{position:absolute;top:1rem;right:1rem;width:32px;height:32px;border:none;background:var(--background-color);border-radius:50%;font-size:1.5rem;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--text-color);transition:background .2s ease}.modal-close:hover{background:var(--border-color)}.modal h3{font-size:1.5rem;margin-bottom:1.5rem;text-align:center}.modal-item-preview{display:flex;gap:1rem;padding:1rem;background:var(--background-color);border-radius:8px;margin-bottom:1.5rem}.modal-item-preview img{width:80px;height:80px;object-fit:cover;border-radius:6px}.modal-item-preview h4{font-size:1rem;margin-bottom:.25rem}.modal-item-preview .price{color:var(--secondary-color);font-weight:600}.modal-item-preview .fund-progress{margin-top:.5rem}.modal-item-preview .fund-progress .progress-bar{height:6px}.modal-item-preview .fund-progress span{font-size:.8rem;color:var(--text-color);opacity:.7}.modal-note{font-size:.9rem;color:var(--text-color);opacity:.7;line-height:1.6;margin-bottom:1.5rem;padding:1rem;background:var(--background-color);border-radius:8px}.modal .form-group{margin-bottom:1.25rem}.modal .form-group label{display:block;font-size:.9rem;font-weight:500;margin-bottom:.5rem}.modal .form-group input,.modal .form-group textarea{width:100%;padding:.75rem 1rem;border:1px solid var(--border-color);border-radius:6px;font-size:1rem;font-family:inherit;transition:border-color .2s ease}.modal .form-group input:focus,.modal .form-group textarea:focus{outline:none;border-color:var(--primary-color)}.modal .submit-btn{width:100%;padding:1rem;background:var(--primary-color);color:#fff;border:none;border-radius:6px;font-size:1rem;font-weight:500;cursor:pointer;transition:background .3s ease}.modal .submit-btn:hover:not(:disabled){background:var(--secondary-color)}.modal .submit-btn:disabled{opacity:.7;cursor:not-allowed}.modal .submit-btn.contribute-btn{background:linear-gradient(135deg,#d4af37,#f4d03f);color:#5c4300}.payment-note{display:flex;align-items:center;justify-content:center;gap:.5rem;margin-top:1rem;font-size:.85rem;color:var(--text-color);opacity:.6}.payment-note svg{width:16px;height:16px}.loading{text-align:center;padding:4rem;color:var(--text-color);opacity:.7}@media(max-width:768px){.registry-header h1{font-size:2rem}.registry-grid{grid-template-columns:1fr}.modal{padding:1.5rem;margin:1rem}}.app{min-height:100vh;display:flex;flex-direction:column}.main-content{flex:1}
