*{box-sizing:border-box}html,body{margin:0;padding:0;height:100%}body{background-color:#fff5e9}.container{max-width:1280px;margin:0 auto;padding:0 1rem}.grid{display:grid;gap:1.5rem}.grid.grid-2{grid-template-columns:repeat(2,1fr)}@media(max-width:480px){.grid.grid-2{grid-template-columns:1fr}}.grid.grid-3{grid-template-columns:repeat(3,1fr)}@media(max-width:768px){.grid.grid-3{grid-template-columns:repeat(2,1fr)}}@media(max-width:480px){.grid.grid-3{grid-template-columns:1fr}}.grid.grid-4{grid-template-columns:repeat(4,1fr)}@media(max-width:1024px){.grid.grid-4{grid-template-columns:repeat(3,1fr)}}@media(max-width:768px){.grid.grid-4{grid-template-columns:repeat(2,1fr)}}@media(max-width:480px){.grid.grid-4{grid-template-columns:1fr}}.loading{display:flex;justify-content:center;align-items:center;padding:4rem}.loading:after{content:"";width:40px;height:40px;border:4px solid #fff5e9;border-top-color:#e88ca1;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.empty-state{text-align:center;padding:4rem;color:#666}.empty-state h3{font-family:Pacifico,cursive;color:#333;margin-bottom:1rem}.no-cursor{cursor:default;-webkit-user-select:none;user-select:none}.pointer{cursor:pointer;-webkit-user-select:none;user-select:none}body{font-family:Montserrat,sans-serif;font-size:1rem;font-weight:400;line-height:1.6;color:#333;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3,h4,h5,h6{font-family:Pacifico,cursive;font-weight:400;line-height:1.3;margin-top:0;color:#333}h1{font-size:2.5rem;margin-bottom:1.5rem}@media(max-width:768px){h1{font-size:2rem}}h2{font-size:2rem;margin-bottom:1rem}@media(max-width:768px){h2{font-size:1.5rem}}h3{font-size:1.5rem;margin-bottom:1rem}h4{font-size:1.125rem;margin-bottom:.5rem}p{margin-top:0;margin-bottom:1rem}p:last-child{margin-bottom:0}a{color:#e88ca1;text-decoration:none;transition:color .3s ease}a:hover{color:#e0627e}.text-small{font-size:.875rem}.text-large{font-size:1.125rem}.text-display{font-family:Pacifico,cursive}.text-primary{color:#e88ca1}.text-accent{color:#d4af37}.text-muted{color:#666}.text-center{text-align:center}.text-bold{font-weight:600}.price{font-size:1.125rem;font-weight:600;color:#333}.price.price-large{font-size:1.5rem}.price .currency{font-size:.9em;margin-left:.2em}
