:root{--primary: #6d071a;--secondary: #f4d9b0;--bg-light: #fff8f2;--text-dark: #220000;--text-on-primary: #ffffff;--text-on-secondary: #3a1e1e}[data-theme=red-gold]{--primary: #b30000;--secondary: #d4af37;--bg-light: #fff7e6;--text-dark: #4d0000;--text-on-primary: #ffffff;--text-on-secondary: #5c0202;--countdown-bg: #fff3cc;--countdown-card-bg: #f8e1a1;--countdown-text-color: #5c0202}[data-theme=pastel]{--primary: #a86de8;--secondary: #ffe8f3;--bg-light: #faf7ff;--text-dark: #3e3450;--text-on-primary: #ffffff;--text-on-secondary: #4a3f55}[data-theme=floral]{--primary: #ff6f8f;--secondary: #ffe3d2;--bg-light: #fff4f4;--text-dark: #5c313d;--text-on-primary: #ffffff;--text-on-secondary: #663c47}body{transition:background .3s ease,color .3s ease}body{background:var(--bg-light);color:var(--text-dark);font-family:Times New Roman,serif;margin:0;padding:0}.section-title{color:var(--primary);text-align:center;margin-bottom:30px;font-weight:700;position:relative}.card,.family-card,.ritual-card,.story-card,.countdown-card,.guest-form-card,.event-card,.event-days-card,.event-countdown-card,.venue-map-card,.qr-card{border-radius:12px;transition:transform .3s ease,box-shadow .3s ease;background:var(--bg-light)}.card,.family-card,.ritual-card,.story-card,.countdown-card{border:2px solid var(--secondary)}.guest-form-card,.event-card,.qr-card{border-left:6px solid var(--primary)}.card:hover,.family-card:hover,.ritual-card:hover,.story-card:hover,.countdown-card:hover,.guest-form-card:hover,.event-card:hover,.event-days-card:hover,.event-countdown-card:hover,.venue-map-card:hover,.qr-card:hover{transform:translateY(-5px);box-shadow:0 12px 28px #0003}.btn,.navbar-brand,.nav-link{transition:all .3s ease}.btn:hover,.navbar-brand:hover,.nav-link:hover{opacity:.85;transform:translateY(-3px);box-shadow:0 6px 15px #0000004d}.themed-btn{background:var(--primary);color:var(--text-on-primary);border-radius:8px;padding:10px 0;transition:transform .3s ease,box-shadow .3s ease}.themed-btn:hover{transform:translateY(-2px);box-shadow:0 6px 20px #0003;opacity:.9}.themed-input{border:2px solid var(--secondary);border-radius:8px;padding:10px;transition:all .3s ease}.themed-input:focus{border-color:var(--primary);box-shadow:0 0 8px #6d071a4d;outline:none}.scroll-top-btn{position:fixed;bottom:30px;right:25px;width:45px;height:45px;border-radius:50%;border:none;background:var(--secondary);color:var(--primary);font-size:24px;font-weight:700;cursor:pointer;opacity:0;visibility:hidden;transition:all .3s ease-in-out;z-index:999}.scroll-top-btn.show{opacity:1;visibility:visible}.scroll-top-btn:hover{transform:scale(1.1);background:var(--primary);color:var(--text-on-primary)}.floating-next-ceremony-wrapper{position:fixed;bottom:30px;right:25px;display:flex;align-items:center;gap:10px;z-index:1000}.floating-countdown-trigger{width:45px;height:45px;border-radius:50%;background:var(--primary);color:var(--text-on-primary);border:none;font-weight:700;font-size:1rem;cursor:pointer;box-shadow:0 8px 20px #00000040;transition:transform .3s ease,box-shadow .3s ease;animation:pulse 2.5s infinite}.floating-countdown-trigger:hover{transform:scale(1.1);box-shadow:0 12px 28px #00000059}@keyframes pulse{0%,to{box-shadow:0 8px 20px #f009}50%{box-shadow:0 8px 30px #ff0000e6}}.next-ceremony-bubble{position:fixed;bottom:30px;right:80px;background:var(--secondary);color:var(--text-dark);padding:10px 16px;border-radius:20px;font-size:.9rem;font-weight:600;white-space:nowrap;box-shadow:0 6px 18px #0003;cursor:pointer;opacity:0;transform:translate(20px);transition:opacity .3s ease,transform .3s ease;z-index:1001}.next-ceremony-bubble.active{opacity:1;transform:translate(0)}.next-ceremony-bubble.inactive{opacity:0;transform:translate(20px)}.next-ceremony-bubble .bubble-tail{position:absolute;top:50%;right:-8px;transform:translateY(-50%);width:0;height:0;border-top:8px solid transparent;border-bottom:8px solid transparent;border-left:8px solid var(--secondary)}.gallery-item{cursor:pointer;transition:transform .3s ease,box-shadow .3s ease}.gallery-item:hover{transform:scale(1.05);box-shadow:0 12px 25px #00000040}.featured{border:6px solid var(--primary);padding:5px;transition:transform .3s ease,box-shadow .3s ease}.featured:hover{transform:scale(1.08);box-shadow:0 15px 35px #0000004d}.modal-backdrop{position:fixed;top:0;left:0;width:100vw;height:100vh;background:#000c;display:flex;align-items:center;justify-content:center;z-index:9999;cursor:pointer;opacity:0;animation:fadeIn .3s forwards}.modal-backdrop.fade-out{animation:fadeOut .3s forwards}.modal-content{max-width:90vw;max-height:90vh;border-radius:12px;overflow:hidden;position:relative;cursor:default}.modal-content img{max-height:90vh;max-width:90vw;width:auto;height:auto;display:block;object-fit:contain;cursor:default}.modal-close-btn{position:absolute;top:10px;right:10px;background:#0009;color:#fff;border:none;border-radius:50%;width:30px;height:30px;font-size:18px;line-height:30px;text-align:center;cursor:pointer;z-index:10}.countdown-item{display:flex;flex-direction:column;align-items:center}.countdown-value{font-size:3.5rem;font-weight:900;font-variant-numeric:tabular-nums;margin-bottom:.3rem}.countdown-label{font-weight:700;text-transform:uppercase;font-size:1.1rem}.event-days-card h4,.countdown-card h2{margin-bottom:.5rem}.days-remaining{font-size:3rem;font-weight:700}.days-label{font-weight:600;font-size:1.2rem;text-transform:uppercase}.next-event-countdown{background:var(--primary);color:var(--text-on-primary);padding:2rem;border-radius:12px;box-shadow:0 12px 28px #0003;margin-bottom:3rem}.next-event-countdown h3,.next-event-countdown p,.next-event-countdown .countdown-label,.next-event-countdown .countdown-value{color:var(--text-on-primary)}.next-event-countdown:hover{transform:translateY(-5px);box-shadow:0 15px 35px #00000040}@keyframes fadeInUp{0%{opacity:0;transform:translateY(15px)}to{opacity:1;transform:translateY(0)}}.animate-fade-in,.next-event-countdown{animation:fadeInUp .8s ease forwards}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}.venue-maps{gap:2rem;display:flex;flex-wrap:wrap;justify-content:center}.venue-map-card{max-width:100%;border-radius:12px;background:var(--bg-light);padding:1rem;box-shadow:0 8px 20px #0000001a}.venue-map-card h5{font-weight:700}.venue-map-card iframe{width:100%;height:300px;border-radius:8px;border:none}.qr-card{background:var(--bg-light);border-left:6px solid var(--primary);border-radius:12px;padding:1rem;transition:transform .3s ease,box-shadow .3s ease}.qr-card:hover{transform:translateY(-5px);box-shadow:0 12px 28px #0003}img{max-width:100%;height:auto;display:block}.event-card img{width:100%;max-width:100%;height:auto}@media(max-width:768px){.venue-map-card iframe{height:250px}.event-card img,.qr-card img{max-width:180px;margin:0 auto}}.navbar-toggler{border-color:var(--text-on-primary)!important}.navbar-toggler .navbar-toggler-icon{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='white' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E")!important}.floating-invite{position:fixed;bottom:20px;left:20px;z-index:1200;width:90px;height:90px;border-radius:50%;background:#fff;padding:5px;box-shadow:0 0 15px #ff007880;cursor:pointer;animation:popIn .6s ease}.floating-invite:hover{transform:scale(1.05)}.floating-image{width:100%;height:100%;border-radius:50%;object-fit:cover}@keyframes popIn{0%{transform:scale(0);opacity:0}to{transform:scale(1);opacity:1}}.fireworks{position:absolute;top:-20px;left:-20px;width:130px;height:130px;pointer-events:none}.fireworks:before,.fireworks:after{content:"";position:absolute;inset:0;border-radius:50%;animation:fireworks 1.4s infinite linear;box-shadow:0 -35px #ff4d6d,25px -25px #ffb703,35px 0 #06d6a0,25px 25px #4cc9f0,0 35px #ff4d6d,-25px 25px #ffb703,-35px 0 #06d6a0,-25px -25px #4cc9f0;opacity:.8}.fireworks:after{animation-delay:.7s}@keyframes fireworks{0%{transform:scale(.4) rotate(0);opacity:1}to{transform:scale(1.4) rotate(180deg);opacity:0}}.themed-table-wrapper{border:2px solid var(--secondary);border-radius:12px;overflow:hidden;background:var(--bg-light);box-shadow:0 8px 20px #00000026}.table-scroll{overflow-x:auto;white-space:nowrap;height:500px;overflow-y:auto}.themed-table{width:100%;background:var(--bg-light)!important}.themed-table td,.themed-table th{white-space:nowrap}.themed-table thead th{position:sticky;top:0;z-index:10;background:var(--primary)!important;color:var(--text-on-primary)!important;border-color:var(--primary)!important}@media(max-width:768px){.themed-table,.themed-table thead,.themed-table tbody,.themed-table th,.themed-table td,.themed-table tr{display:block;width:100%}.themed-table thead{display:none}.themed-table tr{background:#fff;margin-bottom:12px;border:1px solid var(--secondary);border-radius:10px;padding:12px;box-shadow:0 5px 15px #0000001a}.themed-table td{border:none!important;display:flex;justify-content:space-between;padding:8px 5px}.themed-table td:before{content:attr(data-label);font-weight:700;color:var(--primary)}}.theme-modal-backdrop{position:fixed;inset:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:2000}.theme-modal{width:90%;max-width:720px;background:var(--bg-light);border-radius:12px;padding:1.25rem;border:2px solid var(--secondary);box-shadow:0 14px 40px #00000040;color:var(--text-dark)}.theme-modal .modal-header{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:.5rem}.theme-modal .modal-title{color:var(--primary);font-weight:800}.theme-modal .modal-body{max-height:60vh;overflow:auto;padding-right:6px}.row-actions{display:flex;gap:8px;align-items:center}.action-btn{border-radius:8px;padding:6px 8px;font-weight:700;cursor:pointer;border:1px solid rgba(0,0,0,.05);background:transparent}.btn-edit{background:transparent;color:var(--primary);border:1px dashed var(--primary)}.btn-save{background:var(--primary);color:var(--text-on-primary)}.btn-cancel{background:var(--secondary);color:var(--text-on-secondary)}.btn-delete{background:transparent;color:#b30000;border:1px solid rgba(179,0,0,.08)}.btn-whatsapp{background:#25d366;color:#fff}.btn-email{background:#0d6efd;color:#fff}.inline-input{border:1px dashed var(--secondary);padding:6px 8px;border-radius:8px;width:100%;background:#fff9}.themed-table th{cursor:pointer;-webkit-user-select:none;user-select:none}.analytics-wrapper{display:flex;gap:20px;margin-bottom:1.25rem;flex-wrap:wrap;align-items:flex-start}.analytics-card{background:var(--bg-light);border:2px solid var(--secondary);border-radius:12px;padding:12px;min-width:220px;box-shadow:0 8px 18px #00000014;height:320px}.bar-wrap{display:flex;align-items:center;gap:8px;margin:6px 0}.bar-label{min-width:100px;font-weight:700;color:var(--primary)}.bar{flex:1;height:14px;border-radius:12px;background:#0000000f;overflow:hidden}.bar>i{display:block;height:100%;border-radius:12px}.bar-attend{background:linear-gradient(90deg,#6d071af2,#b45c50f2)}.bar-not{background:linear-gradient(90deg,#d4af37f2,#debd63f2)}.bar-role-admin{background:linear-gradient(90deg,#6d071af2,#8c1428f2)}.bar-role-user{background:linear-gradient(90deg,#d4af37f2,#ebc878f2)}.donut{width:140px;height:140px;display:block;margin:0 auto}.small-muted{color:#00000073;font-size:.9rem}.col-md-4 .card.shadow{border:2px solid var(--secondary);background:#fff;transition:.3s ease}.col-md-4 .card.shadow h5{color:var(--primary);font-weight:700}.col-md-4 .card.shadow h2{color:var(--text-dark);font-weight:800}.d-flex input.form-control{border:2px solid var(--secondary);border-radius:8px;transition:.3s ease}.d-flex input.form-control:focus{border-color:var(--primary);box-shadow:0 0 5px #6d071a33}.d-flex .btn-primary{background:var(--primary)!important;border-color:var(--primary)!important;color:var(--text-on-primary)!important;font-weight:600;transition:transform .3s ease,box-shadow .3s ease}.d-flex .btn-primary:hover{transform:translateY(-2px);box-shadow:0 6px 15px #0003}.table-responsive{border:2px solid var(--secondary);border-radius:12px;background:var(--bg-light);box-shadow:0 8px 20px #00000026;margin-bottom:2rem}.table-responsive .table-dark{--bs-table-bg: var(--primary);--bs-table-color: var(--text-on-primary);--bs-table-border-color: var(--primary);background-color:var(--primary)!important;color:var(--text-on-primary)!important;font-weight:700}.table-responsive .table-striped>tbody>tr:nth-of-type(odd){--bs-table-accent-bg: rgba(109, 7, 26, .04);color:var(--text-dark)}.table-responsive .table-striped>tbody>tr:hover{background-color:#6d071a14!important}.table-responsive .btn-sm.btn-info{background:var(--primary)!important;border-color:var(--primary)!important;color:var(--text-on-primary)!important;font-size:.85rem;font-weight:600;padding:4px 10px;transition:.2s ease}.table-responsive .btn-sm.btn-info:hover{opacity:.9;transform:scale(1.05)}.modal.fade.show{background:#0009}.modal-dialog .modal-content{border-radius:12px;border:2px solid var(--secondary);background:var(--bg-light);box-shadow:0 14px 40px #00000040}.modal-header{border-bottom-color:var(--secondary)}.modal-title{color:var(--primary);font-weight:700}.modal-body .form-control{border:2px solid var(--secondary);border-radius:8px;padding:10px;transition:all .3s ease;color:var(--text-dark)}.modal-body .form-control:focus{border-color:var(--primary);box-shadow:0 0 5px #6d071a33;outline:none}.modal-body input[readonly]{background:#f4d9b066;border-color:var(--secondary);cursor:default}.modal-footer .btn-danger{background:#b30000!important;color:#fff!important;font-weight:600}.modal-footer .btn-success{background:#25d366!important;color:#fff!important;font-weight:600}.modal-footer .btn-warning{background:var(--secondary)!important;color:var(--text-on-secondary)!important;font-weight:600}.modal-footer .btn-primary{background:var(--primary)!important;color:var(--text-on-primary)!important;font-weight:600}.modal-footer .btn-secondary{background:#ccc!important;color:#333!important;font-weight:600}.mobile-scroll-table{overflow-x:auto}@media(max-width:767.98px){.mobile-scroll-table{-webkit-overflow-scrolling:touch}}
