:root{--primary:#d8b4c0;--primary-dark:#b97c8a;--secondary:#f9f2f4;--accent:#c89eab;--text:#42373a;--background:#fef6f6;--gold:#d4af37;--gold-light:#e5cea3;--shadow:rgba(185,124,138,0.1);--font-sans:"Poppins",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;--font-serif:"Playfair Display",Georgia,"Times New Roman",serif;--font-playfair:"Playfair Display",Georgia,"Times New Roman",serif}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--background);color:var(--text);font-family:var(--font-sans);line-height:1.6}h1,h2,h3,h4,h5,h6{font-family:var(--font-serif)}a{color:inherit;text-decoration:none}button{cursor:pointer;font-family:inherit;border:none;outline:none}img{max-width:100%;height:auto}.home-container{min-height:100vh;display:flex;flex-direction:column;position:relative}.header{padding:50px 0 30px;background-color:var(--background);text-align:center;position:relative;overflow:hidden}@media (min-width:768px){.header{padding:80px 0 40px}}.header:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(180deg,rgba(248,232,232,.4),rgba(255,255,255,0));z-index:0}.header h1{font-size:2.5rem;font-weight:500;color:var(--primary-dark);margin-bottom:8px;position:relative;z-index:1}@media (min-width:768px){.header h1{font-size:3rem}}.wedding-date{font-size:1.125rem;color:var(--accent);margin-bottom:1rem;position:relative;z-index:1}@media (min-width:768px){.wedding-date{font-size:1.25rem;margin-bottom:1.5rem}}.divider{height:2px;width:5rem;background:linear-gradient(90deg,transparent,var(--gold-light),transparent);margin:1rem auto;position:relative;z-index:1}@media (min-width:768px){.divider{width:7rem;margin:1.5rem auto}}.header h2{font-size:1.25rem;color:rgba(185,124,138,.9);margin-bottom:.75rem;position:relative;z-index:1}@media (min-width:768px){.header h2{font-size:1.5rem;margin-bottom:1rem}}.header h2:after{content:"";display:block;height:1px;width:60px;background:linear-gradient(90deg,transparent,var(--gold),transparent);margin:.75rem auto}@media (min-width:768px){.header h2:after{width:80px;margin:1rem auto}}.description{max-width:36rem;margin:0 auto;font-size:1rem;color:var(--text);opacity:.9;padding:0 1rem;position:relative;z-index:1}@media (min-width:768px){.description{font-size:1.125rem}}.color-palette-container{margin:1.5rem auto .1rem;text-align:center;position:relative;z-index:1}.category-palette-title,.color-palette-title{font-size:.9rem;color:var(--text);opacity:.8;margin-bottom:.5rem;font-family:var(--font-sans);font-weight:500}.color-palette{display:flex;justify-content:center;gap:10px}.color-dot{width:48px;height:48px;border-radius:50%;box-shadow:0 2px 4px rgba(0,0,0,.1);transition:transform .2s ease,box-shadow .2s ease}.color-dot:hover{transform:scale(1.15);box-shadow:0 4px 8px rgba(0,0,0,.15);cursor:pointer}.category-palette-container{margin:.5rem 0 1.5rem;text-align:center}@media (max-width:480px){.color-dot{width:20px;height:20px}.color-palette{gap:8px}}.couple-names{font-family:var(--font-playfair),Georgia,"Times New Roman",serif!important;font-weight:600;letter-spacing:.03em;font-size:2.25rem;line-height:1.2;color:var(--primary-dark);position:relative;z-index:1;text-shadow:0 2px 3px rgba(0,0,0,.05)}@media (min-width:768px){.couple-names{font-size:3.25rem}}.main-content{max-width:80rem;margin:0 auto;padding:1.5rem 1rem;flex:1;position:relative;z-index:2}@media (min-width:768px){.main-content{padding:0 1rem}}.empty-list{text-align:center;padding:2rem 1rem}@media (min-width:768px){.empty-list{padding:3rem}}.empty-list p{display:inline-block;background-color:white;padding:1.25rem;border-radius:.5rem;box-shadow:0 10px 25px var(--shadow);font-size:1.125rem;color:var(--primary-dark)}@media (min-width:768px){.empty-list p{padding:1.5rem;font-size:1.25rem}}.presents-grid{display:grid;grid-template-columns:repeat(1,1fr);gap:1.25rem}@media (min-width:480px){.presents-grid{grid-template-columns:repeat(2,1fr);gap:1.5rem}}@media (min-width:768px){.presents-grid{gap:2rem}}@media (min-width:1024px){.presents-grid{grid-template-columns:repeat(3,1fr)}}@media (min-width:1280px){.presents-grid{grid-template-columns:repeat(4,1fr)}}.presente-card{background-color:white;border:1px solid rgba(218,182,196,.2);border-radius:.75rem;box-shadow:0 10px 25px var(--shadow);overflow:hidden;transition:all .4s ease;height:100%;display:flex;flex-direction:column}.presente-details{padding:1rem}.presente-details h3{font-size:1.1rem;font-family:var(--font-serif);line-height:1.4;min-height:2.5rem;-webkit-line-clamp:2}.presente-descricao,.presente-details h3{display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden}.presente-descricao{font-size:.85rem;color:var(--text);opacity:.85;margin-bottom:.75rem;-webkit-line-clamp:3}@media (min-width:768px){.presente-details{padding:1.25rem}.presente-details h3{font-size:1.25rem}.presente-descricao{font-size:.9rem}}.presente-card:hover{transform:translateY(-5px);box-shadow:0 15px 30px var(--shadow)}.presente-image{position:relative;height:180px;overflow:hidden}@media (min-width:768px){.presente-image{height:220px}}.presente-image img{width:100%;height:100%;object-fit:cover;transition:transform .7s ease}.presente-card:hover .presente-image img{transform:scale(1.05)}.reservado-overlay{position:absolute;inset:0;background-color:rgba(0,0,0,.4);display:flex;align-items:center;justify-content:center}.reservado-badge{background-color:var(--primary-dark);padding:.5rem 1rem;border-radius:9999px;transform:rotate(-5deg);box-shadow:0 4px 15px rgba(0,0,0,.1)}.reservado-badge p{color:#ffffff;font-size:1rem;font-weight:500;font-family:var(--font-serif);text-shadow:0 1px 2px rgba(0,0,0,.2)}@media (min-width:768px){.reservado-badge p{font-size:1.125rem}}.reservado-info{margin-top:1rem;padding:.75rem;border-radius:.375rem;text-align:center;background-color:var(--secondary)}.reservado-info p{font-size:.875rem;color:var(--primary-dark)}.reservado-info span{font-weight:500}.reservas-lista{padding:.25rem 0}.reservado-por-titulo{font-size:.8rem;margin-bottom:.4rem;opacity:.85}.reservantes-lista{flex-wrap:wrap;justify-content:center;gap:.3rem;max-height:4.5rem;scrollbar-color:var(--primary) transparent}@media (max-width:480px){.reservantes-lista{max-height:5.5rem;gap:.25rem}.reservante-item{font-size:.7rem;padding:.15rem .4rem}.reservado-por-titulo{font-size:.75rem}}.reservantes-lista::-webkit-scrollbar{width:3px}.reservantes-lista::-webkit-scrollbar-track{background:transparent}.reservantes-lista::-webkit-scrollbar-thumb{background-color:var(--primary);border-radius:20px}.reservante-item{background-color:rgba(216,180,192,.15);border-radius:12px;padding:.2rem .5rem;font-size:.75rem;white-space:nowrap;display:inline-block}.reserva-item{padding:0}.reservar-button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;margin-top:.75rem;width:100%;color:var(--primary-dark);background:transparent;border-radius:.375rem;transition:all .3s ease;border-top:1px solid rgba(216,180,192,.2);padding:.75rem .5rem}@media (min-width:768px){.reservar-button{gap:.75rem;margin-top:1rem;padding:1rem 1rem .75rem}}.reservar-button:hover{background-color:rgba(216,180,192,.05);color:var(--primary)}.heart-icon{width:1.5rem;height:1.5rem;transition:all .3s ease}@media (min-width:768px){.heart-icon{width:1.75rem;height:1.75rem}}.reservar-button:hover .heart-icon{fill:rgba(216,180,192,.1);animation:heartbeat 1.8s infinite}@keyframes heartbeat{0%{transform:scale(1)}15%{transform:scale(1.15)}30%{transform:scale(1)}45%{transform:scale(1.15)}60%{transform:scale(1)}}.reservar-button span{font-family:var(--font-serif);font-size:.875rem}@media (min-width:768px){.reservar-button span{font-size:1rem}}.footer{margin-top:3rem;padding:2rem 0;background:linear-gradient(to bottom,transparent,var(--secondary))}@media (min-width:768px){.footer{margin-top:5rem;padding:2.5rem 0}}.footer-content{max-width:80rem;margin:0 auto;padding:0 1rem;text-align:center}.footer-message{font-size:1.125rem;color:var(--primary-dark);margin-bottom:.5rem;font-family:var(--font-serif)}@media (min-width:768px){.footer-message{font-size:1.25rem}}.copyright{font-size:.75rem;color:var(--primary-dark);opacity:.7}@media (min-width:768px){.copyright{font-size:.875rem}}.copyright span{font-family:var(--font-playfair),Georgia,"Times New Roman",serif;font-weight:500;letter-spacing:.02em}.admin-link{display:inline-flex;align-items:center;position:absolute;top:.75rem;right:.75rem;padding:.375rem .75rem;background-color:rgba(255,255,255,.8);border-radius:.5rem;font-size:.75rem;color:var(--text);transition:all .3s ease;z-index:10;box-shadow:0 2px 8px rgba(0,0,0,.05);font-family:var(--font-sans)}@media (min-width:768px){.admin-link{top:1rem;right:1rem;padding:.5rem 1rem;font-size:.875rem;box-shadow:0 2px 10px rgba(0,0,0,.05)}}.admin-link:hover{background-color:white;box-shadow:0 4px 12px rgba(0,0,0,.08)}.error-container,.loading-container{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;background-color:var(--background);padding:1rem}.error-container:before,.loading-container:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(180deg,rgba(248,232,232,.4),rgba(255,255,255,0));z-index:0}.error-container h1,.loading-container h1{font-size:2.25rem;color:var(--primary-dark);margin-bottom:1.5rem;position:relative;z-index:1;font-family:var(--font-playfair),Georgia,"Times New Roman",serif!important;font-weight:600;letter-spacing:.03em;text-align:center}@media (min-width:768px){.error-container h1,.loading-container h1{font-size:3rem;margin-bottom:2rem}}.loading-indicator{background-color:white;padding:1.5rem;border-radius:.75rem;box-shadow:0 10px 25px var(--shadow);display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;z-index:1;width:100%;max-width:300px}@media (min-width:768px){.loading-indicator{padding:2rem;max-width:350px}}.loading-spinner{width:2.5rem;height:2.5rem;border:3px solid var(--secondary);border-top-color:var(--primary);border-radius:50%;animation:spin 1s linear infinite;margin-bottom:1rem}@media (min-width:768px){.loading-spinner{width:3rem;height:3rem}}@keyframes spin{to{transform:rotate(1turn)}}.error-box{background-color:white;padding:1.25rem;border-radius:.75rem;box-shadow:0 10px 25px var(--shadow);text-align:center;position:relative;z-index:1;width:100%;max-width:320px}@media (min-width:768px){.error-box{padding:1.5rem;max-width:400px}}.error-message{font-size:1rem}@media (min-width:768px){.error-message{font-size:1.125rem}}.primary-button{background:linear-gradient(135deg,var(--primary),var(--primary-dark));color:white;font-weight:500;padding:.75rem 1.25rem;border-radius:.375rem;transition:all .3s ease;box-shadow:0 4px 6px var(--shadow);position:relative;overflow:hidden;border:none;outline:none;cursor:pointer}.primary-button:hover{transform:translateY(-2px);box-shadow:0 7px 14px var(--shadow);background:linear-gradient(135deg,var(--primary-dark),var(--primary))}.primary-button:active{transform:translateY(0);box-shadow:0 3px 5px var(--shadow)}.secondary-button{background-color:transparent;border:1px solid #d1d5db;color:#4b5563;font-weight:500;padding:.75rem 1.25rem;border-radius:.375rem;transition:all .3s ease}.secondary-button:hover{background-color:#f9fafb;border-color:#9ca3af}.secondary-button:active{background-color:#f3f4f6}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:rgba(0,0,0,.6);display:flex;align-items:flex-start;justify-content:center;z-index:1000;padding:0;overflow-y:auto;overflow-x:hidden}.modal-content{background-color:white;border-radius:.75rem;box-shadow:0 10px 25px rgba(0,0,0,.15);width:100%;max-width:500px;position:relative;animation:fadeInModal .3s ease;margin:3rem auto;max-height:calc(100vh - 6rem);overflow-y:auto}@keyframes fadeInModal{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}body.modal-open{overflow:hidden}.modal-header{height:.375rem;background:linear-gradient(to right,var(--primary),var(--accent),var(--primary))}.close-button{position:absolute;top:.75rem;right:.75rem;color:#9ca3af;background-color:transparent;border:none;display:flex;align-items:center;justify-content:center;width:1.5rem;height:1.5rem;border-radius:9999px;transition:all .2s ease;z-index:10}.close-button:hover{color:#4b5563}.close-button svg{width:1.5rem;height:1.5rem}.modal-body{padding:1.5rem}.modal-body h2{font-size:1.25rem;color:var(--primary-dark);margin-bottom:.25rem}@media (min-width:768px){.modal-body h2{font-size:1.5rem}}.subtitle{font-size:.875rem;color:#6b7280;margin-bottom:1.25rem}@media (min-width:768px){.subtitle{margin-bottom:1.5rem}}.presente-preview{display:flex;align-items:center;gap:.75rem;padding:.75rem;background-color:var(--secondary);border-radius:.5rem;margin-bottom:1.5rem}.presente-preview-image{position:relative;width:3.5rem;height:3.5rem;border-radius:.375rem;overflow:hidden;flex-shrink:0;border:1px solid rgba(185,124,138,.1)}@media (min-width:768px){.presente-preview-image{width:4rem;height:4rem}}.presente-preview-image img{width:100%;height:100%;object-fit:cover}.image-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background-color:rgba(185,124,138,.1);color:var(--primary-dark)}.image-placeholder svg{width:1.75rem;height:1.75rem}@media (min-width:768px){.image-placeholder svg{width:2rem;height:2rem}}.presente-preview-details h3{font-size:1rem;color:var(--primary-dark)}@media (min-width:768px){.presente-preview-details h3{font-size:1.125rem}}.presente-preview-details p{font-size:.8125rem;color:#4b5563;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}@media (min-width:768px){.presente-preview-details p{font-size:.875rem}}.error-message{background-color:#fef2f2;color:#dc2626;padding:.75rem;border-radius:.375rem;font-size:.875rem}.error-message,.form-group{margin-bottom:1rem}.form-group:last-of-type{margin-bottom:1.5rem}.form-group label{display:block;font-size:.875rem;font-weight:500;color:#374151;margin-bottom:.25rem}.form-group input{width:100%;padding:.75rem;border:1px solid #d1d5db;border-radius:.375rem;transition:all .3s ease;outline:none;font-size:.9375rem}@media (min-width:768px){.form-group input{font-size:1rem}}.form-group input:focus{border-color:var(--primary);box-shadow:0 0 0 3px rgba(216,180,192,.2)}.field-hint{font-size:.75rem;color:#6b7280;margin-top:.25rem}.button-group{display:flex;justify-content:space-between;gap:.5rem}@media (min-width:768px){.button-group{gap:.75rem}}.button-group button{flex:1}.success-message{padding:1.5rem 0}@media (min-width:768px){.success-message{padding:2rem 0}}.success-icon{width:3.5rem;height:3.5rem;background-color:#d1fae5;border-radius:9999px;display:flex;align-items:center;justify-content:center;margin:0 auto .75rem}@media (min-width:768px){.success-icon{width:4rem;height:4rem;margin:0 auto 1rem}}.success-icon svg{width:1.75rem;height:1.75rem;color:#059669}@media (min-width:768px){.success-icon svg{width:2rem;height:2rem}}.success-message h3{font-size:1.125rem;color:var(--primary-dark);margin-bottom:.375rem}@media (min-width:768px){.success-message h3{font-size:1.25rem;margin-bottom:.5rem}}.success-message p{color:#4b5563;font-size:.9375rem}@media (min-width:768px){.success-message p{font-size:1rem}}.reservado-info .confirmado-texto{color:#b97c8a;font-weight:500}.reservado-info .confirmado-texto span{color:#b97c8a}.multiplas-reservas-info{display:flex;flex-direction:column;gap:10px}.multiplas-reservas-info .disponibilidade{background-color:var(--secondary);padding:10px 14px;border-radius:20px;font-size:.9rem;text-align:center;color:var(--primary-dark);font-weight:600;border:1px solid rgba(185,124,138,.2)}.reservas-lista{display:flex;flex-direction:column;gap:4px;max-height:150px;overflow-y:auto;scrollbar-width:thin;padding:8px 0}.reserva-item{padding:6px 10px;background-color:var(--secondary-light,#f9f3f5);border-radius:4px;font-size:.85rem;margin:0}.reserva-item span{font-weight:500;color:var(--primary)}.reservas-lista::-webkit-scrollbar{width:4px}.reservas-lista::-webkit-scrollbar-track{background:#f1f1f1;border-radius:10px}.reservas-lista::-webkit-scrollbar-thumb{background:var(--primary-light,#dbbfc7);border-radius:10px}.confirm-modal{max-width:500px}.confirm-text{margin-bottom:16px;line-height:1.5}.confirm-presente-details{background-color:#f9f3f5;padding:16px;border-radius:8px;margin-bottom:16px}.confirm-presente-details h4{margin:0 0 8px;color:#b97c8a}.confirm-presente-details p{margin:0;font-size:.9em}.confirm-help-text{font-size:.9em;color:#666;margin-bottom:0}.confirm-button{background-color:#4caf50;border-radius:25px;padding:10px 20px;font-size:16px;transition:background-color .3s;display:flex;align-items:center;justify-content:center;gap:8px;min-width:160px}.confirm-button:hover{background-color:#388e3c}.confirm-button:disabled{background-color:#9e9e9e}.success-message{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:30px 20px;animation:fadeScale .5s cubic-bezier(.16,1,.3,1)}@keyframes fadeScale{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.success-message h3{color:#4caf50;margin:16px 0 8px}.success-message p{margin:0;color:#666}.checkmark{width:56px;height:56px;margin-bottom:16px}.checkmark-circle{stroke-dasharray:166;stroke-dashoffset:166;stroke-width:2;stroke-miterlimit:10;stroke:#4caf50;fill:none;animation:stroke .6s cubic-bezier(.65,0,.45,1) forwards}.checkmark-check{transform-origin:50% 50%;stroke-dasharray:48;stroke-dashoffset:48;stroke-width:3;stroke:#4caf50;animation:stroke .3s cubic-bezier(.65,0,.45,1) .8s forwards}@keyframes stroke{to{stroke-dashoffset:0}}.reservado-badge.confirmado{background-color:#4caf50}.reservado-badge.confirmado p{color:white}.confirmation-container{text-align:center;padding:1.5rem 1rem;animation:popIn .5s cubic-bezier(.16,1,.3,1)}@keyframes popIn{0%{opacity:0;transform:scale(.9)}40%{transform:scale(1.03)}60%{transform:scale(.98)}to{opacity:1;transform:scale(1)}}.confirmation-title{font-size:1.25rem;color:var(--primary-dark);margin-bottom:1rem;font-weight:600}.confirmation-message{font-size:1rem;color:var(--text);margin-bottom:1.5rem;line-height:1.5}.confirmation-message strong{color:var(--primary-dark);font-weight:600;position:relative;display:inline-block}.confirmation-message strong:after{content:"";position:absolute;bottom:-2px;left:0;width:100%;height:4px;background-color:rgba(185,124,138,.2);border-radius:2px}.confirmation-message .reservation-count{display:block;margin-top:10px;font-size:.85rem;color:#666;font-style:italic}.reserva-multipla-info{margin-top:12px;background-color:var(--secondary-light,#f9f3f5);padding:10px 12px;border-radius:8px;border:1px dashed rgba(185,124,138,.25)}.disponibilidade-badge{display:inline-block;background-color:var(--secondary);color:var(--primary-dark);font-size:.9rem;padding:8px 14px;border-radius:12px;margin:0;font-weight:600;text-align:center;border:1px solid rgba(185,124,138,.2)}.confirmation-buttons{display:flex;justify-content:center;gap:1rem;animation:bounceIn .6s .2s both}@keyframes bounceIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.cancel-button,.confirm-button{display:flex;align-items:center;justify-content:center;gap:6px}.cancel-button{background-color:#ffebee;color:#e53935;border:1px solid #ffcdd2;padding:.75rem 1.5rem;border-radius:2rem;font-size:.9375rem;font-weight:500;transition:all .3s ease;min-width:100px;box-shadow:0 2px 5px rgba(0,0,0,.05)}.cancel-button:hover{background-color:#ffcdd2;border-color:#ef9a9a;transform:translateY(-2px);box-shadow:0 4px 8px rgba(0,0,0,.1)}.cancel-button:active{transform:translateY(0)}.cancel-button:disabled{opacity:.6;cursor:not-allowed;transform:none;box-shadow:none}.confirm-button{background:linear-gradient(135deg,#66bb6a,#43a047);color:white;border:none;border-radius:2rem;padding:.75rem 1.5rem;font-size:.9375rem;font-weight:500;cursor:pointer;transition:all .3s ease;min-width:100px;box-shadow:0 2px 5px rgba(0,0,0,.1)}.confirm-button:hover{background:linear-gradient(135deg,#43a047,#2e7d32);transform:translateY(-2px);box-shadow:0 4px 8px rgba(0,0,0,.15)}.confirm-button:active{transform:translateY(0)}.confirm-button:disabled{background:#9e9e9e;cursor:not-allowed;transform:none;box-shadow:none}.button-spinner{width:16px;height:16px;border-radius:50%;border:2px solid rgba(255,255,255,.3);border-top-color:white;animation:spin 1s linear infinite}.cancel-icon,.confirm-icon{margin-right:2px}.confirm-button:hover .confirm-icon{animation:pulse .6s infinite}.cancel-button:hover .cancel-icon{animation:shake .6s}@keyframes pulse{0%{transform:scale(1)}50%{transform:scale(1.1)}to{transform:scale(1)}}@keyframes shake{0%,to{transform:translateX(0)}20%,60%{transform:translateX(-2px)}40%,80%{transform:translateX(2px)}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}.reservation-count{font-size:.9em;color:#666;margin-top:8px;display:block}.reservation-count .available-count{color:var(--primary);font-weight:600;display:inline-block;padding:4px 10px;border-radius:20px;background-color:rgba(185,124,138,.1);margin-top:4px}.reservado-badge{background-color:var(--primary);color:white;padding:6px 12px;border-radius:20px;font-size:.9rem;font-weight:500;box-shadow:0 2px 5px rgba(0,0,0,.1);display:inline-block}.reservado-por-titulo{font-size:.95rem;color:var(--primary-dark);margin:0 0 8px;font-weight:500;text-align:center;border-bottom:1px solid rgba(185,124,138,.2);padding-bottom:6px;font-family:var(--font-serif)}.presente-details{padding:1.25rem;flex-grow:1;display:flex;flex-direction:column}@media (min-width:768px){.presente-details{padding:1.5rem}}.presente-details h3{font-size:1.125rem;color:var(--primary-dark);margin-bottom:.5rem;font-family:var(--font-sans);font-weight:600}@media (min-width:768px){.presente-details h3{font-size:1.25rem}}.presente-descricao{font-size:.875rem;color:rgba(66,55,58,.8);margin-bottom:1rem;flex-grow:1}.reservantes-lista{display:flex;flex-direction:column;gap:3px;max-height:110px;overflow-y:auto;margin:0;padding:0 2px 2px 0;scrollbar-width:thin;scrollbar-color:rgba(185,124,138,.3) transparent}.reservante-item{padding:4px 8px;background-color:rgba(249,243,245,.7);border-radius:4px;margin-bottom:2px;border-left:2px solid var(--primary);transition:background-color .2s ease}.reservante-item:hover{background-color:rgba(249,243,245,.9)}.reservante-nome{font-size:.8rem;font-weight:500;color:var(--primary-dark);display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.categoria-filter{margin-top:2rem;padding:1rem;position:relative;z-index:2;border-top:1px solid rgba(185,124,138,.15);border-bottom:1px solid rgba(185,124,138,.15);background-color:rgba(249,243,245,.5)}.categoria-title{text-align:center;font-size:1.1rem;color:var(--primary-dark);margin-bottom:.75rem;font-family:var(--font-serif);font-weight:500}.categoria-buttons{display:flex;flex-wrap:wrap;justify-content:center;gap:.75rem;max-width:800px;margin:0 auto}.categoria-button{background-color:white;color:var(--primary-dark);border:1px solid rgba(185,124,138,.3);padding:.6rem 1.2rem;border-radius:2rem;font-size:.9rem;transition:all .3s ease;box-shadow:0 2px 4px rgba(0,0,0,.05);font-family:var(--font-serif)}.categoria-button:hover{background-color:rgba(216,180,192,.1);transform:translateY(-2px);box-shadow:0 4px 8px rgba(0,0,0,.08)}.categoria-button.active{background-color:var(--primary);color:white;box-shadow:0 4px 8px rgba(0,0,0,.1);font-weight:500}@media (max-width:480px){.categoria-buttons{gap:.4rem}.categoria-button{font-size:.75rem;padding:.4rem .8rem}}select.form-input{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23b97c8a' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .7rem center;background-size:1em;padding-right:2.5rem;cursor:pointer}select.form-input:focus{border-color:var(--primary);box-shadow:0 0 0 3px rgba(185,124,138,.2);outline:none}.reserva-modal-overlay{overflow-y:auto!important;align-items:flex-start!important;padding-top:2vh!important;padding-bottom:2vh!important}.reserva-modal-content{margin:3vh auto!important;max-height:94vh!important}.categoria-section{margin-bottom:3rem}.categoria-heading{text-align:center;color:var(--primary-dark);font-family:var(--font-serif);font-size:1.75rem;margin-bottom:1.5rem;position:relative;padding-bottom:1rem}.categoria-heading:after{content:"";position:absolute;bottom:0;left:50%;transform:translateX(-50%);width:80px;height:2px;background:linear-gradient(90deg,transparent,var(--gold),transparent)}.categoria-heading:before{content:"✦";display:block;font-size:.9rem;color:var(--gold);opacity:.9;margin-bottom:.25rem}