:root{--color-bg: #fffdf0;--color-text-main: #9e1413;--color-text-light: #7a100f;--color-primary: #9e1413;--color-primary-dark: #7a100f;--color-accent: #E2725B;--color-gold: #C5A059;--color-white: #FFFFFF;--color-border: #E0DCD5;--primary-color: #9e1413;--secondary-color: #fffdf0;--text-color: #9e1413;--background-color: #fff;--envelope-color: #fffdf0;--letter-color: #fffedb;--button-bg-color: #9e1413;--button-text-color: #fff;--button-hover-bg-color: #7a100f;--link-color: #9e1413;--font-heading: "Playfair Display", serif;--font-body: "Lato", sans-serif;--spacing-xs: .5rem;--spacing-sm: 1rem;--spacing-md: 2rem;--spacing-lg: 4rem;--radius-sm: 4px;--radius-md: 8px;--shadow-soft: 0 4px 20px rgba(0,0,0,.05)}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background-color:var(--color-bg);color:var(--color-text-main);font-family:var(--font-body);font-weight:400;line-height:1.6;-webkit-font-smoothing:antialiased}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);font-weight:700;color:var(--color-text-main);margin-top:0;margin-bottom:var(--spacing-sm)}h1{font-size:3.5rem;letter-spacing:-.02em}h2{font-size:2.5rem;color:var(--color-primary)}h3{font-size:1.75rem}a{color:var(--color-primary);text-decoration:none;transition:color .2s ease;font-weight:700}a:hover{color:var(--color-accent)}button,.cta-button{font-family:var(--font-body);background-color:var(--color-primary);color:var(--color-white);border:none;padding:.8rem 1.5rem;font-size:1rem;font-weight:700;border-radius:var(--radius-sm);cursor:pointer;transition:all .3s ease;text-transform:uppercase;letter-spacing:.05em}button:hover,.cta-button:hover{background-color:var(--color-primary-dark);transform:translateY(-2px);box-shadow:0 4px 12px #8a9a5b4d}input,select,textarea{font-family:var(--font-body);padding:.8rem;border:1px solid var(--color-border);border-radius:var(--radius-sm);background-color:var(--color-white);font-size:1rem;transition:border-color .2s}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--color-primary)}.card{background:var(--color-white);padding:var(--spacing-md);border-radius:var(--radius-md);box-shadow:var(--shadow-soft);border:1px solid var(--color-border);max-width:800px;margin:10px auto}@media (max-width: 1000px){.card{max-width:85vw}}.layout{display:flex;flex-direction:column;min-height:100vh}.navbar{display:flex;justify-content:space-between;align-items:center;padding:1.5rem 2rem;background-color:var(--color-bg);border-bottom:1px solid var(--color-border);position:sticky;top:0;z-index:1000}.logo{font-family:var(--font-heading);font-weight:700;font-size:1.8rem;color:var(--color-text-main);letter-spacing:-.02em}.nav-links{display:flex;list-style:none;gap:2rem;margin:0;padding:0;align-items:center}.nav-links a{text-decoration:none;color:var(--color-text-light);font-family:var(--font-body);font-weight:400;text-transform:uppercase;font-size:.9rem;letter-spacing:.1em;transition:color .3s}.nav-links a:hover{color:var(--color-primary)}.nav-links a.cta-button{color:var(--button-text-color);background-color:var(--button-bg-color);padding:10px 20px;border-radius:5px;transition:background-color .3s}.nav-links a.cta-button:hover{background-color:var(--button-hover-bg-color);color:var(--button-text-color)}.hamburger{display:none;cursor:pointer;background:none;border:none;padding:.5rem;z-index:1002}.bar{display:block;width:25px;height:3px;margin:5px auto;-webkit-transition:all .3s ease-in-out;transition:all .3s ease-in-out;background-color:var(--color-text-main)}@media (max-width: 768px){.hamburger{display:block}.hamburger.active .bar:nth-child(2){opacity:0}.hamburger.active .bar:nth-child(1){transform:translateY(8px) rotate(45deg)}.hamburger.active .bar:nth-child(3){transform:translateY(-8px) rotate(-45deg)}.nav-links{position:fixed;right:-100%;top:0;flex-direction:column;background-color:var(--color-bg);width:70%;height:100vh;text-align:left;transition:.3s;box-shadow:0 10px 27px #0000000d;padding-top:5rem;padding-left:2rem;z-index:1001;gap:1.5rem}.nav-links.active{right:0}.nav-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#00000080;z-index:1000;display:none}.nav-overlay.active{display:block}}.content{flex:1}.footer{text-align:center;padding:3rem 2rem;background-color:var(--color-white);color:var(--color-text-light);border-top:1px solid var(--color-border);font-size:.9rem}.section{padding:var(--spacing-lg) var(--spacing-md);min-height:80vh;display:flex;align-items:center;justify-content:center}.container{max-width:1000px;margin:0 auto;text-align:center}.briefing-section,.schedule-section{background-color:transparent}h1{font-size:3.5rem;margin-bottom:1.5rem;color:var(--text-color)}h2{font-size:2.5rem;margin-bottom:2.5rem;color:var(--color-primary);position:relative;display:inline-block}h2:after{content:"";display:block;width:60px;height:2px;background-color:var(--color-gold);margin:10px auto 0}.lead{font-size:1.25rem;color:var(--text-color);margin-bottom:3rem;max-width:700px;margin-left:auto;margin-right:auto}.timeline{display:flex;justify-content:center;flex-wrap:wrap;gap:2rem}.timeline-item{background:var(--color-white);padding:2rem;border-radius:var(--radius-md);box-shadow:var(--shadow-soft);border:1px solid var(--color-border);flex:1;min-width:250px;max-width:350px;transition:transform .3s ease}.timeline-item:hover{transform:translateY(-5px)}.timeline-item h3{color:var(--text-color);margin-bottom:1rem;font-family:var(--font-heading)}.section a{color:var(--link-color);text-decoration:underline}.section a.cta-button{color:var(--button-text-color);text-decoration:none}.checkbox-wrapper{display:flex;align-items:center;gap:10px;margin-bottom:10px}.checkbox-wrapper input[type=checkbox]{width:auto;margin:0}.checkbox-wrapper label{margin:0;font-weight:400;text-transform:none;color:var(--text-color)}.rooms-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:2rem;margin-top:3rem;justify-content:center}.room-card{background:var(--color-white);padding:0;border-radius:var(--radius-md);box-shadow:var(--shadow-soft);border:1px solid var(--color-border);text-align:left;overflow:hidden;display:flex;flex-direction:column}.room-card img{width:100%;height:200px;object-fit:cover;border-bottom:1px solid var(--color-border)}.room-card-content{padding:1.5rem;display:flex;flex-direction:column;flex:1}.room-card h3{margin-top:0;color:var(--text-color);font-size:1.5rem}.room-card p{margin:.5rem 0}.room-card .price{font-weight:700;color:var(--color-gold);font-size:1.2rem;margin-bottom:1rem;display:block}.room-card button{width:100%;margin-top:auto}.room-card button:disabled{background-color:#ccc;cursor:not-allowed;box-shadow:none;transform:none}.signup-form{max-width:450px;margin:0 auto;text-align:left;background:var(--color-white);padding:2rem;border-radius:var(--radius-md);box-shadow:var(--shadow-soft);border:1px solid var(--color-border)}.form-group{margin-bottom:1.5rem}.form-group label{display:block;margin-bottom:.5rem;font-weight:700;font-size:.9rem;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-light)}.form-group input{width:100%;box-sizing:border-box}.status-message{margin-top:1rem;font-weight:700;color:var(--color-primary);text-align:center}.gifts-grid .card{display:flex;flex-direction:column;min-height:450px}.gifts-grid .card h3{margin-bottom:.5rem}.gifts-grid .card p{margin:.5rem 0}.gifts-grid .card p:nth-of-type(2){flex:1;overflow:hidden;text-overflow:ellipsis}.gifts-grid .card button{margin-top:auto}.practicalities-section .info-card p{white-space:pre-wrap}@media (max-width: 768px){.signup-form{padding:1rem}}.guest-card{background:#f9f9f9;padding:20px;border-radius:12px;margin-bottom:20px;border:1px solid #eee;position:relative;box-shadow:0 2px 8px #0000000d}.guest-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px}.guest-card-header h4{margin:0;color:#800020}.guest-remove-btn{position:absolute;top:15px;right:15px;background:none;border:none;font-size:1.5rem;cursor:pointer;color:#ccc;line-height:1}.guest-edit-btn{background:none;border:none;cursor:pointer;font-size:1.2rem}.guest-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.guest-form-grid .form-group.full-width{grid-column:1 / -1}.attendance-toggle{display:flex;gap:10px;margin-top:5px}.guest-food-prefs{width:100%;padding:10px;border-radius:5px;border:1px solid #ddd;margin-top:5px;box-sizing:border-box;font-family:inherit}.attendance-btn{flex:1;padding:10px;border-radius:8px;font-weight:700;transition:all .2s;border:1px solid}.attendance-btn.attending{border-color:#800020;background:#fff;color:#800020}.attendance-btn.attending.active{background:#800020;color:#fff}.attendance-btn.not-attending{border-color:#666;background:#fff;color:#666}.attendance-btn.not-attending.active{background:#666;color:#fff}.guest-checkbox-group{display:flex;gap:15px;flex-wrap:wrap;margin-top:5px}.guest-card .checkbox-wrapper{display:flex;align-items:flex-start;gap:10px;margin-bottom:8px;width:100%}.guest-card .checkbox-wrapper input[type=checkbox]{margin-top:5px;flex-shrink:0;width:18px;height:18px}.guest-card .checkbox-wrapper label{font-size:.95rem;line-height:1.4;cursor:pointer;flex:1;overflow-wrap:break-word;text-align:left}.guest-actions{display:flex;gap:10px;margin-top:20px}.guest-actions button{padding:8px 20px;font-size:.9rem}.guest-cancel-btn{background:#eee;color:#333;border:none;border-radius:5px;cursor:pointer}@media (max-width: 600px){.guest-card{padding:15px}.guest-form-grid{grid-template-columns:1fr;gap:10px}.attendance-toggle{flex-direction:column}.guest-checkbox-group{flex-direction:column;gap:8px}.guest-actions{flex-direction:column}.guest-actions button{width:100%}.guest-card-header h4{font-size:1.1rem}}.app3-container{background-color:var(--background-color);min-height:100vh}.paper-texture{background-color:var(--letter-color);max-width:800px;margin:0 auto;padding:5vw;box-shadow:0 0 20px #0000001a;font-family:Playfair Display,serif;color:var(--text-color);border:1px solid #e6ccb2;margin-top:125vh;position:relative;z-index:2}.content-inner{border:1px solid #e6ccb2;padding:40px}.divider{border:0;border-top:1px solid #e6ccb2;margin:40px 0}h1,h2,h3{color:var(--primary-color)}.section{padding:20px 0;background:transparent!important}.container{max-width:100%!important;padding:0!important}.envelope3{position:fixed;width:95%;left:50%;transform:translate(-50%,-50%);max-width:1000px;height:400px;border-radius:5px;transition:all .1s ease;pointer-events:none}.envelope-back{background:var(--envelope-color);box-shadow:0 10px 30px #0000004d;z-index:1}.envelope-flap{z-index:5}.envelope-front{z-index:3}.flap{position:absolute;width:0;height:0;border-style:solid}.flap.front{bottom:0;left:0;border-width:0 500px 250px 500px;border-color:transparent transparent var(--envelope-color) transparent;z-index:4;filter:drop-shadow(0 -2px 5px rgba(0,0,0,.1));pointer-events:none}.flap.top{top:0;left:0;border-width:250px 500px 0 500px;border-color:var(--envelope-color) transparent transparent transparent;z-index:5;transform-origin:top;transition:transform .6s cubic-bezier(.4,0,.2,1);filter:drop-shadow(0 2px 5px rgba(0,0,0,.1))}.flap.sides{bottom:0;left:0;border-width:200px 500px 200px 500px;border-color:transparent var(--envelope-color) transparent var(--envelope-color);z-index:3;filter:drop-shadow(0 -2px 5px rgba(0,0,0,.1));pointer-events:none}.envelope3.open .flap.top{transform:rotateX(180deg);z-index:1}.seal{position:absolute;top:60%;left:50%;width:80px;height:80px;background:#a00030;border-radius:2.2rem 1.9rem 2.3rem 2rem;transform:translate(-50%,-50%);z-index:6;display:flex;justify-content:center;align-items:center;color:#a00030;font-weight:700;font-family:serif;box-shadow:0 -2px 4px #0003 inset,0 3px 3px #fff9 inset,0 1px 5px #000c;transition:opacity .2s ease;border:2px solid #a00030;font-size:1.2em;text-align:center;line-height:4.2rem;font-size:2.2rem;text-shadow:0 1px 2px rgba(0,0,0,.6)}.seal .embossed{display:block;width:80%;height:80%;position:absolute;top:10%;left:10%;box-shadow:0 -2px 2px #cdcdcd1a inset,0 3px 3px #1e1e1e1a inset,0 1px 2px #1e1e1e99 inset;border-radius:999rem;background-image:-webkit-linear-gradient(top,rgba(51,51,51,.3) 0%,rgba(51,51,51,.2) 100%)}.envelope3.open .seal{opacity:0;pointer-events:none}@media (max-width: 1000px){.envelope3{width:96vw;height:40vh}.paper-texture{max-width:85vw}h1{font-size:2.5rem}.flap.front{border-width:0 48vw 25vh 48vw}.flap.top{border-width:25vh 48vw 0 48vw}.flap.sides{border-width:20vh 48vw 20vh 48vw}}.admin-dashboard{padding:20px}.admin-section{margin-bottom:40px;background:#fff;padding:20px;border-radius:8px;box-shadow:0 2px 4px #0000001a}.admin-table{width:100%;border-collapse:collapse;margin-top:20px}.admin-table th,.admin-table td{padding:12px;text-align:left;border-bottom:1px solid #eee}.admin-table th{background-color:#f8f9fa;font-weight:600}.admin-table tr:hover{background-color:#f5f5f5}.action-btn{padding:6px 12px;border:none;border-radius:4px;cursor:pointer;margin-right:5px;font-size:.9rem}.edit-btn{background-color:#ffc107;color:#000}.delete-btn{background-color:#dc3545;color:#fff}.save-btn{background-color:#28a745;color:#fff}.cancel-btn{background-color:#6c757d;color:#fff}#root{width:100%;min-height:100vh;display:flex;flex-direction:column}.container{max-width:1200px;margin:0 auto;padding:0 var(--spacing-md);width:100%;box-sizing:border-box}.section{padding:var(--spacing-lg) 0}.section:nth-child(2n){background-color:#8a9a5b0d}button,.cta-button{background-color:var(--button-bg-color);color:var(--button-text-color);border:none;padding:10px 20px;border-radius:5px;cursor:pointer;font-size:1rem;transition:background-color .3s;text-decoration:none;display:inline-block}button:hover,.cta-button:hover{background-color:var(--button-hover-bg-color)}button:disabled{background-color:#ccc;cursor:not-allowed}
