.navbar{background:var(--white);box-shadow:var(--shadow);position:sticky;top:0;z-index:100}.navbar-container{max-width:1400px;margin:0 auto;padding:1rem 2rem;display:flex;justify-content:space-between;align-items:center}.navbar-brand{display:flex;align-items:center;gap:.5rem;text-decoration:none;color:var(--gray-900);font-size:1.5rem;font-weight:700}.brand-icon{font-size:2rem}.navbar-menu{display:flex;align-items:center;gap:1rem}.navbar-link{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;text-decoration:none;color:var(--gray-700);border-radius:.5rem;transition:all .2s;font-size:.95rem}.navbar-link:hover{background-color:var(--gray-100);color:var(--primary)}.navbar-user{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;color:var(--gray-700)}@media (max-width: 768px){.navbar-user{display:none!important}}.user-avatar{width:32px;height:32px;border-radius:50%;object-fit:cover}.user-name{font-size:.95rem;font-weight:500}.navbar.christmas-mode{background:var(--christmas-card);box-shadow:0 2px 8px #00000014;border-bottom:2px solid var(--christmas-red)}.navbar.christmas-mode .navbar-brand{color:var(--christmas-text)}.navbar.christmas-mode .brand-icon{animation:christmas-bounce-neutral 3s ease-in-out infinite;filter:drop-shadow(0 0 4px rgba(212,175,55,.3))}.navbar.christmas-mode .navbar-link{color:var(--christmas-text)}.navbar.christmas-mode .navbar-link:hover{background-color:var(--christmas-red-light);color:var(--christmas-red);border-radius:.5rem}.navbar.christmas-mode .navbar-user,.navbar.christmas-mode .user-name{color:var(--christmas-text)}.navbar.christmas-mode .btn-secondary{background:var(--christmas-bg);color:var(--christmas-text);border-color:var(--christmas-border)}.navbar.christmas-mode .btn-secondary:hover{background:var(--christmas-border);border-color:var(--christmas-red)}.navbar.christmas-mode .btn-primary{background:var(--christmas-red);border-color:var(--christmas-red);color:var(--white);font-weight:600}.navbar.christmas-mode .btn-primary:hover{background:#a01d2e;box-shadow:0 0 12px var(--christmas-red-light)}@media (max-width: 768px){.navbar-container{padding:1rem}.navbar-menu{gap:0}.navbar-link span,.user-name,.navbar-menu .btn span{display:none}.navbar-menu .btn{padding:.5rem;min-width:auto;width:40px;height:40px;display:flex;align-items:center;justify-content:center}}.footer{background:var(--gray-900);color:var(--gray-300);margin-top:4rem;padding:2rem 0}.footer-container{max-width:1400px;margin:0 auto;padding:0 2rem}.footer-content{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:2rem;flex-wrap:wrap;gap:2rem}.footer-brand{display:flex;flex-direction:column;gap:.5rem}.footer-brand-icon{font-size:2rem}.footer-brand-text{font-size:1.5rem;font-weight:700;color:var(--white)}.footer-tagline{font-size:.95rem;font-style:italic;color:var(--gray-400)}.footer-links{display:flex;gap:1.5rem;flex-wrap:wrap}.footer-link{color:var(--gray-300);text-decoration:none;transition:color .2s;font-size:.95rem}.footer-link:hover{color:var(--white)}.footer-bottom{padding-top:2rem;border-top:1px solid var(--gray-800);text-align:center}.footer-bottom p{margin-bottom:.5rem;font-size:.875rem}.footer-disclaimer{font-size:.8rem;color:var(--gray-500);max-width:800px;margin:.5rem auto 0}.footer.christmas-mode{background:var(--christmas-bg);position:relative;overflow:hidden;border-top:2px solid var(--christmas-green)}.footer.christmas-mode:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:radial-gradient(circle at 20% 20%,var(--christmas-gold-light) 0%,transparent 50%),radial-gradient(circle at 80% 80%,var(--christmas-green-light) 0%,transparent 50%);pointer-events:none}.footer.christmas-mode .footer-brand-icon{animation:christmas-bounce-neutral 3s ease-in-out infinite;filter:drop-shadow(0 0 4px rgba(212,175,55,.3))}@keyframes christmas-bounce-neutral{0%,to{transform:rotate(0) scale(1)}25%{transform:rotate(-5deg) scale(1.05)}75%{transform:rotate(5deg) scale(1.05)}}.footer.christmas-mode .footer-brand-text{color:var(--christmas-text)}.footer.christmas-mode .footer-tagline,.footer.christmas-mode .footer-link{color:var(--christmas-text-light)}.footer.christmas-mode .footer-link:hover{color:var(--christmas-red)}.footer.christmas-mode .footer-bottom{border-top-color:var(--christmas-border)}.footer.christmas-mode .footer-bottom p,.footer.christmas-mode .footer-disclaimer{color:var(--christmas-text-light)}@media (max-width: 768px){.footer-container{padding:0 1rem}.footer-content{flex-direction:column;gap:1.5rem}.footer-links{flex-direction:column;gap:1rem}}.home{width:100%}.hero{background:var(--bg-primary);color:var(--gray-800);padding:3rem 2rem;border-radius:0;margin-bottom:4rem;text-align:center;border-bottom:2px solid var(--gray-200)}.hero-content{max-width:800px;margin:0 auto}.hero-title{font-size:3.5rem;font-weight:700;margin-bottom:1rem;color:var(--primary);letter-spacing:-.02em}.hero-subtitle{font-size:1.25rem;font-weight:400;margin-bottom:1.5rem;color:var(--christmas-white);font-style:normal}.hero-description{font-size:1.1rem;margin-bottom:2.5rem;color:var(--christmas-white);line-height:1.6;max-width:600px;margin-left:auto;margin-right:auto}.btn-large{padding:1rem 2rem;font-size:1.1rem}.raffles-section{margin-top:3rem}.raffles-section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;flex-wrap:wrap;gap:1rem}.section-title{font-size:2rem;font-weight:600;margin:0;color:var(--gray-900)}.city-filter{display:flex;align-items:center;gap:.5rem;background:var(--white);padding:.5rem 1rem;border-radius:.5rem;box-shadow:var(--shadow)}.city-select{padding:.5rem;border:1px solid var(--gray-300);border-radius:.375rem;font-size:.95rem;color:var(--gray-700);background:var(--white);cursor:pointer;min-width:200px}.city-select:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #3b82f61a}.clear-filter-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;background:var(--gray-200);border-radius:50%;cursor:pointer;color:var(--gray-600);transition:all .2s}.clear-filter-btn:hover{background:var(--gray-300);color:var(--gray-900)}.organizer-link{color:var(--primary);text-decoration:none;transition:color .2s;cursor:pointer;display:inline-block}.organizer-link:hover{color:var(--primary-dark);text-decoration:underline}.organizer-link:focus{outline:2px solid var(--primary);outline-offset:2px;border-radius:2px}.home.christmas-mode .hero{background:linear-gradient(135deg,var(--christmas-bg) 0%,#ae5d5d 50%,var(--christmas-bg) 100%);position:relative;overflow:hidden}.home.christmas-mode .hero:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:radial-gradient(circle at 20% 30%,var(--christmas-gold-light) 0%,transparent 50%),radial-gradient(circle at 80% 70%,var(--christmas-red-light) 0%,transparent 50%);pointer-events:none}.home.christmas-mode .hero-title{text-shadow:0 0 8px rgba(212,175,55,.2),0 2px 4px rgba(0,0,0,.1);animation:christmas-glow-neutral 4s ease-in-out infinite alternate;color:var(--christmas-white)}@keyframes christmas-glow-neutral{0%{text-shadow:0 0 8px rgba(212,175,55,.2),0 2px 4px rgba(0,0,0,.1)}to{text-shadow:0 0 12px rgba(212,175,55,.3),0 0 16px rgba(196,30,58,.15),0 2px 4px rgba(0,0,0,.1)}}.snowflake{position:absolute;color:#d4af3740;font-size:.9rem;animation:snowfall-neutral linear infinite;opacity:.25;pointer-events:none}.snowflake:nth-child(1){left:10%;animation-duration:10s;animation-delay:0s}.snowflake:nth-child(2){left:30%;animation-duration:12s;animation-delay:2s}.snowflake:nth-child(3){left:50%;animation-duration:14s;animation-delay:4s}.snowflake:nth-child(4){left:70%;animation-duration:11s;animation-delay:1s}.snowflake:nth-child(5){left:85%;animation-duration:13s;animation-delay:3s}.snowflake:nth-child(6){left:20%;animation-duration:15s;animation-delay:5s}@keyframes snowfall-neutral{0%{transform:translateY(-100px) rotate(0);opacity:0}10%{opacity:1}90%{opacity:1}to{transform:translateY(600px) rotate(360deg);opacity:1}}.home.christmas-mode .section-title{position:relative;display:inline-block}.home.christmas-mode .raffle-card{position:relative;border:1px solid var(--christmas-border);background:var(--christmas-card);transition:all .3s ease;box-shadow:0 2px 8px #0000000d}.home.christmas-mode .raffle-card:before{content:"";position:absolute;top:-1px;left:-1px;right:-1px;bottom:-1px;background:linear-gradient(135deg,var(--christmas-red-light) 0%,var(--christmas-gold-light) 50%,var(--christmas-green-light) 100%);border-radius:.75rem;z-index:-1;opacity:0;transition:opacity .3s ease}.home.christmas-mode .raffle-card:hover:before{opacity:1}.home.christmas-mode .raffle-card:hover{border-color:var(--christmas-red);box-shadow:var(--shadow-lg),0 0 12px var(--christmas-red-light),0 0 20px var(--christmas-gold-light);transform:translateY(-2px)}.home.christmas-mode .raffle-price{position:relative;color:var(--christmas-red)}.home.christmas-mode .raffle-price:after{content:"🎁";margin-left:.5rem;font-size:.85em;opacity:.5}@media (max-width: 768px){.hero{padding:2rem 1rem}.hero-title{font-size:2rem}.hero-description{font-size:1rem}.raffles-grid{grid-template-columns:1fr}.snowflake{font-size:1rem}}.dashboard{width:100%}.dashboard-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.dashboard-header h1{font-size:2rem;font-weight:600;color:var(--gray-900)}.dashboard-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem;margin-bottom:3rem}.stat-card{background:var(--white);border-radius:.75rem;padding:1.5rem;box-shadow:var(--shadow);display:flex;align-items:center;gap:1rem}.stat-icon{width:48px;height:48px;border-radius:.5rem;background:var(--primary);color:var(--white);display:flex;align-items:center;justify-content:center}.stat-value{font-size:2rem;font-weight:700;color:var(--gray-900)}.stat-label{font-size:.875rem;color:var(--gray-600)}.my-raffles-section{margin-top:2rem}.my-raffles-section h2{font-size:1.5rem;font-weight:600;margin-bottom:1.5rem;color:var(--gray-900)}.status-badge{padding:.25rem .75rem;border-radius:9999px;font-size:.75rem;font-weight:500}.status-active{background-color:#d1fae5;color:#065f46}.status-paused{background-color:#fef3c7;color:#92400e}.status-finished{background-color:var(--gray-200);color:var(--gray-700)}.raffle-header{display:flex;justify-content:space-between;align-items:start;margin-bottom:.5rem}.raffle-meta-info{margin-bottom:.75rem;display:flex;flex-direction:column;gap:.25rem}.raffle-organizer,.raffle-date{font-size:.875rem;color:var(--gray-600)}.raffle-organizer strong,.raffle-date strong{color:var(--gray-700);font-weight:600}.raffle-title{font-size:1.25rem;font-weight:600;margin-bottom:.5rem;color:var(--gray-900)}.raffle-description{color:var(--gray-600);margin-bottom:1rem;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.raffle-price{font-size:1.1rem;font-weight:600;color:var(--primary)}.empty-state{text-align:center;padding:3rem;color:var(--gray-500)}.dashboard.christmas-mode .raffle-card{position:relative;border:1px solid var(--christmas-border);background:var(--christmas-card);transition:all .3s ease;box-shadow:0 2px 8px #0000000d}.dashboard.christmas-mode .raffle-card:before{content:"";position:absolute;top:-1px;left:-1px;right:-1px;bottom:-1px;background:linear-gradient(135deg,var(--christmas-red-light) 0%,var(--christmas-gold-light) 50%,var(--christmas-green-light) 100%);border-radius:.75rem;z-index:-1;opacity:0;transition:opacity .3s ease}.dashboard.christmas-mode .raffle-card:hover:before{opacity:1}.dashboard.christmas-mode .raffle-card:hover{border-color:var(--christmas-red);box-shadow:var(--shadow-lg),0 0 12px var(--christmas-red-light),0 0 20px var(--christmas-gold-light);transform:translateY(-2px)}.dashboard.christmas-mode .raffle-price{position:relative;color:var(--christmas-red)}.dashboard.christmas-mode .raffle-price:after{content:"🎁";margin-left:.5rem;font-size:.85em;opacity:.5}@media (max-width: 768px){.dashboard-header{flex-direction:column;align-items:flex-start;gap:1rem}.dashboard-stats{grid-template-columns:1fr}}.create-raffle{max-width:800px;margin:0 auto}.create-raffle-header{margin-bottom:2rem}.create-raffle-header h1{font-size:2rem;font-weight:600;color:var(--gray-900)}.mp-warning-banner{background:linear-gradient(135deg,#fff3cd,#ffe69c);border:2px solid #ffc107;border-radius:.75rem;padding:1.5rem;margin-bottom:2rem;display:flex;align-items:flex-start;gap:1rem;box-shadow:var(--shadow)}.mp-warning-banner svg{color:#856404;flex-shrink:0;margin-top:.25rem}.mp-warning-content{flex:1}.mp-warning-content h3{font-size:1.25rem;font-weight:600;color:#856404;margin:0 0 .5rem}.mp-warning-content p{color:#856404;margin:0 0 1rem;line-height:1.5}.mp-warning-content .btn{display:inline-flex;align-items:center;gap:.5rem;background:#ffc107;color:#856404;border:none;font-weight:600}.mp-warning-content .btn:hover{background:#ffb300;color:#856404}.create-raffle-form{background:var(--white);border-radius:.75rem;padding:2rem;box-shadow:var(--shadow)}.form-group{margin-bottom:1.5rem}.form-group label{display:block;margin-bottom:.5rem;font-weight:500;color:var(--gray-700)}.checkbox-label input[type=checkbox]{width:18px;height:18px;cursor:pointer}.checkbox-label span{font-weight:500;color:var(--gray-700)}.form-help{display:block;margin-top:.5rem;font-size:.875rem;color:var(--gray-500)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.input-file{padding:.5rem;border:2px dashed var(--gray-300);border-radius:.5rem;width:100%;cursor:pointer;transition:border-color .2s}.input-file:hover{border-color:var(--primary)}.image-preview{margin-top:1rem}.image-preview img{width:100%;max-width:400px;height:auto;border-radius:.5rem;box-shadow:var(--shadow)}.images-preview-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:1rem;margin-top:1rem}.image-preview-item{position:relative;border-radius:.5rem;overflow:hidden;box-shadow:var(--shadow)}.image-preview-item img{width:100%;height:150px;object-fit:cover;display:block}.remove-image-btn{position:absolute;top:.5rem;right:.5rem;width:28px;height:28px;border-radius:50%;background:#ef4444e6;color:var(--white);border:none;cursor:pointer;font-size:1.25rem;line-height:1;display:flex;align-items:center;justify-content:center;transition:background .2s;box-shadow:0 2px 4px #0003}.remove-image-btn:hover{background:#dc2626}.form-actions{display:flex;justify-content:flex-end;gap:1rem;margin-top:2rem;padding-top:2rem;border-top:1px solid var(--gray-200)}.safety-notice{margin-top:.75rem;padding:.75rem 1rem;background:#fff3cd;border:1px solid #ffc107;border-radius:.5rem;color:#856404;font-size:.875rem;line-height:1.5}.safety-notice strong{display:block;margin-bottom:.25rem}@media (max-width: 768px){.form-row{grid-template-columns:1fr}.form-actions{flex-direction:column-reverse}.form-actions .btn{width:100%}}.ticket-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(60px,1fr));gap:.5rem;padding:1rem;background:var(--gray-50);border-radius:.5rem}.ticket-cell{aspect-ratio:2 / 1;display:flex;flex-direction:column;align-items:center;justify-content:center;border:2px solid var(--gray-300);border-radius:.375rem;cursor:pointer;transition:all .2s;position:relative;background:var(--white);font-size:.75rem;font-weight:600}.ticket-available{border-color:var(--gray-300);color:var(--gray-700)}.ticket-available:hover{border-color:var(--primary);background:var(--primary);color:var(--white);transform:scale(1.05);box-shadow:var(--shadow-md)}.ticket-paid,.ticket-cash{border-color:var(--success);background:var(--success);color:var(--white);cursor:not-allowed}.ticket-reserved{border-color:#f59e0b;background:#fef3c7;color:#92400e;cursor:not-allowed;animation:pulse 2s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}.ticket-number{font-size:.875rem;font-weight:700}.ticket-status-icon{position:absolute;top:2px;right:2px;font-size:.625rem;opacity:.8}.ticket-mine{border-color:#3b82f6;background:linear-gradient(135deg,#dbeafe,#bfdbfe);box-shadow:0 0 0 2px #3b82f64d}.ticket-mine-indicator{position:absolute;top:2px;left:2px;font-size:.75rem;color:#3b82f6;font-weight:700;line-height:1}.ticket-third-party{border-color:#8b5cf6;background:linear-gradient(135deg,#ede9fe,#ddd6fe);box-shadow:0 0 0 2px #8b5cf64d}.ticket-third-party-indicator{position:absolute;top:2px;left:2px;font-size:.75rem;color:#8b5cf6;font-weight:700;line-height:1}.ticket-tooltip{position:fixed;background:var(--white);border:2px solid var(--primary);border-radius:.5rem;padding:0;box-shadow:var(--shadow-lg);z-index:1000;min-width:250px;max-width:300px;transform:translate(-50%,-100%);pointer-events:auto}.ticket-tooltip-header{display:flex;justify-content:space-between;align-items:center;padding:.75rem;background:var(--primary);color:var(--white);border-radius:.375rem .375rem 0 0}.ticket-tooltip-header strong{font-size:.95rem}.ticket-tooltip-close{background:none;border:none;color:var(--white);font-size:1.25rem;cursor:pointer;padding:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center;border-radius:.25rem;transition:background .2s}.ticket-tooltip-close:hover{background:#fff3}.ticket-tooltip-content{padding:.75rem}.ticket-tooltip-content p{margin:.5rem 0;font-size:.875rem;color:var(--gray-700);line-height:1.5}.ticket-tooltip-content strong{color:var(--gray-900);font-weight:600}@media (max-width: 768px){.ticket-grid{grid-template-columns:repeat(auto-fill,minmax(80px,1fr));gap:.25rem;padding:.5rem}.ticket-cell{font-size:.625rem;min-height:40px;padding:.25rem}.ticket-number{font-size:.7rem;font-weight:700}.ticket-status-icon{font-size:.5rem;top:1px;right:1px}}.ticket-christmas{border-radius:50%!important;aspect-ratio:1 / 1!important;position:relative;background:linear-gradient(135deg,var(--christmas-red) 0%,#A01D2E 100%)!important;border:2px solid var(--christmas-gold)!important;box-shadow:0 3px 6px #00000026,inset 0 -8px 16px #00000026,inset 0 8px 16px #ffffff26,0 0 8px var(--christmas-red-light)!important;overflow:visible}.ticket-christmas.ticket-available{background:linear-gradient(135deg,var(--christmas-red) 0%,#A01D2E 100%)!important;border-color:var(--christmas-gold)!important}.ticket-christmas.ticket-available:hover{background:linear-gradient(135deg,#D42E4A 0%,var(--christmas-red) 100%)!important;border-color:var(--christmas-gold)!important;transform:scale(1.08)!important;box-shadow:0 4px 10px #0003,inset 0 -8px 16px #00000026,inset 0 8px 16px #fff3,0 0 15px var(--christmas-red-light),0 0 20px var(--christmas-gold-light)!important}.ticket-christmas.ticket-paid,.ticket-christmas.ticket-cash{background:linear-gradient(135deg,var(--christmas-green) 0%,#1B3D0A 100%)!important;border-color:var(--christmas-gold)!important}.ticket-christmas.ticket-reserved{background:linear-gradient(135deg,var(--christmas-gold) 0%,#C9A961 100%)!important;border-color:var(--christmas-red)!important}.ticket-christmas.ticket-mine{background:linear-gradient(135deg,var(--christmas-gold) 0%,#C9A961 100%)!important;border-color:var(--christmas-red)!important;box-shadow:0 3px 6px #00000026,inset 0 -8px 16px #00000026,inset 0 8px 16px #ffffff26,0 0 12px var(--christmas-gold-light)!important}.ticket-christmas.ticket-third-party{background:linear-gradient(135deg,var(--christmas-green) 0%,#2D5016 100%)!important;border-color:var(--christmas-gold)!important}.christmas-ornament-hook{position:absolute;top:-6px;left:50%;transform:translate(-50%);width:10px;height:10px;background:linear-gradient(135deg,var(--christmas-gold) 0%,#C9A961 100%);border-radius:50%/60% 60% 40% 40%;box-shadow:0 2px 4px #0003,0 0 6px var(--christmas-gold-light);z-index:1}.christmas-ornament-hook:before{content:"";position:absolute;top:-3px;left:50%;transform:translate(-50%);width:2px;height:5px;background:var(--christmas-gold);border-radius:1px;opacity:.8}.ticket-christmas .ticket-number{position:relative;z-index:2;color:var(--white)!important;text-shadow:0 1px 3px rgba(0,0,0,.5);font-weight:700}.ticket-christmas .ticket-status-icon,.ticket-christmas .ticket-mine-indicator,.ticket-christmas .ticket-third-party-indicator{color:var(--white)!important;text-shadow:0 1px 2px rgba(0,0,0,.5);z-index:2}@keyframes christmas-shine-neutral{0%,to{box-shadow:0 3px 6px #00000026,inset 0 -8px 16px #00000026,inset 0 8px 16px #ffffff26,0 0 8px var(--christmas-red-light)}50%{box-shadow:0 3px 6px #00000026,inset 0 -8px 16px #00000026,inset 0 8px 16px #fff3,0 0 12px var(--christmas-red-light),0 0 16px var(--christmas-gold-light)}}.ticket-christmas.ticket-available{animation:christmas-shine-neutral 4s ease-in-out infinite}@media (max-width: 480px){.ticket-grid{grid-template-columns:1fr 1fr 1fr 1fr}.ticket-cell{min-height:35px;font-size:.6rem}.ticket-number{font-size:.65rem}.christmas-ornament-hook{top:-6px;width:10px;height:10px}}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.modal-content{background:var(--white);border-radius:1rem;padding:2rem;max-width:500px;width:100%;max-height:90vh;overflow-y:auto;position:relative;box-shadow:var(--shadow-lg)}.modal-close{position:absolute;top:1rem;right:1rem;background:none;border:none;cursor:pointer;color:var(--gray-500);padding:.5rem;display:flex;align-items:center;justify-content:center;border-radius:.5rem;transition:all .2s}.modal-close:hover{background:var(--gray-100);color:var(--gray-900)}.ticket-modal-header{text-align:center;margin-bottom:2r0em;padding-bottom:1.5rem}.ticket-number-display{font-size:2rem;font-weight:700;color:var(--primary);margin-bottom:1rem}.ticket-image{width:100%;max-width:200px;height:150px;object-fit:cover;border-radius:.5rem;margin:0 auto 1rem;display:block}.ticket-info{margin-top:1rem}.ticket-title{font-size:1.25rem;font-weight:600;color:var(--gray-900);margin-bottom:.5rem}.ticket-price{font-size:1.5rem;font-weight:700;color:var(--primary)}.profile-warning{background:#fff3cd;border:1px solid #ffc107;border-radius:.5rem;padding:1rem;margin-bottom:1rem;color:#856404;font-size:.9rem}.profile-warning a{color:var(--primary);text-decoration:underline;font-weight:600}.profile-warning a:hover{color:var(--primary-dark)}.reservation-timer{display:flex;align-items:center;gap:.5rem;background:#dbeafe;border:1px solid #3b82f6;border-radius:.5rem;padding:1rem;margin-bottom:1rem;color:#1e40af;font-size:.95rem;font-weight:500}.reservation-timer strong{font-size:1.1rem;color:#1e3a8a}.timer-warning{margin-left:auto;color:#dc2626;font-weight:600;font-size:.85rem}.reservation-expired{text-align:center;padding:2rem;background:#fee2e2;border:1px solid #ef4444;border-radius:.5rem;color:#991b1b;margin-bottom:1rem}.reservation-expired p{margin-bottom:1rem;font-size:1rem;font-weight:500}.ticket-form{display:flex;flex-direction:column}.ticket-sold{text-align:center;padding:2rem;color:var(--gray-600)}.buyer-info{margin-top:1.5rem;padding:1rem;background:var(--gray-50);border-radius:.5rem;text-align:left}.buyer-info p{margin-bottom:.5rem}.cash-form-header{margin-bottom:1.5rem;text-align:center}.cash-form-header h4{font-size:1.25rem;font-weight:600;color:var(--gray-900);margin-bottom:.5rem}.cash-form-note{font-size:.875rem;color:var(--gray-600)}.form-actions{display:flex;gap:1rem;margin-top:1rem;flex-wrap:wrap}.ticket-form .form-actions{margin-top:0;padding-top:0;border:0}.form-group{margin-bottom:1rem}.form-actions .btn{flex:1;min-width:150px}.login-message{text-align:center;color:var(--gray-600);padding:1rem;background:var(--gray-50);border-radius:.5rem}.checkbox-label{display:flex;align-items:center;gap:.5rem;cursor:pointer}.checkbox-label input[type=checkbox]{width:18px;height:18px;cursor:pointer;flex-shrink:0}.checkbox-label span{font-size:.9rem;color:var(--gray-700);line-height:1.5}.terms-link{color:var(--primary);text-decoration:underline;transition:color .2s}.terms-link:hover{color:var(--primary-dark)}.zortealove-disclaimer{margin:1rem 0;padding:1rem;background:#e0f2fe;border:1px solid #0ea5e9;border-radius:.5rem;font-size:.875rem;line-height:1.5;color:#0c4a6e}.zortealove-disclaimer p{margin:0}.zortealove-disclaimer strong{display:block;margin-bottom:.5rem;color:#075985}@media (max-width: 768px){.modal-content{padding:1.5rem}.form-actions{flex-direction:column}.form-actions .btn{width:100%}}.lottery-winner-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.lottery-winner-modal{background:var(--white);border-radius:.75rem;width:100%;max-width:500px;max-height:90vh;overflow-y:auto;box-shadow:var(--shadow-lg)}.lottery-winner-modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:1px solid var(--gray-200)}.lottery-winner-modal-header h2{font-size:1.5rem;font-weight:600;color:var(--gray-900);margin:0}.close-button{background:none;border:none;cursor:pointer;color:var(--gray-500);padding:.25rem;display:flex;align-items:center;justify-content:center;border-radius:.25rem;transition:all .2s}.close-button:hover{background:var(--gray-100);color:var(--gray-900)}.lottery-winner-modal-form{padding:1.5rem}.lottery-winner-modal-form .form-group{margin-bottom:1.5rem}.lottery-winner-modal-form label{display:block;margin-bottom:.5rem;font-weight:500;color:var(--gray-700)}.lottery-winner-modal-form .input{width:100%;padding:.75rem;border:1px solid var(--gray-300);border-radius:.5rem;font-size:1rem;transition:border-color .2s}.lottery-winner-modal-form .input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #2563eb1a}.lottery-winner-modal-form .form-help{display:block;margin-top:.5rem;font-size:.875rem;color:var(--gray-500)}.lottery-conditions-reminder{background:var(--gray-50);border-left:4px solid var(--primary);padding:1rem;border-radius:.5rem;margin-bottom:1.5rem}.lottery-conditions-reminder strong{display:block;margin-bottom:.5rem;color:var(--gray-900)}.lottery-conditions-reminder p{margin:0;color:var(--gray-700);line-height:1.6}.lottery-winner-modal-form .form-actions{display:flex;justify-content:flex-end;gap:1rem;margin-top:2rem;padding-top:1.5rem;border-top:1px solid var(--gray-200)}@media (max-width: 768px){.lottery-winner-modal{max-width:100%}.lottery-winner-modal-form .form-actions{flex-direction:column-reverse}.lottery-winner-modal-form .form-actions .btn{width:100%}}.review-modal{max-width:600px;width:100%}.review-modal-header{text-align:center;margin-bottom:2rem}.review-modal-header h2{font-size:1.75rem;font-weight:600;color:var(--gray-900);margin-bottom:.5rem}.review-modal-header p{color:var(--gray-600);font-size:1rem}.existing-review-notice{background:#dbeafe;border:1px solid #3b82f6;border-radius:.5rem;padding:1rem;margin-bottom:1.5rem;color:#1e40af;font-size:.875rem;text-align:center}.review-form{display:flex;flex-direction:column;gap:1.5rem}.stars-container{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.star-button{background:none;border:none;cursor:pointer;padding:.25rem;transition:transform .2s}.star-button:hover:not(:disabled){transform:scale(1.1)}.star-button:disabled{cursor:not-allowed}.star-filled{fill:#fbbf24;color:#fbbf24}.star-empty{fill:#e5e7eb;color:#e5e7eb}.rating-text{margin-left:.5rem;font-size:1rem;font-weight:600;color:var(--gray-700)}.review-form .form-group{display:flex;flex-direction:column;gap:.5rem}.review-form label{font-weight:500;color:var(--gray-700)}.review-form .textarea{resize:vertical;min-height:120px}.review-form .form-actions{display:flex;gap:1rem;justify-content:flex-end;margin-top:1rem}@media (max-width: 768px){.review-modal{padding:1.5rem}.stars-container{justify-content:center}.review-form .form-actions{flex-direction:column-reverse}.review-form .form-actions .btn{width:100%}}.raffle-view{width:100%}.back-button{display:flex;align-items:center;gap:.5rem;margin-bottom:1rem;padding:.5rem 1rem;background:none;border:none;color:var(--gray-600);cursor:pointer;font-size:.95rem;transition:color .2s}.back-button:hover{color:var(--primary)}.raffle-header{background:var(--white);border-radius:1rem;padding:0;box-shadow:var(--shadow-lg);margin-bottom:2rem;position:relative;overflow:hidden;display:grid;grid-template-columns:1fr 1fr;gap:0}@media (max-width: 968px){.raffle-header{grid-template-columns:1fr}}.raffle-view.christmas-mode .raffle-header{border:2px solid transparent;background:linear-gradient(var(--white),var(--white)) padding-box,linear-gradient(135deg,#dc262626,#14532d26) border-box}.raffle-view.christmas-mode .raffle-header:before{content:"";position:absolute;top:1rem;right:1rem;width:24px;height:24px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23dc2626' d='M12 2L13.5 8.5L20 10L13.5 11.5L12 18L10.5 11.5L4 10L10.5 8.5L12 2Z'/%3E%3C/svg%3E") no-repeat center;background-size:contain;opacity:.3;pointer-events:none}.raffle-view.christmas-mode .raffle-title{position:relative}.raffle-view.christmas-mode .raffle-title:before{content:"✨";margin-right:.5rem;opacity:.6;font-size:.8em}.raffle-view.christmas-mode .raffle-price{color:#dc2626;position:relative}.raffle-view.christmas-mode .raffle-price:after{content:"🎁";margin-left:.5rem;font-size:.8em;opacity:.7}.raffle-header-content{display:contents}.raffle-images-container{position:relative;min-height:400px;background:var(--gray-50);display:flex;align-items:center;justify-content:center}.raffle-header-info{padding:2rem;display:flex;flex-direction:column;gap:1.5rem;justify-content:center;background:var(--white)}.raffle-images-container{position:relative}.raffle-image-carousel{position:relative;width:100%;height:100%;min-height:400px;border-radius:0;overflow:hidden;background:var(--gray-100);cursor:pointer}.raffle-image-wrapper{position:relative;width:100%;height:100%;cursor:pointer}.raffle-header-image{width:100%;height:100%;object-fit:cover;display:block;transition:transform .2s}.raffle-image-wrapper:hover .raffle-header-image{transform:scale(1.05)}.image-gallery-trigger{position:absolute;top:.75rem;right:.75rem;background:#0009;color:var(--white);border:none;width:36px;height:36px;border-radius:.375rem;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .2s;z-index:15;opacity:0;transition:opacity .2s}.raffle-image-wrapper:hover .image-gallery-trigger{opacity:1}.image-gallery-trigger:hover{background:#000c}.carousel-btn{position:absolute;top:50%;transform:translateY(-50%);background:#00000080;color:var(--white);border:none;width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .2s;z-index:10}.carousel-btn:hover{background:#000000b3}.carousel-btn-prev{left:1rem}.carousel-btn-next{right:1rem}.carousel-indicators{position:absolute;bottom:1rem;left:50%;transform:translate(-50%);display:flex;gap:.5rem;z-index:10}.carousel-indicator{width:10px;height:10px;border-radius:50%;border:2px solid var(--white);background:transparent;cursor:pointer;transition:all .2s;padding:0}.carousel-indicator.active{background:var(--white)}.carousel-indicator:hover{background:#ffffffb3}.raffle-header-info{display:flex;flex-direction:column;gap:1.5rem}.raffle-title{font-size:2.5rem;font-weight:700;color:var(--gray-900);line-height:1.2;margin-bottom:.5rem}.raffle-organizer-section{padding:1.5rem;background:linear-gradient(135deg,#f8fafc,#f1f5f9);border-radius:.75rem;border:1px solid var(--gray-200)}.raffle-creator{font-size:1rem;color:var(--gray-600);margin-bottom:1rem}.raffle-creator strong{color:var(--gray-900);font-weight:600}.creator-link{color:var(--primary);text-decoration:none;transition:color .2s;font-weight:600}.creator-link:hover{color:var(--primary-dark);text-decoration:underline}.organizer-profile-preview{margin-top:1rem}.organizer-bio{color:var(--gray-700);line-height:1.6;margin-bottom:1rem;font-size:.95rem}.organizer-details{display:flex;flex-wrap:wrap;gap:1rem;margin-bottom:1rem}.organizer-detail-item{display:flex;align-items:center;gap:.5rem;color:var(--gray-700);font-size:.9rem;padding:.5rem .75rem;background:var(--white);border-radius:.5rem;border:1px solid var(--gray-200)}.organizer-detail-item svg{color:var(--primary);flex-shrink:0}.organizer-social-links{display:flex;gap:.75rem;margin-top:1rem;padding-top:1rem;border-top:1px solid var(--gray-200)}.organizer-social-links .social-link{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;background:var(--white);color:var(--gray-700);border:1px solid var(--gray-300);transition:all .2s;text-decoration:none}.organizer-social-links .social-link:hover{background:var(--primary);color:var(--white);border-color:var(--primary);transform:translateY(-2px);box-shadow:0 4px 6px #0000001a}.organizer-video-section{display:flex;align-items:center;gap:.5rem;margin-top:1rem;padding-top:1rem;border-top:1px solid var(--gray-200)}.organizer-video-section svg{color:var(--primary);flex-shrink:0}.organizer-video-link{color:var(--primary);text-decoration:none;font-weight:500;transition:color .2s}.organizer-video-link:hover{color:var(--primary-dark);text-decoration:underline}.raffle-date{font-size:.95rem;color:var(--gray-500);margin-top:-.5rem;margin-bottom:.5rem}.raffle-date strong{color:var(--gray-700);font-weight:600}.raffle-description{font-size:1.1rem;color:var(--gray-700);line-height:1.8;margin:1rem 0;padding:1.5rem;background:var(--white);border-radius:.75rem;border-left:4px solid var(--primary);box-shadow:var(--shadow)}.raffle-lottery-conditions{background:var(--gray-50);border-left:4px solid var(--primary);padding:1rem;border-radius:.5rem;margin:1rem 0}.raffle-lottery-conditions strong{display:block;margin-bottom:.5rem;color:var(--gray-900);font-size:.95rem}.raffle-lottery-conditions p{margin:0;color:var(--gray-700);font-size:.95rem;line-height:1.6}.raffle-lottery-result{background:linear-gradient(135deg,var(--success) 0%,#059669 100%);color:var(--white);padding:1rem;border-radius:.5rem;margin:1rem 0;display:flex;flex-direction:column;gap:.5rem}.raffle-lottery-result strong{font-size:.95rem;opacity:.9}.winning-number{font-size:1.5rem;font-weight:700;background:#fff3;padding:.5rem 1rem;border-radius:.5rem;display:inline-block;margin-top:.25rem}.verification-link{color:var(--white);text-decoration:underline;font-size:.9rem;margin-top:.5rem;display:inline-block;transition:opacity .2s}.verification-link:hover{opacity:.8}.raffle-meta{display:flex;gap:2rem;margin-top:1rem}.raffle-price{font-size:1.5rem;font-weight:700;color:var(--primary)}.raffle-total{font-size:1.1rem;color:var(--gray-600);display:flex;align-items:center}.raffle-actions{display:flex;gap:1rem;margin-top:1rem;flex-wrap:wrap}.share-buttons{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap}.btn-social{padding:.5rem;min-width:auto;width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:.5rem;border:none;cursor:pointer;transition:all .2s;color:var(--white);flex-shrink:0}.btn-social svg{width:18px;height:18px;display:block;flex-shrink:0;stroke-width:2}.btn-social:focus{outline:2px solid var(--white);outline-offset:2px}.btn-facebook{background-color:#1877f2}.btn-facebook:hover{background-color:#166fe5}.btn-twitter{background-color:#1da1f2}.btn-twitter:hover{background-color:#1a91da}.btn-whatsapp{background-color:#25d366}.btn-whatsapp:hover{background-color:#20ba5a}.btn-telegram{background-color:#08c}.btn-telegram:hover{background-color:#0077b5}.raffle-result{background:linear-gradient(135deg,var(--success) 0%,#059669 100%);color:var(--white);border-radius:.75rem;padding:2rem;margin-bottom:2rem;box-shadow:var(--shadow-lg)}.raffle-result h2{font-size:1.75rem;margin-bottom:1.5rem}.winners-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:1rem}.winner-card{background:#fff3;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:.5rem;padding:1.5rem;border:1px solid rgba(255,255,255,.3)}.winner-number{font-size:1.25rem;font-weight:700;margin-bottom:.5rem}.winner-name{font-size:1.1rem;font-weight:500;margin-bottom:.25rem}.winner-phone{font-size:.9rem;opacity:.9}.tickets-section{background:var(--white);border-radius:.75rem;padding:2rem;box-shadow:var(--shadow)}.tickets-section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;flex-wrap:wrap;gap:1rem}.tickets-section h2{font-size:1.5rem;font-weight:600;color:var(--gray-900);margin:0}.available-count{font-size:1rem;color:var(--christmas-white);font-weight:600;padding:.5rem 1rem;background:var(--christmas-red);border-radius:.5rem}.raffle-view.christmas-mode .raffle-header{box-shadow:0 4px 16px #00000014,0 0 0 1px var(--christmas-border);position:relative;overflow:hidden;border:1px solid var(--christmas-border);background:var(--christmas-card)}.raffle-view.christmas-mode .raffle-header:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--christmas-red) 0%,var(--christmas-gold) 25%,var(--christmas-green) 50%,var(--christmas-gold) 75%,var(--christmas-red) 100%);background-size:200% 100%;animation:christmas-stripe-neutral 5s linear infinite;z-index:1;opacity:.6}.raffle-view.christmas-mode .raffle-header:after{content:"⚪";position:absolute;top:1rem;right:1rem;font-size:1.5rem;opacity:.15;z-index:0;animation:sparkle-neutral 3s ease-in-out infinite}.raffle-view.christmas-mode .raffle-header-content{position:relative;z-index:2}.raffle-view.christmas-mode .raffle-title{color:var(--christmas-red);position:relative;text-shadow:0 2px 4px rgba(0,0,0,.05)}.raffle-view.christmas-mode .raffle-title:before{content:"🎁";margin-right:.5rem;font-size:1.2rem;opacity:.5;animation:sparkle-neutral 2s ease-in-out infinite}.raffle-view.christmas-mode .raffle-image-carousel{box-shadow:0 4px 12px #00000014,inset 0 2px 4px #00000008;position:relative;border:1px solid var(--christmas-border)}.raffle-view.christmas-mode .raffle-image-carousel:before{content:"✨";position:absolute;top:.5rem;left:.5rem;font-size:1.2rem;z-index:5;opacity:.3;animation:sparkle-neutral 3s ease-in-out infinite;pointer-events:none}.raffle-view.christmas-mode .raffle-image-carousel:after{content:"✨";position:absolute;bottom:.5rem;right:.5rem;font-size:1.2rem;z-index:5;opacity:.3;animation:sparkle-neutral 3s ease-in-out infinite 1.5s;pointer-events:none}.raffle-view.christmas-mode .carousel-btn{background:var(--christmas-red);border:1px solid var(--christmas-red);opacity:.8}.raffle-view.christmas-mode .carousel-btn:hover{background:#a01d2e;box-shadow:0 0 12px var(--christmas-red-light);opacity:1}.raffle-view.christmas-mode .carousel-indicator{border-color:var(--christmas-gold);background:var(--christmas-bg)}.raffle-view.christmas-mode .carousel-indicator.active{background:var(--christmas-gold);box-shadow:0 0 8px var(--christmas-gold-light)}.raffle-view.christmas-mode .organizer-info{border-radius:.75rem;box-shadow:inset 0 2px 4px #00000008;border:1px solid var(--christmas-border);background:var(--christmas-bg)}.raffle-view.christmas-mode .organizer-contact-item svg{color:var(--christmas-red)}.raffle-view.christmas-mode .raffle-creator strong{color:var(--christmas-red)}.raffle-view.christmas-mode .raffle-date strong{color:var(--christmas-green)}.raffle-view.christmas-mode .raffle-price-display{background:linear-gradient(135deg,var(--christmas-gold) 0%,#C9A961 100%);color:var(--white);border:2px solid var(--christmas-gold);box-shadow:0 4px 12px var(--christmas-gold-light),inset 0 2px 4px #ffffff4d;text-shadow:0 1px 2px rgba(0,0,0,.2);font-weight:600}.raffle-view.christmas-mode .back-button{color:var(--christmas-red);border:1px solid var(--christmas-red);border-radius:.5rem;padding:.5rem 1rem;background:var(--christmas-red-light);transition:all .2s}.raffle-view.christmas-mode .back-button:hover{background:var(--christmas-red);color:var(--white);box-shadow:0 4px 12px var(--christmas-red-light)}@keyframes christmas-stripe-neutral{0%{background-position:0% 0%}to{background-position:200% 0%}}@keyframes sparkle-neutral{0%,to{opacity:.3;transform:scale(1) rotate(0)}50%{opacity:.5;transform:scale(1.15) rotate(180deg)}}@media (max-width: 768px){.raffle-header-content{display:block}.raffle-header{grid-template-columns:1fr}.raffle-images-container{min-height:300px}.raffle-image-carousel{min-height:300px;height:300px}.raffle-header-image{height:100%;width:100%}.raffle-header-info{padding:1.5rem}.raffle-title{font-size:1.75rem}.raffle-organizer-section{padding:1rem}.organizer-details{flex-direction:column;gap:.75rem}.carousel-btn{width:32px;height:32px}.carousel-btn svg{width:18px;height:18px}.raffle-meta{flex-direction:column;gap:.5rem}.raffle-actions{flex-direction:row;flex-wrap:wrap;justify-content:center}.share-buttons{flex-wrap:nowrap;gap:.5rem}.btn-social{width:40px;height:40px;flex-shrink:0}.tickets-section{padding:1rem}.hidden-text-on-mobile{width:40px;height:40px;flex-shrink:0;justify-content:center}.hidden-text-on-mobile svg{width:18px;height:18px;display:block;flex-shrink:0;stroke-width:2}.raffle-actions .hidden-text-on-mobile span{display:none}.raffle-view.christmas-mode .raffle-header:after{font-size:1.5rem;top:.5rem;right:.5rem}}.tooltip-wrapper{position:relative;display:inline-block}.tooltip{position:absolute;bottom:100%;left:50%;transform:translate(-50%);margin-bottom:.5rem;padding:.5rem .75rem;background:var(--gray-900);color:var(--white);font-size:.875rem;border-radius:.375rem;white-space:nowrap;pointer-events:none;opacity:0;transition:opacity .2s;z-index:1000}.tooltip-wrapper:hover .tooltip{opacity:1}.tooltip:after{content:"";position:absolute;top:100%;left:50%;transform:translate(-50%);border:5px solid transparent;border-top-color:var(--gray-900)}.image-gallery-modal{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000f2;z-index:2000;display:flex;align-items:center;justify-content:center;padding:2rem}.image-gallery-content{position:relative;max-width:90vw;max-height:90vh;display:flex;flex-direction:column;gap:1rem}.image-gallery-close{position:absolute;top:-3rem;right:0;background:#ffffff1a;color:var(--white);border:none;width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .2s;z-index:10}.image-gallery-close:hover{background:#fff3}.image-gallery-main{position:relative;display:flex;align-items:center;justify-content:center;max-width:1200px;max-height:80vh}.image-gallery-image{max-width:100%;max-height:80vh;object-fit:contain;border-radius:.5rem;box-shadow:0 20px 60px #00000080}.image-gallery-nav{position:absolute;top:50%;transform:translateY(-50%);background:#fff3;color:var(--white);border:none;width:50px;height:50px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .2s;z-index:10;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.image-gallery-nav:hover{background:#ffffff4d}.image-gallery-prev{left:-2rem}.image-gallery-next{right:-2rem}.image-gallery-thumbnails{display:flex;gap:.5rem;justify-content:center;flex-wrap:wrap;max-width:1200px;padding:0 2rem}.image-gallery-thumbnail{width:80px;height:80px;border-radius:.375rem;overflow:hidden;border:3px solid transparent;cursor:pointer;transition:border-color .2s,transform .2s;background:var(--gray-800);padding:0}.image-gallery-thumbnail:hover{transform:scale(1.1)}.image-gallery-thumbnail.active{border-color:var(--primary)}.image-gallery-thumbnail img{width:100%;height:100%;object-fit:cover}.image-gallery-counter{text-align:center;color:var(--white);font-size:.9rem;opacity:.8}@media (max-width: 768px){.image-gallery-modal{padding:1rem}.image-gallery-content{max-width:100vw;max-height:100vh}.image-gallery-main,.image-gallery-image{max-height:70vh}.image-gallery-nav{width:40px;height:40px}.image-gallery-prev{left:.5rem}.image-gallery-next{right:.5rem}.image-gallery-close{top:.5rem;right:.5rem}.image-gallery-thumbnails{padding:0;gap:.25rem}.image-gallery-thumbnail{width:60px;height:60px}}.raffle-execute-info{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;background:var(--gray-50);border:2px dashed var(--gray-300);border-radius:.5rem;color:var(--gray-600);font-size:.9rem;font-weight:500}.raffle-execute-info svg{color:var(--primary);flex-shrink:0}.my-raffles{width:100%}.raffles-tabs{display:flex;gap:1rem;margin-bottom:2rem;border-bottom:2px solid var(--gray-200)}.raffle-tab{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;background:none;border:none;border-bottom:3px solid transparent;cursor:pointer;font-size:1rem;font-weight:500;color:var(--gray-600);transition:all .2s;margin-bottom:-2px}.raffle-tab:hover{color:var(--gray-900);background:var(--gray-50)}.raffle-tab.active{color:var(--primary);border-bottom-color:var(--primary);font-weight:600}.raffles-list{display:flex;flex-direction:column;gap:1.5rem}.raffle-item{background:var(--white);border-radius:.75rem;padding:1.5rem;box-shadow:var(--shadow);display:grid;grid-template-columns:200px 1fr;gap:1.5rem}.raffle-item-image{width:100%;height:120px;object-fit:cover;border-radius:.5rem}.raffle-item-content{display:flex;flex-direction:column;gap:.75rem}.raffle-item-header{display:flex;justify-content:space-between;align-items:start;flex-wrap:wrap;gap:.5rem}.raffle-item-badges{display:flex;gap:.5rem;flex-wrap:wrap}.raffle-item-header h3{font-size:1.25rem;font-weight:600;color:var(--gray-900)}.raffle-item-description{color:var(--gray-600);line-height:1.6}.raffle-item-meta-info{margin-bottom:.5rem;display:flex;flex-direction:column;gap:.25rem}.raffle-item-organizer,.raffle-item-date{font-size:.875rem;color:var(--gray-600)}.raffle-item-organizer strong,.raffle-item-date strong{color:var(--gray-700);font-weight:600}.raffle-item-meta{display:flex;gap:.5rem;color:var(--gray-600);font-size:.95rem}.raffle-item-actions{margin-top:.5rem}.my-raffles.christmas-mode .raffle-item{position:relative;border:1px solid var(--christmas-border);background:var(--christmas-card);transition:all .3s ease;box-shadow:0 2px 8px #0000000d}.my-raffles.christmas-mode .raffle-item:before{content:"";position:absolute;top:-1px;left:-1px;right:-1px;bottom:-1px;background:linear-gradient(135deg,var(--christmas-red-light) 0%,var(--christmas-gold-light) 50%,var(--christmas-green-light) 100%);border-radius:.75rem;z-index:-1;opacity:0;transition:opacity .3s ease}.my-raffles.christmas-mode .raffle-item:hover:before{opacity:1}.my-raffles.christmas-mode .raffle-item:hover{border-color:var(--christmas-red);box-shadow:var(--shadow-lg),0 0 12px var(--christmas-red-light),0 0 20px var(--christmas-gold-light);transform:translateY(-2px)}.status-badge{display:inline-flex;align-items:center;gap:.25rem;padding:.25rem .75rem;border-radius:.5rem;font-size:.75rem;font-weight:600;text-transform:uppercase}.status-badge.status-active{background:#dbeafe;color:#1e40af}.status-badge.status-finished{background:#e5e7eb;color:#374151}.status-badge.status-paused{background:#fef3c7;color:#92400e}.status-badge.status-winner{background:#fef3c7;color:#d97706}.status-badge.status-executed{background:#d1fae5;color:#065f46}@media (max-width: 768px){.raffles-tabs{flex-direction:column}.raffle-tab{width:100%;justify-content:center}.raffle-item{grid-template-columns:1fr}.raffle-item-image{height:200px}}.settings{max-width:800px;margin:0 auto}.page-header{margin-bottom:2rem}.page-header h1{font-size:2rem;font-weight:600;color:var(--gray-900)}.settings-content{display:flex;flex-direction:column;gap:2rem}.settings-section{background:var(--white);border-radius:.75rem;padding:2rem;box-shadow:var(--shadow)}.settings-section-header{margin-bottom:1.5rem}.settings-section-header h2{font-size:1.5rem;font-weight:600;color:var(--gray-900);margin-bottom:.5rem}.settings-description{color:var(--gray-600);line-height:1.6}.mp-status{display:flex;flex-direction:column;gap:1rem}.mp-connected{display:flex;align-items:start;gap:1rem;padding:1.5rem;background:#d1fae5;border-radius:.5rem;border:1px solid var(--success);position:relative}.mp-connected>div{flex:1}.mp-connected .btn-danger{margin-left:auto;background:#ef4444;color:var(--white);border:none;padding:.5rem 1rem;border-radius:.5rem;cursor:pointer;display:flex;align-items:center;gap:.5rem;font-size:.9rem;transition:background .2s;white-space:nowrap}.mp-connected .btn-danger:hover{background:#dc2626}.mp-connected .btn-danger:disabled{opacity:.6;cursor:not-allowed}@media (max-width: 768px){.mp-connected{flex-direction:column}.mp-connected .btn-danger{margin-left:0;width:100%;justify-content:center}}.success-icon{color:var(--success);flex-shrink:0}.mp-connected h3{font-size:1.1rem;font-weight:600;color:#065f46;margin-bottom:.25rem}.mp-connected p{color:#047857;font-size:.95rem}.mp-disconnected{display:flex;align-items:center;gap:1rem;padding:1.5rem;background:var(--gray-50);border-radius:.5rem;border:1px solid var(--gray-200)}.mp-disconnected>svg{color:var(--gray-500);flex-shrink:0}.mp-disconnected>div{flex:1}.mp-disconnected h3{font-size:1.1rem;font-weight:600;color:var(--gray-900);margin-bottom:.25rem}.mp-disconnected p{color:var(--gray-600);font-size:.95rem}.user-info{display:flex;align-items:center;gap:1.5rem}.user-photo{width:80px;height:80px;border-radius:50%;object-fit:cover}.user-details{flex:1}.user-details p{margin-bottom:.5rem;color:var(--gray-700)}.user-details strong{color:var(--gray-900)}.profile-form{display:flex;flex-direction:column;gap:1.5rem}.photo-upload{display:flex;flex-direction:column;gap:1rem;align-items:flex-start}.photo-preview{width:150px;height:150px;border-radius:50%;object-fit:cover;border:3px solid var(--gray-200)}.form-group label{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem;font-weight:500;color:var(--gray-700)}.textarea{resize:vertical;min-height:100px}.form-actions{margin-top:1rem;padding-top:1.5rem;border-top:1px solid var(--gray-200)}.user-info-display{margin-top:2rem;padding-top:2rem;border-top:1px solid var(--gray-200)}.user-info-display h3{font-size:1.25rem;font-weight:600;margin-bottom:1rem;color:var(--gray-900)}@media (max-width: 768px){.mp-disconnected{flex-direction:column;align-items:flex-start}.user-info{flex-direction:column;text-align:center}.photo-upload{align-items:center}}.terms-page{width:100%;min-height:calc(100vh - 200px);padding:2rem 0}.terms-container{max-width:900px;margin:0 auto;background:var(--white);border-radius:.75rem;padding:3rem;box-shadow:var(--shadow)}.back-link{display:inline-flex;align-items:center;gap:.5rem;color:var(--gray-600);text-decoration:none;margin-bottom:2rem;transition:color .2s}.back-link:hover{color:var(--primary)}.terms-title{font-size:2.5rem;font-weight:700;color:var(--gray-900);margin-bottom:.5rem}.terms-updated{color:var(--gray-500);font-size:.95rem;margin-bottom:2rem;padding-bottom:2rem;border-bottom:2px solid var(--gray-200)}.terms-content{line-height:1.8;color:var(--gray-700)}.terms-section{margin-bottom:2.5rem}.terms-section h2{font-size:1.5rem;font-weight:600;color:var(--gray-900);margin-bottom:1rem}.terms-section p{margin-bottom:1rem;font-size:1rem}.terms-section ul{margin-left:1.5rem;margin-bottom:1rem}.terms-section li{margin-bottom:.5rem}.terms-section strong{color:var(--gray-900);font-weight:600}.terms-important{background:var(--warning);background:linear-gradient(135deg,#fef3c7,#fde68a);padding:2rem;border-radius:.75rem;border-left:4px solid var(--warning);margin-top:3rem}.terms-important h2{color:var(--gray-900)}.terms-important p{font-size:1.05rem;color:var(--gray-800)}@media (max-width: 768px){.terms-container{padding:1.5rem}.terms-title{font-size:2rem}.terms-section h2{font-size:1.25rem}}.admin{max-width:1400px;margin:0 auto;padding:2rem}.admin-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;gap:1rem}.admin-loading .spinner{width:48px;height:48px;border:4px solid var(--gray-200);border-top-color:var(--primary);border-radius:50%;animation:spin 1s linear infinite}.admin-header{margin-bottom:2rem}.admin-header h1{font-size:2rem;font-weight:600;color:var(--gray-900);margin-bottom:.5rem}.admin-header p{color:var(--gray-600);font-size:1rem}.admin-stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem;margin-bottom:2rem}.stat-card{background:var(--white);border-radius:.75rem;padding:1.5rem;box-shadow:var(--shadow);display:flex;align-items:center;gap:1rem;transition:transform .2s,box-shadow .2s}.stat-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}.stat-icon{width:56px;height:56px;border-radius:.75rem;display:flex;align-items:center;justify-content:center;flex-shrink:0}.stat-icon.stat-users{background:linear-gradient(135deg,#3b82f6,#2563eb);color:var(--white)}.stat-icon.stat-raffles{background:linear-gradient(135deg,#8b5cf6,#7c3aed);color:var(--white)}.stat-icon.stat-tickets{background:linear-gradient(135deg,#10b981,#059669);color:var(--white)}.stat-icon.stat-revenue{background:linear-gradient(135deg,#f59e0b,#d97706);color:var(--white)}.stat-content{flex:1}.stat-content h3{font-size:.875rem;font-weight:500;color:var(--gray-600);margin-bottom:.5rem}.stat-value{font-size:2rem;font-weight:700;color:var(--gray-900);margin:0}.stat-subtitle{font-size:.875rem;color:var(--gray-500);margin-top:.25rem;margin-bottom:0}.stat-details{display:flex;gap:1rem;margin-top:.5rem;flex-wrap:wrap}.stat-detail-item{display:flex;align-items:center;gap:.25rem;font-size:.875rem;padding:.25rem .5rem;border-radius:.375rem}.stat-detail-item.active{background:#d1fae5;color:#065f46}.stat-detail-item.finished{background:#fee2e2;color:#991b1b}.admin-sections{display:grid;grid-template-columns:1fr;gap:2rem}.admin-section{background:var(--white);border-radius:.75rem;padding:2rem;box-shadow:var(--shadow)}.admin-section h2{font-size:1.5rem;font-weight:600;color:var(--gray-900);margin-bottom:1.5rem;display:flex;align-items:center;gap:.5rem}.admin-table-container{overflow-x:auto}.admin-table{width:100%;border-collapse:collapse}.admin-table thead{background:var(--gray-50)}.admin-table th{padding:1rem;text-align:left;font-weight:600;color:var(--gray-700);font-size:.875rem;text-transform:uppercase;letter-spacing:.05em;border-bottom:2px solid var(--gray-200)}.admin-table td{padding:1rem;border-bottom:1px solid var(--gray-200);color:var(--gray-700)}.admin-table tbody tr:hover{background:var(--gray-50)}.table-link{color:var(--primary);text-decoration:none;font-weight:500;transition:color .2s}.table-link:hover{color:var(--primary-dark);text-decoration:underline}.table-empty{text-align:center;color:var(--gray-500);padding:2rem!important;font-style:italic}.status-badge{display:inline-flex;align-items:center;gap:.375rem;padding:.375rem .75rem;border-radius:.5rem;font-size:.875rem;font-weight:500}.status-badge.status-active{background:#d1fae5;color:#065f46}.status-badge.status-finished{background:#fee2e2;color:#991b1b}.admin-tabs{display:flex;gap:.5rem;margin-bottom:2rem;border-bottom:2px solid var(--gray-200)}.admin-tab{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;background:none;border:none;border-bottom:3px solid transparent;color:var(--gray-600);font-size:1rem;font-weight:500;cursor:pointer;transition:all .2s;margin-bottom:-2px}.admin-tab:hover{color:var(--primary);background:var(--gray-50)}.admin-tab.active{color:var(--primary);border-bottom-color:var(--primary)}.theme-settings{display:flex;flex-direction:column;gap:1.5rem}.theme-setting-item{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;background:var(--gray-50);border-radius:.75rem;gap:2rem}.theme-setting-info{flex:1}.theme-setting-info h3{font-size:1.125rem;font-weight:600;color:var(--gray-900);margin-bottom:.5rem}.theme-setting-info p{font-size:.95rem;color:var(--gray-600);line-height:1.5;margin:0}.switch{position:relative;display:inline-block;width:60px;height:34px;flex-shrink:0}.switch input{opacity:0;width:0;height:0}.slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:var(--gray-300);transition:.3s;border-radius:34px}.slider:before{position:absolute;content:"";height:26px;width:26px;left:4px;bottom:4px;background-color:var(--white);transition:.3s;border-radius:50%}.switch input:checked+.slider{background-color:var(--primary)}.switch input:checked+.slider:before{transform:translate(26px)}.switch input:disabled+.slider{opacity:.6;cursor:not-allowed}@media (max-width: 768px){.admin{padding:1rem}.admin-stats-grid{grid-template-columns:1fr}.stat-card{flex-direction:column;text-align:center}.admin-table-container{overflow-x:scroll}.admin-table{font-size:.875rem}.admin-table th,.admin-table td{padding:.75rem .5rem}.admin-tabs{overflow-x:auto}.admin-tab{padding:.75rem 1rem;font-size:.9rem}.theme-setting-item{flex-direction:column;align-items:flex-start;gap:1rem}}.admin-delete-btn{display:inline-flex;align-items:center;justify-content:center;padding:.5rem;background:#fee2e2;color:#dc2626;border:none;border-radius:.5rem;cursor:pointer;transition:all .2s;font-size:.875rem}.admin-delete-btn:hover:not(:disabled){background:#fecaca;color:#b91c1c;transform:scale(1.05)}.admin-delete-btn:disabled{opacity:.6;cursor:not-allowed}.admin-delete-btn .spinning{animation:spin 1s linear infinite}.maintenance-actions{display:flex;flex-direction:column;gap:1.5rem}.maintenance-item{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;background:var(--gray-50);border-radius:.75rem;gap:2rem}.maintenance-info{flex:1}.maintenance-info h3{font-size:1.125rem;font-weight:600;color:var(--gray-900);margin-bottom:.5rem}.maintenance-info p{font-size:.95rem;color:var(--gray-600);line-height:1.5;margin:0}.admin-cleanup-btn{padding:.75rem 1.5rem;background:#f59e0b;color:var(--white);border:none;border-radius:.5rem;font-weight:600;cursor:pointer;transition:all .2s;font-size:.95rem;white-space:nowrap}.admin-cleanup-btn:hover:not(:disabled){background:#d97706;transform:translateY(-1px);box-shadow:0 4px 6px #0000001a}.admin-cleanup-btn:disabled{opacity:.6;cursor:not-allowed}@media (max-width: 768px){.maintenance-item{flex-direction:column;align-items:flex-start;gap:1rem}.admin-cleanup-btn{width:100%}}.rating-display{display:flex;align-items:center;gap:.25rem}.rating-display .star-filled{fill:#fbbf24;color:#fbbf24}.bad-rating-warning{margin-left:.5rem;font-size:1rem}.admin-user-actions{display:flex;gap:.5rem;align-items:center}.admin-block-btn,.admin-unblock-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;border-radius:.375rem;cursor:pointer;transition:all .2s;background:var(--gray-100);color:var(--gray-700)}.admin-block-btn:hover{background:#fee2e2;color:#dc2626}.admin-unblock-btn:hover{background:#d1fae5;color:#059669}.admin-block-btn:disabled,.admin-unblock-btn:disabled{opacity:.5;cursor:not-allowed}.text-muted{color:var(--gray-500);font-style:italic}.organizer-profile{max-width:1200px;margin:0 auto;padding:2rem}.profile-header{background:var(--white);border-radius:1rem;padding:2rem;margin-bottom:2rem;box-shadow:var(--shadow);display:grid;grid-template-columns:200px 1fr;gap:2rem}.profile-avatar-section{display:flex;flex-direction:column;align-items:center;gap:1rem}.profile-avatar{width:150px;height:150px;border-radius:50%;object-fit:cover;border:4px solid var(--primary);box-shadow:var(--shadow)}.profile-rating{text-align:center}.rating-stars{display:flex;gap:.25rem;justify-content:center;margin-bottom:.5rem}.rating-stars .star-filled{fill:#fbbf24;color:#fbbf24}.rating-stars .star-half{fill:url(#half-gradient);color:#fbbf24}.rating-stars .star-empty{fill:#e5e7eb;color:#e5e7eb}.rating-value{font-size:.875rem;color:var(--gray-600);font-weight:600}.profile-info{display:flex;flex-direction:column;gap:1rem}.profile-name{font-size:2rem;font-weight:700;color:var(--gray-900);margin:0}.profile-profession{font-size:1.25rem;color:var(--gray-600);margin:0}.profile-location{display:flex;align-items:center;gap:.5rem;color:var(--gray-600);font-size:1rem}.profile-bio{color:var(--gray-700);line-height:1.6;margin:0}.profile-social{display:flex;gap:1rem;margin-top:.5rem}.social-link{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;background:var(--gray-100);color:var(--gray-700);transition:all .2s;text-decoration:none}.social-link:hover{background:var(--primary);color:var(--white);transform:translateY(-2px)}.profile-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem;margin-bottom:2rem}.stat-item{background:var(--white);border-radius:.75rem;padding:1.5rem;box-shadow:var(--shadow);display:flex;align-items:center;gap:1rem}.stat-item svg{color:var(--primary);flex-shrink:0}.stat-value{font-size:1.75rem;font-weight:700;color:var(--gray-900)}.stat-label{font-size:.875rem;color:var(--gray-600);margin-top:.25rem}.profile-section{margin-bottom:3rem}.profile-section h2{font-size:1.75rem;font-weight:600;color:var(--gray-900);margin-bottom:1.5rem}.raffles-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem}.raffle-card{background:var(--white);border-radius:.75rem;overflow:hidden;box-shadow:var(--shadow);transition:transform .2s,box-shadow .2s;text-decoration:none;color:inherit;display:block}.raffle-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}.raffle-image{width:100%;height:200px;object-fit:cover}.raffle-content{padding:1.5rem}.raffle-content h3{font-size:1.25rem;font-weight:600;margin-bottom:.5rem;color:var(--gray-900)}.raffle-description{color:var(--gray-600);line-height:1.6;margin-bottom:1rem;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.raffle-price{font-size:1.25rem;font-weight:700;color:var(--primary)}.reviews-list{display:flex;flex-direction:column;gap:1.5rem}.review-item{background:var(--white);border-radius:.75rem;padding:1.5rem;box-shadow:var(--shadow)}.review-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.review-rating{display:flex;gap:.25rem}.review-rating .star-filled{fill:#fbbf24;color:#fbbf24}.review-rating .star-empty{fill:#e5e7eb;color:#e5e7eb}.review-date{font-size:.875rem;color:var(--gray-500)}.review-comment{color:var(--gray-700);line-height:1.6;margin-bottom:.5rem}.review-author{font-size:.875rem;color:var(--gray-600);font-style:italic;margin:0}@media (max-width: 768px){.profile-header{grid-template-columns:1fr;text-align:center}.profile-stats,.raffles-grid{grid-template-columns:1fr}}*{margin:0;padding:0;box-sizing:border-box}:root{--primary: #FF6B9D;--primary-dark: #FF4A7B;--primary-light: #FF8FA3;--secondary: #9B59B6;--secondary-dark: #8E44AD;--accent: #D4AF37;--accent-light: #F4D03F;--danger: #ef4444;--warning: #f59e0b;--success: #10b981;--bg-primary: #FFF8F0;--bg-secondary: #FFF0F5;--bg-tertiary: #FFFFFF;--gray-50: #FAF9F7;--gray-100: #F5F3F0;--gray-200: #E8E8E8;--gray-300: #D3D3D3;--gray-400: #9ca3af;--gray-500: #6b7280;--gray-600: #4b5563;--gray-700: #374151;--gray-800: #2C2C2C;--gray-900: #1A1A1A;--white: #ffffff;--shadow: 0 1px 3px 0 rgb(0 0 0 / .08), 0 1px 2px -1px rgb(0 0 0 / .08);--shadow-md: 0 4px 6px -1px rgb(0 0 0 / .08), 0 2px 4px -2px rgb(0 0 0 / .08);--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1)}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--bg-primary);color:var(--gray-800)}.app{min-height:100vh;display:flex;flex-direction:column}.main-content{flex:1;padding:2rem;max-width:1400px;width:100%;margin:0 auto}.container{max-width:1200px;margin:0 auto;padding:0 1rem}.btn{padding:.75rem 1.5rem;border:none;border-radius:.5rem;font-size:1rem;font-weight:500;cursor:pointer;transition:all .2s;display:inline-flex;align-items:center;gap:.5rem}.btn-primary{background-color:var(--primary);color:var(--white)}.btn-primary:hover{background-color:var(--primary-dark);color:var(--white)}.btn-secondary{background-color:var(--gray-200);color:var(--gray-900)}.btn-secondary:hover{background-color:var(--gray-300)}.btn-success{background-color:var(--success);color:var(--white)}.btn-success:hover{background-color:#059669}.btn-danger{background-color:var(--danger);color:var(--white)}.btn-danger:hover{background-color:#dc2626}.btn:disabled{opacity:.5;cursor:not-allowed}.input{width:100%;padding:.75rem;border:1px solid var(--gray-300);border-radius:.5rem;font-size:1rem;transition:border-color .2s}.input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #ff6b9d1a}.card{background:var(--white);border-radius:.75rem;padding:1.5rem;box-shadow:var(--shadow)}.card-header{margin-bottom:1rem;padding-bottom:1rem;border-bottom:1px solid var(--gray-200)}.card-title{font-size:1.5rem;font-weight:600;color:var(--gray-900)}.loading{display:flex;justify-content:center;align-items:center;min-height:400px}.spinner{width:40px;height:40px;border:4px solid var(--gray-200);border-top-color:var(--primary);border-radius:50%;animation:spin 1s linear infinite}.christmas-mode{--christmas-bg: #FFF8F0;--christmas-card: #FFFFFF;--christmas-border: #E8E8E8;--christmas-red: #C41E3A;--christmas-white: #fff;--christmas-red-light: rgba(196, 30, 58, .1);--christmas-green: #2D5016;--christmas-green-light: rgba(45, 80, 22, .1);--christmas-gold: #D4AF37;--christmas-gold-light: rgba(212, 175, 55, .15);--christmas-text: #2C2C2C;--christmas-text-light: #6B7280}@keyframes spin{to{transform:rotate(360deg)}}.grid{display:grid;gap:1rem}.grid-2{grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.grid-3{grid-template-columns:repeat(auto-fill,minmax(250px,1fr))}@media (max-width: 768px){.main-content{padding:1rem}.grid-2,.grid-3{grid-template-columns:1fr}}
