:root{--primary:#033f1e;--primary-hover:#022c15;--primary-soft:#b6f1bf;--secondary:#8f4f00;--secondary-hover:#663800;--secondary-soft:#ffdac2;--yellow:#ff9100;--yellow-hover:#e68200;--yellow-soft:#ffe270;--teal:#705e00;--teal-hover:#574800;--teal-soft:#c7a600;--bg-cream:#fbf9f9;--bg-white:#fff;--text-dark:#1c1c1c;--text-muted:#7c706a;--border-soft:#ebe3e0;--border-focus:#08aa51;--shadow-light:0 4px 12px #033f1d0a, 0 1px 4px #033f1d05;--shadow-hover:0 12px 30px -4px #033f1d14, 0 4px 12px -2px #033f1d08;--shadow-coral:0 8px 20px -4px #9d3a6b40;--shadow-teal:0 8px 20px -4px #12949640;--font-sans:"Be Vietnam Pro", system-ui, -apple-system, sans-serif;--font-display:"Sora", system-ui, -apple-system, sans-serif;--radius-lg:16px;--radius-md:8px;--radius-sm:4px;--transition-bouncy:all .4s cubic-bezier(.175, .885, .32, 1.275);--transition-smooth:all .25s ease}.tilted-card{transition:var(--transition-bouncy);transform:rotate(-2deg)}.tilted-card:hover{transform:rotate(0)scale(1.02)}.sticker-shadow{box-shadow:6px 6px #033f1d1a}.calendar-grid-item{aspect-ratio:1/1.1;min-height:90px;padding:10px}.calendar-col{padding:24px}.custom-scrollbar::-webkit-scrollbar{width:6px;height:6px}.custom-scrollbar::-webkit-scrollbar-track{background:var(--bg-cream)}.custom-scrollbar::-webkit-scrollbar-thumb{background:var(--primary-soft);border-radius:10px}.custom-scrollbar::-webkit-scrollbar-thumb:hover{background:var(--teal-soft)}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-sans);background-color:var(--bg-cream);color:var(--text-dark);-webkit-font-smoothing:antialiased;min-height:100vh;line-height:1.6;overflow-x:hidden}h1,h2,h3,h4,h5,h6,.font-display,.logo-container{font-family:var(--font-display);letter-spacing:-.02em;font-weight:800}a{color:inherit;transition:var(--transition-smooth);text-decoration:none}button,input,select,textarea{font-family:inherit}.app-container{background-color:var(--bg-white);flex-direction:column;max-width:1400px;min-height:100vh;margin:0 auto;display:flex;position:relative;box-shadow:0 0 40px #00000005}.text-gradient{background:linear-gradient(135deg, var(--primary) 0%, var(--teal) 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text}.text-gradient-coral{background:linear-gradient(135deg, var(--primary) 0%, var(--yellow) 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text}.badge{transition:var(--transition-smooth);border-radius:50px;align-items:center;gap:6px;padding:6px 14px;font-size:.8rem;font-weight:600;display:inline-flex}.badge-free{background-color:var(--teal-soft);color:var(--teal)}.badge-coral{background-color:var(--primary-soft);color:var(--primary)}.badge-blue{background-color:var(--secondary-soft);color:var(--secondary)}.badge-yellow{background-color:var(--yellow-soft);color:#aa2e09}.btn{cursor:pointer;transition:var(--transition-bouncy);border:none;border-radius:50px;justify-content:center;align-items:center;gap:8px;padding:12px 28px;font-size:.95rem;font-weight:700;display:inline-flex}.btn:active{transform:scale(.96)}.btn-primary{background:linear-gradient(135deg, var(--primary) 0%, #8459cf 100%);color:var(--bg-white);box-shadow:var(--shadow-coral)}.btn-primary:hover{transform:translateY(-3px);box-shadow:0 15px 30px -5px #5d3bb259}.btn-secondary{background:linear-gradient(135deg, var(--teal) 0%, #f5b13d 100%);color:var(--bg-white);box-shadow:var(--shadow-teal)}.btn-secondary:hover{transform:translateY(-3px);box-shadow:0 15px 30px -5px #f6b21b59}.btn-outline{border:2px solid var(--border-soft);color:var(--text-dark);background-color:#0000}.btn-outline:hover{border-color:var(--primary);color:var(--primary);background-color:var(--primary-soft);transform:translateY(-2px)}.btn-icon-only{border-radius:50%;justify-content:center;align-items:center;width:44px;height:44px;padding:0;display:flex}.event-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:28px;padding:20px 0;display:grid}.event-card{background:var(--bg-white);border-radius:var(--radius-lg);border:1px solid var(--border-soft);height:100%;box-shadow:var(--shadow-light);transition:var(--transition-bouncy);flex-direction:column;display:flex;overflow:hidden}.event-card:hover{box-shadow:var(--shadow-hover);transform:translateY(-8px)}.event-image-container{width:100%;height:200px;position:relative;overflow:hidden}.event-image{object-fit:cover;width:100%;height:100%;transition:transform .6s cubic-bezier(.165,.84,.44,1)}.event-card:hover .event-image{transform:scale(1.08)}.event-price-tag{background-color:var(--teal);color:var(--bg-white);border-radius:50px;padding:6px 16px;font-size:.85rem;font-weight:800;position:absolute;top:16px;left:16px;box-shadow:0 4px 10px #00000026}.event-details-bar{color:var(--bg-white);background:linear-gradient(#0000,#000000b3);justify-content:space-between;padding:24px 16px 12px;font-size:.8rem;font-weight:600;display:flex;position:absolute;bottom:0;left:0;right:0}.event-card-content{flex-direction:column;flex-grow:1;gap:12px;padding:24px;display:flex}.event-card-title{color:var(--text-dark);font-size:1.25rem;font-weight:800;line-height:1.3}.event-card-description{color:var(--text-muted);-webkit-line-clamp:3;text-overflow:ellipsis;-webkit-box-orient:vertical;flex-grow:1;font-size:.95rem;display:-webkit-box;overflow:hidden}.event-card-footer{border-top:1px solid var(--border-soft);justify-content:space-between;align-items:center;margin-top:auto;padding-top:16px;display:flex}.event-location{color:var(--text-muted);align-items:center;gap:6px;font-size:.85rem;display:flex}.calendar-view{background:var(--bg-white);border-radius:var(--radius-lg);border:1px solid var(--border-soft);box-shadow:var(--shadow-light);margin-top:20px;padding:32px}.calendar-header{justify-content:space-between;align-items:center;margin-bottom:28px;display:flex}.calendar-title{color:var(--text-dark);font-size:1.6rem;font-weight:900}.calendar-grid{grid-template-columns:repeat(7,1fr);gap:12px;display:grid}.calendar-weekday{text-align:center;color:var(--text-muted);text-transform:uppercase;letter-spacing:1px;padding-bottom:12px;font-size:.85rem;font-weight:800}.calendar-day{aspect-ratio:1.1;background-color:var(--bg-cream);border-radius:var(--radius-md);cursor:pointer;transition:var(--transition-bouncy);border:2px solid #0000;flex-direction:column;justify-content:space-between;padding:10px;display:flex;position:relative}.calendar-day:hover:not(.empty-day){border-color:var(--primary-hover);background-color:var(--bg-white);box-shadow:var(--shadow-hover);z-index:2;transform:scale(1.05)}.calendar-day-number{color:var(--text-dark);font-size:1rem;font-weight:800}.calendar-day-today{background-color:var(--secondary-soft);border-color:var(--secondary)!important}.calendar-day-today .calendar-day-number{color:var(--secondary)}.calendar-day-selected{background-color:var(--primary-soft);border-color:var(--primary)!important}.calendar-day-selected .calendar-day-number{color:var(--primary)}.empty-day{cursor:default;background-color:#0000}.calendar-events-indicator{flex-wrap:wrap;gap:4px;max-height:24px;margin-top:6px;display:flex;overflow:hidden}.calendar-dot{background-color:var(--primary);border-radius:50%;width:8px;height:8px}.calendar-dot-multiple{background:var(--primary);color:#fff;border-radius:4px;padding:1px 4px;font-size:.7rem;font-weight:800;line-height:1}.event-popover{background-color:var(--primary-soft);border:1px dashed var(--primary);border-radius:var(--radius-lg);margin-top:24px;padding:24px;animation:.3s slideUp}.form-group{text-align:left;flex-direction:column;gap:8px;margin-bottom:20px;display:flex}.form-label{color:var(--text-dark);font-size:.9rem;font-weight:800}.form-control{border:2px solid var(--border-soft);background-color:var(--bg-cream);width:100%;color:var(--text-dark);transition:var(--transition-smooth);border-radius:50px;padding:14px 20px;font-size:.95rem;font-weight:500}.form-control:focus{border-color:var(--primary);background-color:var(--bg-white);box-shadow:0 0 0 4px var(--border-focus);outline:none}textarea.form-control{border-radius:var(--radius-md);resize:vertical;min-height:120px}.header{border-bottom:1px solid var(--border-soft);background:var(--bg-white);justify-content:space-between;align-items:center;padding:12px 40px;display:flex}.logo-container{color:var(--text-dark);align-items:center;display:flex}.logo-img{width:auto;height:92px;display:block}.logo-icon{background:linear-gradient(135deg, var(--primary) 0%, var(--yellow) 100%);color:#fff;width:40px;height:40px;box-shadow:var(--shadow-coral);border-radius:50%;justify-content:center;align-items:center;display:flex}.nav-links{align-items:center;gap:32px;display:flex}.hamburger-toggle{cursor:pointer;z-index:1001;background:0 0;border:none;flex-direction:column;justify-content:space-between;width:26px;height:18px;padding:0;display:none}.hamburger-toggle span{background-color:var(--text-dark);border-radius:9px;width:100%;height:3px;transition:all .3s cubic-bezier(.175,.885,.32,1.275)}.hamburger-toggle.open span:first-child{transform:translateY(7.5px)rotate(45deg)}.hamburger-toggle.open span:nth-child(2){opacity:0;transform:translate(-15px)}.hamburger-toggle.open span:nth-child(3){transform:translateY(-7.5px)rotate(-45deg)}.nav-link{color:var(--text-muted);padding:4px 0;font-size:1rem;font-weight:700;position:relative}.nav-link:hover,.nav-link.active{color:var(--primary)}.nav-link.active:after{content:"";background-color:var(--primary);border-radius:50px;height:4px;animation:.3s cubic-bezier(.175,.885,.32,1.275) expandIn;position:absolute;bottom:-4px;left:0;right:0}.footer{background-color:var(--bg-cream);border-top:1px solid var(--border-soft);text-align:center;color:var(--text-muted);margin-top:auto;padding:48px 40px}@keyframes slideUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes expandIn{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@media (width<=768px){.header{padding:6px 16px}.logo-img{height:68px}.hamburger-toggle{margin-right:8px;display:flex}.nav-links{display:none}.nav-links.mobile-open{background-color:var(--bg-white);border-bottom:1px solid var(--border-soft);z-index:1000;flex-direction:column;align-items:flex-start;gap:16px;padding:24px;animation:.3s slideDownMenu;display:flex;position:absolute;top:100%;left:0;right:0;box-shadow:0 10px 20px #2d14500d}.nav-link{text-align:left;width:100%;padding:8px 0;font-size:1.05rem}.nav-link.active:after{bottom:2px}.calendar-view{padding:16px}.calendar-col{padding:12px!important}.calendar-grid{gap:4px!important}.calendar-grid-item{aspect-ratio:1!important;min-height:44px!important;padding:4px!important}.calendar-day-details{display:none!important}.calendar-weekday{padding-bottom:6px!important;font-size:.65rem!important}.calendar-day-number{font-size:.78rem!important}.calendar-dot-marker{width:5px!important;height:5px!important}}@media (width<=480px){.event-grid{grid-template-columns:1fr!important;gap:16px!important}.modal-grid-cols{grid-template-columns:1fr!important;gap:12px!important}}@keyframes slideDownMenu{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.animate-spin{animation:1s linear infinite spin}.detail-page-container{padding:40px 20px}.detail-card-content{padding:40px}.detail-cover-image{width:100%;height:380px;position:relative}.detail-metrics-bar{background-color:var(--bg-cream);border-radius:var(--radius-md);grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px;margin-bottom:32px;padding:24px;display:grid}.article-body-padding{padding:40px 48px}.calendar-view{padding:40px 20px}.admin-sharing-helper{background-color:var(--secondary-soft);border-radius:var(--radius-lg);border:2px dashed var(--secondary);text-align:left;margin-top:40px;padding:32px}.admin-sharing-helper .copy-btn{min-width:240px}.article-card{background-color:var(--bg-white);border:3.5px solid var(--text-dark);box-shadow:8px 8px 0px 0px var(--text-dark);border-radius:24px;margin-bottom:48px;animation:.5s slideUp;overflow:hidden;max-width:100%!important}.detail-card{max-width:100%!important;overflow:hidden!important}.blog-excerpt{background-color:var(--primary-soft);border:3.5px solid var(--text-dark);box-shadow:4px 4px 0px 0px var(--text-dark);color:var(--primary);text-align:left;border-radius:16px;margin-bottom:40px;padding:24px 30px;font-size:1.1rem;font-weight:700;line-height:1.6}.modal-actions{flex-wrap:wrap;justify-content:flex-end;gap:12px;margin-top:12px;display:flex}@media (width<=768px){.detail-page-container{padding:16px 12px!important}.detail-card-content{padding:24px 16px!important}.detail-cover-image{height:240px!important}.article-body-padding{padding:24px 16px!important}.detail-metrics-bar{grid-template-columns:1fr!important;gap:16px!important;padding:16px!important}.calendar-view{padding:16px 12px!important}.admin-sharing-helper{margin-top:24px!important;padding:20px 16px!important}.admin-sharing-helper .copy-btn{width:100%!important;min-width:100%!important}.article-card{box-shadow:4px 4px 0px 0px var(--text-dark)!important;border-width:2.5px!important;border-radius:16px!important}.blog-excerpt{box-shadow:3px 3px 0px 0px var(--text-dark)!important;border-width:2.5px!important;margin-bottom:24px!important;padding:16px 20px!important;font-size:1rem!important}.modal-actions{flex-direction:column!important;width:100%!important}.modal-actions button{width:100%!important}}@media (width<=480px){.detail-page-container .btn{width:100%!important}}.detail-body-text,.blog-content-paragraphs,.blog-content-paragraphs p,.blog-excerpt,.blog-excerpt p,.detail-page-container p,.detail-page-container h1,.detail-page-container h2,.detail-page-container h3,.detail-page-container h4,.detail-page-container h5,.detail-page-container h6{overflow-wrap:anywhere!important;word-wrap:break-word!important;word-break:break-word!important;max-width:100%!important}.detail-body-text,.blog-content-paragraphs{white-space:pre-line!important;display:block!important}@media (width<=768px){.detail-page-container,.app-container{width:100%!important;max-width:100%!important;overflow-x:hidden!important}.detail-body-text,.blog-content-paragraphs{font-size:1rem!important;line-height:1.6!important}}.form-page-container{max-width:800px;margin:0 auto;padding:40px 20px}.form-card{background-color:var(--bg-white);border-radius:var(--radius-lg);border:1px solid var(--border-soft);box-shadow:var(--shadow-light);text-align:left;padding:40px}.manual-image-row{gap:12px;display:flex}@media (width<=768px){.form-page-container{padding:20px 12px}.form-card{padding:24px 16px!important}}@media (width<=600px){.manual-image-row{flex-direction:column;gap:8px}.manual-image-row .btn{justify-content:center;height:48px;padding:0;width:100%!important}}@media (width>=769px){.md\:grid-cols-12{grid-template-columns:repeat(12,1fr)!important;display:grid!important}}.share-btn-hover{transition:var(--transition-bouncy)!important}.share-btn-hover:hover{box-shadow:5px 5px 0px 0px var(--text-dark)!important;transform:translate(-3px,-3px)!important}.share-btn-hover:active{box-shadow:2px 2px 0px 0px var(--text-dark)!important;transform:translate(0)!important}
