@import"https://fonts.googleapis.com/css2?family=Cinzel:wght@400;500;600;700&display=swap";*{margin:0;padding:0;box-sizing:border-box}:root{font-family:Cinzel,serif;line-height:1.6;font-weight:400;color:#2c3e50;background-color:#fff;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--primary-color: #5e5e5e;--white-color: #ffffff;--tertiary-color: #f8f9fa;--font-primary: "Cinzel", serif;--font-secondary: "Lato", sans-serif;--section-title-size: clamp(1.9rem, 5vw, 3rem)}body{margin:0;min-width:320px;min-height:100vh;overflow-x:hidden;font-family:Cinzel,serif}#root{width:100%}button{font-family:inherit}h2{font-family:Cinzel,serif!important}img{max-width:100%;height:auto;display:block}.header{position:fixed;top:0;left:0;width:100%;background:#fffffff2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 2px 10px #0000001a;z-index:100;padding:15px 20px}.header-container{max-width:1400px;display:flex;justify-content:space-between;align-items:center;gap:20px;margin:0 auto 0 3px}.logo{font-size:clamp(1.2rem,2.5vw,1.5rem);font-weight:500;color:#2c3e50;letter-spacing:1px}.nav-menu{display:flex;gap:15px;align-items:center}.nav-link{background:none;border:none;color:#2c3e50;font-size:.9rem;font-weight:500;padding:8px 16px;cursor:pointer;transition:all .3s ease;border-radius:6px;position:relative}.nav-link:after{content:"";position:absolute;bottom:0;left:50%;transform:translate(-50%);width:0;height:2px;background:linear-gradient(135deg,#667eea,#764ba2);transition:width .3s ease}.nav-link:hover{color:#667eea;background:#667eea0d}.nav-link:hover:after{width:80%}.hamburger{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:5px;z-index:102}.hamburger span{width:25px;height:3px;background:#2c3e50;border-radius:3px;transition:all .3s ease}.hamburger.active span:nth-child(1){transform:rotate(45deg) translate(7px,7px)}.hamburger.active span:nth-child(2){opacity:0}.hamburger.active span:nth-child(3){transform:rotate(-45deg) translate(7px,-7px)}.mobile-menu{position:fixed;top:0;right:-100%;width:100%;height:100vh;transition:right .3s ease;z-index:101}.mobile-menu.open{right:0}.mobile-menu-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:#00000080;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.mobile-menu-content{position:absolute;top:0;right:0;width:280px;height:100%;background:#fff;box-shadow:-5px 0 20px #0000001a;display:flex;flex-direction:column;padding:0;animation:slideIn .3s ease;overflow-y:auto}@keyframes slideIn{0%{transform:translate(100%)}to{transform:translate(0)}}.mobile-menu-header{padding:30px 25px 20px;background:var(--primary-color);display:flex;flex-direction:column;align-items:center}.mobile-menu-photo{width:100px;height:100px;border-radius:50%;object-fit:cover;border:4px solid white;box-shadow:0 4px 15px #0003;margin-bottom:15px}.mobile-menu-title{color:#fff;font-size:1.5rem;font-weight:500;letter-spacing:1px;margin:0;text-align:center}.mobile-menu-divider{width:60px;height:3px;background:#fff;margin:15px auto 0;border-radius:2px}.mobile-nav-link{background:none;border:none;color:#2c3e50;font-size:1rem;font-weight:500;padding:18px 30px;cursor:pointer;transition:all .3s ease;text-align:left;border-left:3px solid transparent;font-family:var(--font-secondary)}.mobile-nav-link:hover{background:#667eea0d;color:#667eea;border-left-color:#667eea}@media(max-width:1024px){.nav-menu{gap:10px}.nav-link{font-size:.85rem;padding:8px 12px}}@media(max-width:768px){.nav-menu{gap:8px}.nav-link{font-size:.8rem;padding:6px 10px}}@media(max-width:640px){.desktop-menu{display:none}.hamburger{display:flex}}@media(max-width:480px){.header{padding:12px 15px}.mobile-menu-content{width:250px}.mobile-nav-link{font-size:.95rem;padding:16px 25px}}.hero-section{width:100%;height:100vh;min-height:500px;background-image:url(/images/foto-capa.jpeg);background-size:100%;background-position:center 24%;background-repeat:no-repeat;position:relative;display:flex;align-items:center;justify-content:center}.hero-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(to bottom,#0000004d,#00000080);display:flex;align-items:center;justify-content:center}.hero-content{text-align:center;color:#fff;padding:20px;animation:fadeInUp 1s ease-out}.couple-names{font-size:clamp(2.5rem,8vw,5rem);font-weight:300;margin:0;letter-spacing:2px;text-shadow:2px 2px 4px rgba(0,0,0,.5)}.wedding-date{font-size:clamp(1.2rem,3vw,1.8rem);font-weight:300;margin-top:20px;letter-spacing:3px;text-shadow:1px 1px 3px rgba(0,0,0,.5);font-family:Lato,sans-serif}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@media(max-width:768px){.hero-section{height:80vh;min-height:450px}.couple-names{letter-spacing:1px}.wedding-date{letter-spacing:2px;margin-top:15px}}@media(max-width:480px){.hero-section{height:70vh;min-height:400px}.hero-content{padding:15px}.wedding-date{margin-top:10px}}.welcome-section{padding:80px 20px;background:linear-gradient(135deg,#f8f9fa,#e9ecef)}.container{max-width:800px;margin:0 auto}.welcome-content{text-align:center;animation:fadeIn 1s ease-out}.section-title{font-size:var(--section-title-size);font-weight:300;margin:0 0 30px;color:#2c3e50;letter-spacing:1px}.welcome-text{font-size:clamp(1rem,2vw,1.2rem);line-height:1.8;color:#555;margin:0 0 20px;text-align:justify}@media(max-width:768px){.welcome-section{padding:60px 20px}.section-title{margin-bottom:25px}.welcome-text{text-align:left}}@media(max-width:480px){.welcome-section{padding:50px 15px}.section-title{margin-bottom:20px}.welcome-text{margin-bottom:15px}}.countdown-section{padding:80px 20px;background:var(--primary-color);color:var(--white-color)}.countdown-wrapper{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;width:min-content;margin:64px auto 0;text-align:center}.countdown-item{background:var(--white-color);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);display:flex;width:100px;height:100px;flex-direction:column;justify-content:center;align-items:center;border:2px solid rgba(255,255,255,.2);border-radius:8px}.countdown-number{font-size:clamp(1.6rem,4vw,2.4rem);font-weight:700;margin-bottom:-5px;font-family:var(--font-secondary);color:var(--primary-color)}.countdown-label{font-size:clamp(.7rem,1.4vw,.95rem);font-weight:600;text-transform:uppercase;font-family:var(--font-secondary);color:var(--primary-color)}.countdown-section-title{font-size:var(--section-title-size);font-weight:300;margin:0;text-align:center;letter-spacing:1px;text-shadow:2px 2px 4px rgba(0,0,0,.2);color:#fff}@media(max-width:768px){.countdown-section{padding:60px 20px}.countdown-wrapper{gap:10px;margin-top:30px;width:100%;max-width:450px}.countdown-item{width:auto;height:90px}.countdown-number{font-size:2rem;margin-bottom:-3px}.countdown-label{font-size:.7rem;letter-spacing:.5px}}@media(max-width:480px){.countdown-section{padding:50px 15px}.countdown-wrapper{gap:8px;margin-top:25px;width:100%;max-width:100%;padding:0 10px}.countdown-item{width:auto;height:75px}.countdown-number{font-size:1.5rem;margin-bottom:-2px}.countdown-label{font-size:.6rem;letter-spacing:.3px;line-height:1.1}}@media(max-width:360px){.countdown-wrapper{gap:6px;padding:0 5px}.countdown-item{height:70px}.countdown-number{font-size:1.3rem}.countdown-label{font-size:.55rem}}.couple-section{padding:80px 20px;background:#fff}.couple-content{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center;margin-top:50px}.couple-image{width:100%;overflow:hidden;border-radius:15px;box-shadow:0 10px 40px #00000026;position:relative;aspect-ratio:3/4;cursor:grab;-webkit-user-select:none;user-select:none}.couple-image:active{cursor:grabbing}.couple-image img{width:100%;height:100%;display:block;object-fit:cover;position:absolute;top:0;left:0;transition:opacity 1s ease-in-out}.carousel-image.fade-in{opacity:1}.carousel-image.fade-out{opacity:0}.carousel-indicators{position:absolute;bottom:15px;left:50%;transform:translate(-50%);display:flex;gap:10px;z-index:10}.carousel-indicators .indicator{width:12px;height:12px;border-radius:50%;background:#ffffff80;border:2px solid rgba(255,255,255,.8);cursor:pointer;transition:all .3s ease;padding:0}.carousel-indicators .indicator:hover{background:#fffc;transform:scale(1.2)}.carousel-indicators .indicator.active{background:#fff;width:30px;border-radius:6px}.couple-image:hover img{transform:scale(1.05)}.carousel-arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:10;background:#fff0;border:none;border-radius:50%;width:40px;height:40px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:#fff9;transition:background .2s ease,transform .2s ease,color .2s ease;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.carousel-arrow:hover{background:#ffffff1a;color:#fff;transform:translateY(-50%) scale(1.1)}.carousel-arrow svg{width:20px;height:20px}.carousel-arrow-left{left:12px}.carousel-arrow-right{right:12px}.couple-story h3{font-size:clamp(1.5rem,3vw,2rem);font-weight:300;margin:0 0 25px;color:#2c3e50}.couple-story p{font-size:clamp(1rem,2vw,1.1rem);line-height:1.8;color:#555;margin:0 0 20px;text-align:justify}.section-title{font-size:var(--section-title-size);font-weight:300;margin:0;text-align:center;color:#2c3e50;letter-spacing:1px}@media(max-width:1024px){.couple-section{padding:60px 20px}.couple-content{gap:40px;margin-top:40px}}@media(max-width:768px){.couple-content{grid-template-columns:1fr;gap:30px;margin-top:30px}.couple-story p{text-align:left}}@media(max-width:480px){.couple-section{padding:50px 15px}.couple-content{gap:25px;margin-top:25px}.couple-story h3{margin-bottom:20px}.couple-story p{margin-bottom:15px}}.venue-section{padding:100px 20px;background:var(--tertiary-color);color:var(--primary-color);font-family:var(--font-secondary)}.venue-section-title{font-size:var(--section-title-size);font-weight:300;margin:0;text-align:center;letter-spacing:2px;text-transform:uppercase;color:var(--primary-color)}.venue-content{display:flex;flex-direction:column;align-items:center;max-width:560px;margin:64px auto 0;gap:0}.venue-item{width:100%;text-align:center}.venue-label{font-size:clamp(1.1rem,2.5vw,1.4rem);font-weight:600;letter-spacing:4px;text-transform:uppercase;margin-bottom:20px}.venue-divider{width:40px;height:1px;background:#5e5e5e4d;margin:0 auto 28px}.venue-photo{display:block;width:220px;height:220px!important;object-fit:cover;border-radius:50%;margin:0 auto 28px;opacity:.92}.venue-details{margin-bottom:28px}.venue-date{font-size:clamp(.85rem,1.8vw,.95rem);font-weight:400;letter-spacing:3px;text-transform:uppercase;opacity:.6;margin:0 0 14px}.venue-name{font-size:clamp(1.3rem,3vw,1.7rem);font-weight:300;letter-spacing:.5px;margin:0 0 10px;line-height:1.3}.venue-details{margin-bottom:28px;width:100%;max-width:420px;margin-left:auto;margin-right:auto}.venue-info-row{display:flex;align-items:baseline;gap:12px;padding:10px 0;border-bottom:1px solid rgba(94,94,94,.15);text-align:left}.venue-info-row:first-child{border-top:1px solid rgba(94,94,94,.15)}.venue-info-label{font-size:.72rem;font-weight:600;letter-spacing:2.5px;text-transform:uppercase;opacity:.5;min-width:80px;flex-shrink:0}.venue-info-value{font-size:clamp(.9rem,2vw,1rem);font-weight:300;line-height:1.5;opacity:.95}.venue-separator{width:1px;height:60px;background:#5e5e5e40;margin:40px auto}.venue-map-buttons{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;margin-bottom:24px}.venue-map-embed{width:100%;max-width:560px;margin:0 auto;border-radius:12px;overflow:hidden;box-shadow:0 2px 16px #0000001a}.venue-map-embed iframe{display:block;width:100%}.map-btn{display:inline-flex;align-items:center;gap:8px;padding:12px 22px;border-radius:50px;font-size:.85rem;font-weight:600;letter-spacing:.3px;text-decoration:none;transition:opacity .2s ease,transform .2s ease,box-shadow .2s ease;box-shadow:0 2px 8px #0000001f}.map-btn:hover{opacity:.9;transform:translateY(-2px);box-shadow:0 6px 16px #00000029}.google-btn{background:#fff;color:#333;border:1px solid rgba(0,0,0,.08)}.waze-btn{background:#3cf;color:#1a1a2e}@media(max-width:768px){.venue-section{padding:80px 20px}.venue-content{margin-top:48px}.venue-separator{height:48px;margin:32px auto}}@media(max-width:480px){.venue-section{padding:60px 16px}.venue-content{margin-top:40px}.venue-photo{height:200px}.map-btn{padding:9px 16px;font-size:.8rem}}.dresscode-section{padding:80px 20px;background:var(--white-color)}.dresscode-content{max-width:900px;margin:40px auto 0;text-align:center}.dresscode-icon{font-size:clamp(3.5rem,7vw,5rem);margin-bottom:30px}.dresscode-description{font-size:clamp(1.1rem,2.5vw,1.3rem);line-height:1.8;color:#2c3e50;margin:0 0 40px}.dresscode-description strong{font-weight:600;color:#1a1a1a}.dresscode-details{display:grid;grid-template-columns:repeat(2,1fr);gap:40px;margin-top:40px}.dresscode-column{background:#ffffffb3;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:15px;padding:30px;border:2px solid var(--primary-color);transition:transform .3s ease,box-shadow .3s ease}.dresscode-column:hover{transform:translateY(-5px)}.column-icon{font-size:clamp(2.5rem,5vw,3rem);margin-bottom:15px;filter:drop-shadow(0 2px 4px rgba(0,0,0,.1))}.column-icon img{width:clamp(50px,10vw,80px);height:auto;display:block;margin:0 auto}.dresscode-column h3{font-size:clamp(1.3rem,2.5vw,1.6rem);font-weight:500;margin:0 0 15px;color:#2c3e50;font-family:Georgia,serif}.dresscode-column p{font-size:clamp(1rem,2vw,1.1rem);line-height:1.7;color:#555;margin:0}.section-title{font-size:var(--section-title-size);font-weight:300;margin:0;text-align:center;color:#2c3e50;font-family:Georgia,serif;letter-spacing:1px}@media(max-width:768px){.dresscode-section{padding:60px 20px}.dresscode-content{margin-top:35px}.dresscode-details{grid-template-columns:1fr;gap:25px;margin-top:30px}.dresscode-column{padding:25px}}@media(max-width:480px){.dresscode-section{padding:50px 15px}.dresscode-content{margin-top:30px}.dresscode-icon{margin-bottom:20px}.dresscode-description{margin-bottom:30px}.dresscode-details{gap:20px;margin-top:25px}.dresscode-column{padding:20px}.dresscode-column h3{margin-bottom:12px}}.confirm-presence-section{padding:80px 20px;background:var(--tertiary-color);font-family:var(--font-secondary)}.confirm-presence-section .container{max-width:800px;margin:0 auto}.confirm-presence-section .section-title{font-size:var(--section-title-size);color:#2c3e50;text-align:center;margin-bottom:40px}.not-found-message{background:#fff3cd;border:2px solid #ffc107;border-radius:10px;padding:20px;margin-bottom:30px;text-align:center}.not-found-message p{margin:0 0 10px;color:#856404;font-size:1rem;font-weight:600}.not-found-message p:last-child{margin-bottom:0}.help-text{font-size:.95rem!important;font-weight:400!important;color:#856404!important}.confirm-presence-search-form{background:#fff;padding:40px;border-radius:15px;box-shadow:0 4px 15px #0000001a}.search-group{display:flex;gap:15px;flex-wrap:wrap}.search-label{width:100%;font-size:1rem;font-weight:600;color:#2c3e50;margin-bottom:-10px}.search-input{flex:1;min-width:250px;padding:15px 20px;font-size:1rem;border:2px solid #e0e0e0;border-radius:8px;transition:border-color .3s}.search-input:focus{outline:none;border-color:#667eea}.search-button{padding:15px 40px;font-size:1rem;font-weight:600;color:#fff;background:var(--primary-color);border:none;border-radius:8px;cursor:pointer;transition:transform .2s,box-shadow .2s}.search-button:hover{transform:translateY(-2px);box-shadow:0 5px 15px #667eea66}.search-button:active{transform:translateY(0)}.search-button:disabled{opacity:.6;cursor:not-allowed;transform:none}.error-message{margin-top:20px;padding:15px;background-color:#fee;border:1px solid #fcc;border-radius:8px;color:#c33;text-align:center}.search-results{margin-top:30px}.results-container{background:#fff;padding:40px;border-radius:15px;box-shadow:0 4px 15px #0000001a}.new-search-button{margin-top:25px;padding:15px 40px;font-size:1rem;font-weight:600;color:#667eea;background:#fff;border:2px solid #667eea;border-radius:8px;cursor:pointer;transition:all .3s;width:100%;display:block}.new-search-button:hover{background:#667eea;color:#fff;transform:translateY(-2px);box-shadow:0 4px 12px #667eea4d}.new-search-button:active{transform:translateY(0)}.no-results{text-align:center;padding:30px;background:transparent;border-radius:10px;color:#666;font-size:1.1rem}.invitations-list{background:transparent;padding:0;border-radius:10px;box-shadow:none}.results-title{font-size:1.3rem;color:#2c3e50;margin-bottom:20px;font-weight:600}.invitations-items{list-style:none;padding:0;margin:0}.invitation-item{padding:20px;margin-bottom:15px;background:#fff;border-radius:10px;border:2px solid #e9ecef;transition:transform .2s,box-shadow .2s,border-color .2s;display:flex;justify-content:space-between;align-items:center;gap:20px}.invitation-item:hover{transform:translateY(-2px);box-shadow:0 4px 12px #667eea26;border-color:#667eea}.invitation-item:last-child{margin-bottom:0}.invitation-info{flex:1;display:flex;flex-direction:column;gap:8px}.invitation-name{font-size:1.2rem;font-weight:700;color:#2c3e50;display:block}.invitation-phone{font-size:.95rem;color:#6c757d;display:block}.select-button{padding:12px 24px;font-size:.95rem;font-weight:600;color:#fff;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;cursor:pointer;transition:transform .2s,box-shadow .2s;white-space:nowrap}.select-button:hover{transform:scale(1.05);box-shadow:0 4px 12px #667eea66}.select-button:active{transform:scale(.98)}.verification-section{text-align:center;font-family:var(--font-secondary)}.verification-title{font-size:1.2rem;font-weight:600;color:#2c3e50;margin-bottom:20px}.verification-instruction{font-size:1rem;color:#666;margin-bottom:10px}.verification-phone{font-size:1.1rem;font-weight:700;color:#667eea;margin-bottom:30px}.code-inputs{display:flex;justify-content:center;gap:15px;margin-bottom:20px}.code-input{width:60px;height:60px;font-size:2rem;font-weight:700;text-align:center;border:2px solid #e0e0e0;border-radius:10px;transition:border-color .3s,transform .2s}.code-input:focus{outline:none;border-color:#667eea;transform:scale(1.05)}.verification-error{color:#dc3545;font-size:.95rem;font-weight:600;margin-bottom:20px}.verification-buttons{display:flex;flex-direction:column;gap:15px}.validate-button{padding:15px 40px;font-size:1rem;font-weight:600;color:#fff;background:linear-gradient(135deg,#28a745,#20c997);border:none;border-radius:8px;cursor:pointer;transition:transform .2s,box-shadow .2s}.validate-button:hover{transform:translateY(-2px);box-shadow:0 4px 12px #28a74566}.validate-button:active{transform:translateY(0)}.guests-confirmation-section{text-align:center}.confirmation-title{font-size:1.5rem;font-weight:700;color:#2c3e50;margin-bottom:10px}.confirmation-subtitle{font-size:1.1rem;color:#667eea;font-weight:600;margin-bottom:30px}.guests-list{list-style:none;padding:0;margin:0 0 30px}.guest-item{background:#f8f9fa;border-radius:10px;padding:20px;margin-bottom:15px;border:2px solid #e9ecef;transition:border-color .3s}.guest-item:hover{border-color:#667eea}.guest-name{display:block;font-size:1.2rem;font-weight:700;color:#2c3e50;margin-bottom:15px}.guest-options{display:flex;gap:10px;justify-content:center}.option-button{flex:1;max-width:200px;padding:12px 20px;font-size:.95rem;font-weight:600;border:2px solid #dee2e6;border-radius:8px;background:#fff;color:#6c757d;cursor:pointer;transition:all .3s}.option-button:hover{transform:translateY(-2px);box-shadow:0 3px 10px #0000001a}.option-button.confirm-yes.active{background:linear-gradient(135deg,#28a745,#20c997);border-color:#28a745;color:#fff}.option-button.confirm-no.active{background:linear-gradient(135deg,#dc3545,#c82333);border-color:#dc3545;color:#fff}.submit-confirmation-button{width:100%;padding:15px 40px;font-size:1.1rem;font-weight:700;color:#fff;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;cursor:pointer;transition:transform .2s,box-shadow .2s}.submit-confirmation-button:hover{transform:translateY(-2px);box-shadow:0 5px 15px #667eea66}.submit-confirmation-button:active{transform:translateY(0)}.submit-confirmation-button:disabled{opacity:.6;cursor:not-allowed;transform:none}.success-message-section{text-align:center;padding:40px 20px}.success-icon{width:80px;height:80px;background:linear-gradient(135deg,#28a745,#20c997);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:3rem;color:#fff;margin:0 auto 30px;animation:scaleIn .5s ease-out}@keyframes scaleIn{0%{transform:scale(0)}50%{transform:scale(1.1)}to{transform:scale(1)}}.success-title{font-size:1.8rem;font-weight:700;color:#28a745;margin-bottom:20px}.success-message{font-size:1.1rem;color:#6c757d;line-height:1.6;margin-bottom:30px;max-width:600px;margin-left:auto;margin-right:auto}@media(max-width:768px){.confirm-presence-section{padding:60px 15px}.confirm-presence-section .section-title{font-size:2rem}.not-found-message{padding:15px;font-size:.9rem}.confirm-presence-search-form,.results-container{padding:30px 20px}.search-group{flex-direction:column}.search-input{min-width:100%}.search-button{width:100%}.invitation-item{flex-direction:column;align-items:flex-start}.select-button{width:100%}.new-search-button{padding:12px 30px;font-size:.95rem}.code-inputs{gap:10px}.code-input{width:50px;height:50px;font-size:1.5rem}.verification-title{font-size:1.1rem}.verification-phone{font-size:1rem}.guest-options{flex-direction:column}.option-button{max-width:100%}.confirmation-title{font-size:1.3rem}.confirmation-subtitle{font-size:1rem}.success-icon{width:60px;height:60px;font-size:2rem}.success-title{font-size:1.5rem}.success-message{font-size:1rem}}.gift-list-section{padding:80px 20px;background:var(--white-color);display:flex;flex-direction:column;align-items:center;font-family:var(--font-secondary)}.gift-list-section .container{width:100%;max-width:1200px;display:flex;flex-direction:column}.section-title{font-size:var(--section-title-size);font-weight:300;margin:0 0 2rem;text-align:center;color:#2c3e50;letter-spacing:1px}.loading-message,.error-message{text-align:center;padding:3rem 2rem;margin:2rem 0;border-radius:12px}.loading-message{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;font-size:1.2rem;animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}.error-message{background:#ffebee;color:#c62828;border:2px solid #ef5350}.error-message p{margin-bottom:1rem;font-size:1.1rem}.error-message button{padding:.75rem 1.5rem;background:#c62828;color:#fff;border:none;border-radius:6px;font-size:1rem;cursor:pointer;transition:background .3s}.error-message button:hover{background:#b71c1c}.controls-container{display:flex;justify-content:space-between;align-items:center;gap:20px;margin:0 0 30px;flex-wrap:wrap}.cart-button-list{display:flex;align-items:center;gap:10px;padding:12px 24px;background:#fff;color:var(--primary-color);border:2px solid var(--primary-color);border-radius:25px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;position:relative;box-shadow:0 2px 8px #667eea26}.cart-button-list:hover{transform:translateY(-2px);box-shadow:0 4px 12px #667eea40;background:#667eea0d}.cart-button-list.has-items{background:var(--primary-color);color:#fff;border-color:transparent;box-shadow:0 4px 15px #667eea66}.cart-button-list.has-items:hover{transform:translateY(-2px);box-shadow:0 6px 20px #667eea80}.cart-button-list .cart-icon{width:20px;height:20px}.cart-badge-list{position:absolute;top:-8px;right:-8px;background:#f5576c;color:#fff;width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:700;border:2px solid white}.sort-controls{display:flex;align-items:center;gap:10px;flex-wrap:nowrap}.sort-controls label{font-size:clamp(.95rem,2vw,1.05rem);color:#2c3e50;font-weight:500;white-space:nowrap;flex-shrink:0}.sort-select{padding:10px 16px;font-size:clamp(.9rem,2vw,1rem);border:2px solid var(--primary-color);border-radius:8px;background:#fff;color:#2c3e50;cursor:pointer;transition:all .3s ease;min-width:140px;max-width:160px}.sort-select:hover{border-color:#764ba2;box-shadow:0 2px 8px #667eea33}.sort-select:focus{outline:none;border-color:#764ba2;box-shadow:0 0 0 3px #667eea1a}.gifts-grid-container{background:#fff;border-radius:16px;padding:20px;box-shadow:0 4px 20px #00000014;max-height:600px;overflow-y:auto;overflow-x:hidden}.gifts-grid-container::-webkit-scrollbar{width:10px}.gifts-grid-container::-webkit-scrollbar-track{background:#f1f1f1;border-radius:10px}.gifts-grid-container::-webkit-scrollbar-thumb{background:var(--primary-color);border-radius:10px}.gifts-grid-container::-webkit-scrollbar-thumb:hover{background:linear-gradient(135deg,var(--primary-color) 0%,#63407a 100%)}.gifts-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:20px}.gift-card{background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 2px 10px #00000014;transition:transform .3s ease,box-shadow .3s ease;display:flex;flex-direction:column;height:100%;position:relative}.gift-card.in-cart{border:2px solid #4CAF50;box-shadow:0 2px 10px #4caf5033}.gift-card.in-cart:hover{box-shadow:0 6px 20px #4caf504d}.cart-badge{position:absolute;top:12px;right:12px;background:linear-gradient(135deg,#4caf50,#45a049);color:#fff;width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;z-index:10;box-shadow:0 2px 8px #0003;animation:bounceIn .5s ease-out}@keyframes bounceIn{0%{transform:scale(0);opacity:0}50%{transform:scale(1.2)}to{transform:scale(1);opacity:1}}.cart-badge svg{width:20px;height:20px}.quantity-badge{position:absolute;top:-4px;right:-4px;background:#f44336;color:#fff;font-size:.7rem;font-weight:700;width:18px;height:18px;border-radius:50%;display:flex;align-items:center;justify-content:center;border:2px solid white}.gift-card:hover{transform:translateY(-5px);box-shadow:0 6px 20px #0000001f}.gift-image{width:100%;height:180px;overflow:hidden;background:#f0f0f0}.gift-image img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}.gift-card:hover .gift-image img{transform:scale(1.08)}.gift-info{padding:16px;display:flex;flex-direction:column;flex-grow:1;gap:10px}.gift-name{font-size:clamp(.95rem,2vw,1.05rem);font-weight:500;margin:0;color:#2c3e50;line-height:1.4;min-height:42px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.gift-price{font-size:clamp(1.2rem,2.5vw,1.35rem);font-weight:700;color:var(--primary-color);margin:0}.add-to-cart-btn{width:100%;padding:12px 16px;background:var(--primary-color);color:#fff;border:none;border-radius:8px;font-size:clamp(.9rem,2vw,.95rem);font-weight:600;cursor:pointer;transition:all .3s ease;margin-top:auto}.add-to-cart-btn.remove{background:linear-gradient(135deg,#e74c3c,#c0392b)}.add-to-cart-btn.remove:hover{transform:translateY(-2px);box-shadow:0 4px 12px #e74c3c66}.gift-card.in-cart .add-to-cart-btn{background:linear-gradient(135deg,#e74c3c,#c0392b)}.add-to-cart-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px #667eea66}.gift-card.in-cart .add-to-cart-btn:hover{box-shadow:0 4px 12px #4caf5066}.add-to-cart-btn:active{transform:translateY(0)}@media(max-width:768px){.gift-list-section{padding:60px 15px}.gifts-grid-container{max-height:500px;padding:15px}.gifts-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:15px}.gift-image{height:150px}.cart-badge{width:32px;height:32px;top:10px;right:10px}.cart-badge svg{width:18px;height:18px}.quantity-badge{width:16px;height:16px;font-size:.65rem}.gift-info{padding:14px}.sort-controls{margin-bottom:20px}}@media(max-width:480px){.gift-list-section{padding:50px 10px}.section-title{margin-bottom:1.5rem}.gifts-grid-container{max-height:450px;padding:12px;border-radius:12px}.gifts-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px}.sort-controls{margin-bottom:15px;gap:10px}.sort-select{min-width:100%;padding:8px 12px}.gift-card{border-radius:10px}.gift-image{height:130px}.cart-badge{width:30px;height:30px;top:8px;right:8px}.cart-badge svg{width:16px;height:16px}.quantity-badge{width:15px;height:15px;font-size:.6rem;top:-3px;right:-3px}.gift-info{padding:12px;gap:8px}.gift-name{font-size:.9rem;min-height:38px}.gift-price{font-size:1.1rem}.add-to-cart-btn{padding:10px 14px;font-size:.85rem}}@media(max-width:360px){.gifts-grid{grid-template-columns:1fr}.gift-image{height:160px}}@media(min-width:769px){.controls-container{flex-direction:row;justify-content:space-between;align-items:center;gap:20px}.cart-button-list,.sort-controls{flex-shrink:0}}@media(min-width:481px)and (max-width:768px){.controls-container{flex-direction:row;justify-content:space-between;align-items:center;gap:15px;flex-wrap:nowrap}.cart-button-list{flex-shrink:0;padding:10px 18px;font-size:.95rem;gap:8px}.cart-button-list .cart-icon{width:18px;height:18px}.sort-controls{flex-shrink:0;gap:10px}.sort-controls label{font-size:.9rem}.sort-select{padding:8px 12px;font-size:.9rem;min-width:130px;max-width:150px}}@media(max-width:480px){.controls-container{flex-direction:column;align-items:stretch;gap:12px;margin:0 0 25px}.cart-button-list{width:100%;justify-content:center;padding:12px 20px;font-size:.95rem}.cart-button-list .cart-icon{width:18px;height:18px}.sort-controls{width:100%;justify-content:center;flex-wrap:nowrap;gap:8px}.sort-controls label{font-size:.85rem;white-space:nowrap}.sort-select{flex:1;padding:10px 12px;font-size:.9rem;min-width:0}}@media(max-width:360px){.controls-container{gap:10px;margin:0 0 20px}.cart-button-list{padding:10px 16px;font-size:.9rem;gap:6px}.cart-button-list .cart-icon{width:16px;height:16px}.cart-badge-list{width:20px;height:20px;font-size:.7rem;top:-6px;right:-6px}.sort-controls{gap:6px}.sort-controls label{font-size:.8rem}.sort-select{padding:8px 10px;font-size:.85rem}}.card-payment-form{width:100%;max-width:500px;margin:0 auto}.installment-info{background:#fff3cd;color:#856404;padding:.9rem 1.2rem;border-radius:8px;margin-bottom:1.5rem;font-size:.95rem;text-align:center;border-left:4px solid #ffc107}.payment-amount{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:1.5rem;border-radius:12px;display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;box-shadow:0 4px 12px #667eea4d;gap:1.5rem}.payment-amount>div{display:flex;flex-direction:column;gap:.3rem}.payment-amount span{font-size:.9rem;opacity:.9}.payment-amount .amount-value{font-size:1.6rem;font-weight:700}.payment-amount .total-with-interest{font-size:1.8rem;color:#ffc107}.card-form{display:flex;flex-direction:column;gap:1.5rem}.form-group label{font-weight:600;color:var(--text-color, #333);font-size:.95rem}.form-group input,.form-group select{padding:.85rem 1rem;border:2px solid #e0e0e0;border-radius:8px;font-size:1rem;transition:all .3s ease;font-family:inherit}.form-group input:focus,.form-group select:focus{outline:none;border-color:var(--primary-color, #d4a373);box-shadow:0 0 0 3px #d4a3731a}.form-group input.error{border-color:#e74c3c}.form-group input:disabled,.form-group select:disabled{background-color:#f5f5f5;cursor:not-allowed;opacity:.7}.secure-field-wrapper{position:relative;display:flex;align-items:center}.secure-field{flex:1;padding:.5rem .75rem;border:2px solid #e0e0e0;border-radius:8px;font-size:1rem;transition:all .3s ease;min-height:1px;height:42px;background:#fff;display:flex;align-items:center}.secure-field:focus-within{border-color:var(--primary-color, #d4a373);box-shadow:0 0 0 3px #d4a3731a}.secure-field iframe{border:none;height:20px;width:100%}.form-group.error .secure-field{border-color:#e74c3c}.secure-field.disabled{background-color:#f5f5f5;cursor:not-allowed;opacity:.7}.secure-field-wrapper .payment-method-icon{position:absolute;right:1rem;font-size:.75rem;font-weight:600;color:var(--primary-color, #d4a373);background:#d4a3731a;padding:.25rem .5rem;border-radius:4px;text-transform:uppercase;pointer-events:none;z-index:10}.card-input-wrapper{position:relative;display:flex;align-items:center}.card-input-wrapper input{flex:1;padding-right:100px;letter-spacing:.05em;font-size:1.1rem}.payment-method-icon{position:absolute;right:1rem;font-size:.75rem;font-weight:600;color:var(--primary-color, #d4a373);background:#d4a3731a;padding:.25rem .5rem;border-radius:4px;text-transform:uppercase}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.form-row .form-group{margin:0}.expiration-group{display:flex;align-items:center;gap:.5rem}.expiration-group input{flex:1;text-align:center}.expiration-group span{font-size:1.5rem;font-weight:600;color:#999}.form-row .form-group:last-child input{text-align:center;font-weight:500;letter-spacing:.1em;font-size:1.1rem;max-width:150px}.error-text{color:#e74c3c;font-size:.85rem;margin-top:-.25rem}.error-message{background-color:#ffe6e6;border-left:4px solid #e74c3c;color:#c0392b;padding:1rem;border-radius:6px;font-size:.95rem}.btn-pay{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;padding:1.2rem 2rem;font-size:1.1rem;font-weight:700;border-radius:10px;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 15px #667eea66;margin-top:1rem}.btn-pay:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #667eea80}.btn-pay:active:not(:disabled){transform:translateY(0)}.btn-pay:disabled{opacity:.6;cursor:not-allowed;transform:none}.security-note{text-align:center;color:#666;font-size:.9rem;margin-top:1.5rem;padding:1rem;background-color:#f8f9fa;border-radius:8px;display:flex;align-items:center;justify-content:center;gap:.5rem}.security-note:before{content:"🔒";font-size:1.2rem}@media(max-width:768px){.card-payment-form{max-width:100%;padding:0 1rem}.payment-amount{padding:1.2rem;flex-direction:column;align-items:flex-start;gap:1rem}.payment-amount .amount-value{font-size:1.4rem}.payment-amount .total-with-interest{font-size:1.6rem}.installment-info{font-size:.85rem;padding:.8rem 1rem}.form-row{grid-template-columns:1fr;gap:1.5rem}.secure-field{height:40px;padding:.5rem .75rem;font-size:.95rem}.secure-field iframe{height:18px}.secure-field-wrapper .payment-method-icon{font-size:.65rem;padding:.2rem .4rem}.payment-header h3{font-size:1.2rem}.card-input-wrapper input{font-size:1rem;padding-right:80px}.payment-method-icon{font-size:.65rem;padding:.2rem .4rem}}.card-payment-form{animation:slideIn .3s ease-out}.pix-payment-form{width:100%;max-width:500px;margin:0 auto}.payment-header{display:flex;align-items:center;gap:1rem;margin-bottom:1.5rem}.back-button{background:none;border:none;color:var(--primary-color, #d4a373);cursor:pointer;font-size:1rem;padding:.5rem;transition:opacity .3s}.back-button:hover{opacity:.7}.payment-header h3{margin:0;font-size:1.5rem;color:var(--text-color, #333)}.payment-amount{background:linear-gradient(135deg,#32bcad,#14968f);color:#fff;padding:1.5rem;border-radius:12px;display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;box-shadow:0 4px 12px #32bcad4d}.payment-amount span{font-size:1rem;opacity:.9}.payment-amount strong{font-size:1.8rem;font-weight:700}.pix-instructions{text-align:center;padding:2rem 1rem;display:flex;flex-direction:column;align-items:center}.pix-icon{margin:0 auto 2rem;width:80px;height:80px}.pix-instructions h4{color:var(--text-color, #333);margin-bottom:1rem;font-size:1.4rem;font-weight:600}.pix-instructions p{color:#666;font-size:1rem;margin-bottom:2rem;max-width:400px}.btn-generate-pix{background:linear-gradient(135deg,#32bcad,#14968f);color:#fff;border:none;padding:1.2rem 2.5rem;font-size:1.1rem;font-weight:700;border-radius:10px;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 15px #32bcad66;width:100%;max-width:350px}.btn-generate-pix:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #32bcad80}.btn-generate-pix:disabled{opacity:.6;cursor:not-allowed;transform:none}.pix-info{margin-top:2rem;display:flex;flex-direction:column;gap:.5rem}.pix-info p{color:#666;font-size:.95rem;margin:0}.pix-code-container{padding:1rem;display:flex;flex-direction:column;align-items:center}.pix-code-container h4{text-align:center;color:#32bcad;margin-bottom:1.5rem;font-size:1.4rem;font-weight:600}.pix-timer{text-align:center;background:#fff3cd;color:#856404;padding:.8rem;border-radius:8px;margin-bottom:1rem;font-size:1rem}.pix-timer strong{font-size:1.2rem;margin-left:.5rem}.qr-code-wrapper{display:flex;flex-direction:column;align-items:center;justify-content:center;margin:1rem auto;padding:.5rem}.qr-code{max-width:280px;width:100%;height:auto;border:3px solid #32BCAD;border-radius:12px;padding:1.5rem;background:#fff;box-shadow:0 8px 24px #32bcad33;margin:0 auto;display:block}.qr-instruction{margin-top:.8rem;color:#666;font-size:1rem;text-align:center;font-weight:500}.pix-copy-section{margin:1.5rem auto;max-width:500px;width:100%}.pix-copy-section label{display:block;margin-bottom:.6rem;font-weight:600;color:var(--text-color, #333);font-size:1rem;text-align:center}.pix-code-box{display:flex;gap:.5rem}.pix-code-input{flex:1;padding:.8rem;border:2px solid #e0e0e0;border-radius:8px;font-family:monospace;font-size:.85rem;background:#f8f9fa}.btn-copy{background:#32bcad;color:#fff;border:none;padding:.8rem 1.5rem;border-radius:8px;cursor:pointer;font-weight:600;transition:all .3s ease;white-space:nowrap}.btn-copy:hover{background:#14968f}.btn-copy.copied{background:#28a745}.pix-status-info{background:#e8f5e9;padding:1rem;border-radius:8px;margin:1rem 0}.pix-status-info p{margin:.5rem 0;color:#2e7d32;font-size:.9rem}.btn-secondary{background:#6c757d;color:#fff;border:none;padding:1rem 2rem;border-radius:8px;cursor:pointer;font-weight:600;transition:all .3s ease;width:100%;margin-top:1rem}.btn-secondary:hover{background:#5a6268}.security-note{text-align:center;color:#666;font-size:.9rem;margin-top:1.5rem;padding:1rem;background-color:#f8f9fa;border-radius:8px}@media(max-width:768px){.pix-payment-form{max-width:100%;padding:0 1rem}.payment-amount{padding:1.2rem}.payment-amount strong{font-size:1.5rem}.qr-code{max-width:200px}.pix-code-input{font-size:.75rem}.btn-copy{padding:.8rem 1rem;font-size:.9rem}}@keyframes slideIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.pix-payment-form{animation:slideIn .3s ease-out}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.btn-generate-pix:hover:not(:disabled){animation:pulse 1s infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.payment-checking{display:flex;flex-direction:column;align-items:center;gap:1rem;padding:1.5rem;background:linear-gradient(135deg,#f0f9ff,#e0f2fe);border-radius:12px;border:2px solid #32BCAD}.spinner{width:40px;height:40px;border:4px solid #e0f2fe;border-top:4px solid #32BCAD;border-radius:50%;animation:spin 1s linear infinite}.payment-checking p{margin:0;color:#14968f;font-weight:600}.status-text{font-size:.9rem;opacity:.8;text-transform:capitalize}.checkout-form-overlay{position:fixed;inset:0;background-color:#000000b3;display:flex;justify-content:center;align-items:center;z-index:2000;padding:1rem}.checkout-form-container{background:#fff;border-radius:12px;padding:2rem;max-width:500px;width:100%;max-height:90vh;overflow-y:auto;position:relative;box-shadow:0 10px 40px #0003}.close-button{position:absolute;top:1rem;right:1rem;background:none;border:none;font-size:2rem;cursor:pointer;color:#666;line-height:1;padding:0;width:2rem;height:2rem;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:background-color .3s}.close-button:hover{background-color:#f0f0f0;color:#333}.checkout-form-container h2{margin:0 0 1.5rem;color:#333;font-size:1.75rem}.checkout-summary{background:#f8f9fa;border-radius:8px;padding:1.5rem;margin-bottom:2rem}.checkout-summary h3{margin:0 0 1rem;color:#555;font-size:1.1rem}.checkout-items{list-style:none;padding:0;margin:0 0 1rem}.checkout-items li{display:flex;justify-content:space-between;padding:.5rem 0;border-bottom:1px solid #e0e0e0}.checkout-items li:last-child{border-bottom:none}.checkout-total{display:flex;justify-content:space-between;padding-top:1rem;border-top:2px solid #ddd;font-size:1.2rem;color:#333}.checkout-form{display:flex;flex-direction:column;gap:1.25rem}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-group label{font-weight:600;color:#555;font-size:.95rem}.form-group input{padding:.75rem;border:2px solid #e0e0e0;border-radius:6px;font-size:1rem;transition:border-color .3s}.form-group input:focus{outline:none;border-color:#4caf50}.form-group input:disabled{background-color:#f5f5f5;cursor:not-allowed}.error-message{background-color:#ffebee;color:#c62828;padding:1rem;border-radius:6px;font-size:.9rem;border-left:4px solid #c62828}.form-actions{display:flex;gap:1rem;margin-top:1rem}.form-actions button{flex:1;padding:.875rem 1.5rem;border:none;border-radius:6px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s}.btn-primary{background-color:#4caf50;color:#fff}.btn-primary:hover:not(:disabled){background-color:#45a049;transform:translateY(-2px);box-shadow:0 4px 12px #4caf504d}.btn-primary:disabled{background-color:#ccc;cursor:not-allowed}.btn-secondary{background-color:#f5f5f5;color:#666;border:2px solid #e0e0e0}.btn-secondary:hover:not(:disabled){background-color:#e0e0e0}.btn-secondary:disabled{opacity:.5;cursor:not-allowed}.checkout-note{margin-top:1.5rem;padding:1rem;background-color:#e3f2fd;border-radius:6px;font-size:.85rem;color:#1976d2;text-align:center;border-left:4px solid #1976d2}.payment-method-selection{margin-top:1.5rem}.back-link{background:none;border:none;color:var(--primary-color, #d4a373);cursor:pointer;font-size:1rem;padding:.5rem 0;margin-bottom:1rem;display:inline-block;transition:opacity .3s}.back-link:hover{opacity:.7}.section-title-payment{font-family:var(--font-secondary);font-size:1.3rem;color:var(--text-color, #333);margin-bottom:1.5rem;text-align:center}.payment-methods{display:grid;gap:1rem;margin-bottom:1.5rem}.payment-method-card{display:flex;align-items:center;gap:1.5rem;padding:1.5rem;border:2px solid #e0e0e0;border-radius:12px;background:#fff;cursor:pointer;transition:all .3s ease;text-align:left}.payment-method-card:hover:not(:disabled){border-color:var(--primary-color, #d4a373);box-shadow:0 4px 12px #0000001a;transform:translateY(-2px)}.payment-method-card:disabled{opacity:.6;cursor:not-allowed}.method-icon{font-size:3rem;min-width:60px;text-align:center;display:flex;align-items:center;justify-content:center}.method-icon.pix-icon svg{display:block;margin:0 auto}.method-info{flex:1}.method-info h4{margin:0 0 .5rem;font-size:1.2rem;color:var(--text-color, #333)}.method-info p{margin:.25rem 0;color:#666;font-size:.9rem}.method-benefit{color:#28a745!important;font-weight:600;margin-top:.5rem!important}@media(max-width:768px){.checkout-form-container{padding:1.5rem;margin:.5rem}.checkout-form-container h2{font-size:1.5rem}.form-actions{flex-direction:column}.payment-method-card{padding:1.2rem;gap:1rem}.method-icon{font-size:2.5rem;min-width:50px}.method-info h4{font-size:1.1rem}}.message-header{text-align:center;margin-bottom:1.5rem}.message-header h3{color:#d4af37;font-size:1.3rem;margin:0}.form-hint{display:block;margin-top:.3rem;font-size:.85rem;color:#666}.form-subtitle{font-size:.9rem;color:#666;margin-bottom:1.5rem;text-align:center}.section-title{font-size:var(--section-title-size);color:#333;margin-bottom:.5rem;text-align:center}textarea{width:100%;padding:.75rem;border:1px solid #ddd;border-radius:8px;font-family:inherit;font-size:1rem;transition:border-color .3s;resize:vertical;min-height:100px}textarea:focus{outline:none;border-color:#d4af37}textarea:disabled{background-color:#f5f5f5;cursor:not-allowed}.cart-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .3s ease;padding:20px;font-family:var(--font-secondary)}.cart-modal{background:#fff;border-radius:20px;width:100%;max-width:600px;max-height:90vh;display:flex;flex-direction:column;animation:slideUp .3s ease;overflow:hidden}.cart-header{display:flex;justify-content:space-between;align-items:center;padding:25px 30px;border-bottom:2px solid #f0f0f0}.cart-header h2{font-size:clamp(1.5rem,3vw,2rem);font-weight:500;margin:0;color:#2c3e50}.close-btn{background:none;border:none;font-size:2rem;color:#999;cursor:pointer;padding:0;width:40px;height:40px;display:flex;align-items:center;justify-content:center;transition:color .3s ease}.close-btn:hover{color:#333}.cart-content{flex:1;overflow-y:auto;display:flex;flex-direction:column}.empty-cart{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;text-align:center}.empty-cart p{font-size:clamp(1.1rem,2vw,1.3rem);color:#999;margin:0 0 30px}.continue-shopping-btn{padding:14px 30px;background:var(--primary-color);color:#fff;border:none;border-radius:8px;font-size:clamp(1rem,2vw,1.1rem);font-weight:600;cursor:pointer;transition:transform .3s ease}.continue-shopping-btn:hover{transform:translateY(-2px)}.cart-items{padding:20px 30px;flex:1}.cart-item{display:flex;gap:15px;padding:20px 0;border-bottom:1px solid #f0f0f0;position:relative}.cart-item:last-child{border-bottom:none}.cart-item-image{width:80px;height:80px;object-fit:cover;border-radius:10px;flex-shrink:0}.cart-item-info{flex:1}.cart-item-info h3{font-size:clamp(1rem,2vw,1.1rem);font-weight:500;margin:0 0 8px;color:#2c3e50}.cart-item-description{font-size:clamp(.85rem,1.8vw,.9rem);color:#7f8c8d;margin:0 0 8px;line-height:1.4}.cart-item-price{font-size:clamp(1.1rem,2vw,1.2rem);font-weight:600;color:var(--primary-color);margin:0 0 10px}.quantity-controls{display:flex;align-items:center;gap:10px}.quantity-btn{width:30px;height:30px;border:2px solid var(--primary-color);background:#fff;color:#667eea;border-radius:5px;font-size:1.2rem;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center}.quantity-btn:hover{background:var(--primary-color);color:#fff}.quantity{font-size:1.1rem;font-weight:600;min-width:30px;text-align:center}.remove-btn{background:none;border:none;font-size:1.5rem;cursor:pointer;padding:5px;transition:transform .3s ease}.remove-btn:before{content:"🗑️"}.remove-btn:hover{transform:scale(1.2)}.cart-footer{padding:25px 30px;border-top:2px solid #f0f0f0;background:#fafafa}.cart-total{display:flex;justify-content:space-between;align-items:center;font-size:clamp(1.2rem,2.5vw,1.5rem);font-weight:600;margin-bottom:20px;color:#2c3e50}.total-price{color:var(--primary-color);font-size:clamp(1.4rem,3vw,1.8rem)}.cart-actions{display:flex;gap:15px;flex-wrap:wrap}.add-more-btn,.checkout-btn{flex:1;padding:14px 20px;border:none;border-radius:8px;font-size:clamp(.95rem,2vw,1.05rem);font-weight:600;cursor:pointer;transition:all .3s ease;min-width:150px}.add-more-btn{background:#fff;color:var(--primary-color);border:2px solid var(--primary-color)}.add-more-btn:hover{background:#f0f0f0}.checkout-btn{background:var(--primary-color);color:#fff}.checkout-btn:hover{transform:translateY(-2px);box-shadow:0 5px 15px #667eea66}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{transform:translateY(50px);opacity:0}to{transform:translateY(0);opacity:1}}@media(max-width:768px){.cart-modal{max-width:500px}.cart-header{padding:20px 25px}.cart-items{padding:15px 25px}.cart-footer{padding:20px 25px}}@media(max-width:480px){.cart-overlay{padding:10px}.cart-modal{max-height:95vh;border-radius:15px}.cart-header{padding:18px 20px}.cart-items{padding:15px 20px}.cart-item{flex-direction:column;gap:12px;padding:10px;background:#f9f9f9;border-radius:12px;margin-bottom:10px}.cart-item-image{width:100%;height:150px}.cart-item-info{display:flex;flex-direction:column;gap:8px}.remove-btn{position:static;align-self:flex-start;background:none;color:#ff4757;padding:1px 0;border-radius:0;font-size:.95rem;display:flex;align-items:center;gap:6px;margin-top:10px;font-weight:600;text-decoration:underline}.remove-btn:before{content:"Remover"}.remove-btn:hover{background:none;color:#ee5a6f;transform:none}.cart-footer{padding:18px 20px}.cart-actions{flex-direction:column;gap:10px}.add-more-btn,.checkout-btn{width:100%;min-width:auto}}.app{width:100%;min-height:100vh}.container{max-width:1200px;margin:0 auto;padding:0 20px}html{scroll-behavior:smooth}body{padding-top:70px}@media(max-width:768px){body{padding-top:65px}}@media(max-width:480px){body{padding-top:60px}.container{padding:0 15px}}.payment-result-container{min-height:100vh;display:flex;justify-content:center;align-items:center;padding:2rem;background:linear-gradient(135deg,#667eea,#764ba2);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.payment-result-card{background:#fff;border-radius:16px;padding:3rem 2rem;max-width:500px;width:100%;text-align:center;box-shadow:0 20px 60px #0000004d;animation:slideIn .5s ease-out;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}@keyframes slideIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.icon-wrapper{margin:0 auto 2rem;width:100px;height:100px}.success .checkmark{width:100px;height:100px;stroke-width:2;stroke:#4caf50;stroke-miterlimit:10;animation:fillCircle .4s ease-in-out .4s forwards,scaleCircle .3s ease-in-out .9s both}.success .checkmark-circle{stroke-dasharray:166;stroke-dashoffset:166;animation:strokeCircle .6s cubic-bezier(.65,0,.45,1) forwards}.success .checkmark-check{transform-origin:50% 50%;stroke-dasharray:48;stroke-dashoffset:48;animation:strokeCheck .3s cubic-bezier(.65,0,.45,1) .8s forwards}@keyframes strokeCircle{to{stroke-dashoffset:0}}@keyframes strokeCheck{to{stroke-dashoffset:0}}@keyframes fillCircle{to{fill:#4caf50}}@keyframes scaleCircle{0%,to{transform:none}50%{transform:scale3d(1.1,1.1,1)}}.failure .cross{width:100px;height:100px;stroke-width:2;stroke:#f44336;stroke-miterlimit:10}.failure .cross-circle{stroke-dasharray:166;stroke-dashoffset:166;animation:strokeCircle .6s cubic-bezier(.65,0,.45,1) forwards}.failure .cross-path{stroke-dasharray:48;stroke-dashoffset:48;animation:strokeCheck .3s cubic-bezier(.65,0,.45,1) .8s forwards}.pending .clock{width:100px;height:100px;stroke-width:2;stroke:#ff9800;stroke-miterlimit:10}.pending .clock-circle{stroke-dasharray:166;stroke-dashoffset:166;animation:strokeCircle .6s cubic-bezier(.65,0,.45,1) forwards}.pending .clock-hand{stroke-dasharray:48;stroke-dashoffset:48;animation:strokeCheck .3s cubic-bezier(.65,0,.45,1) .8s forwards}.cancelled .expired-icon{width:100px;height:100px;display:flex;align-items:center;justify-content:center;font-size:4rem;animation:pulse 1s ease-in-out}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.cancelled .info-box{background:#fff3cd;border:1px solid #ffc107;border-radius:8px;padding:1rem;margin-bottom:2rem;text-align:left}.cancelled .info-box p{margin:0;color:#856404;font-size:.9rem;line-height:1.5;font-family:Inter,sans-serif}.cancelled .info-box strong{color:#664d03;font-weight:600}.payment-result-card h1{color:#333;font-size:2rem;margin-bottom:1rem;font-family:Inter,sans-serif;font-weight:700}.payment-result-card .message{font-size:1.25rem;color:#555;margin-bottom:1rem;font-family:Inter,sans-serif;font-weight:500}.payment-result-card .details{color:#777;font-size:1rem;line-height:1.6;margin-bottom:2rem;font-family:Inter,sans-serif;font-weight:400}.payment-details{background:#f5f5f5;border-radius:8px;padding:1rem;margin:1.5rem 0;text-align:left}.payment-details p{margin:.5rem 0;font-size:.9rem;color:#555;word-break:break-all;font-family:Inter,sans-serif}.payment-details strong{color:#333;font-weight:600}.actions{display:flex;flex-direction:column;gap:1rem}.actions button{padding:1rem 2rem;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s;font-family:Inter,sans-serif}.btn-primary{background:var(--primary-color);color:#fff}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 8px 20px #667eea66}.btn-secondary{background:#fff;color:#667eea;border:2px solid #667eea}.btn-secondary:hover{background:#f5f7ff}@media(max-width:768px){.payment-result-card{padding:2rem 1.5rem}.payment-result-card h1{font-size:1.5rem}.payment-result-card .message{font-size:1.1rem}}
