*{margin:0;padding:0;box-sizing:border-box}:root{font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-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}body{margin:0;min-width:320px;min-height:100vh;overflow-x:hidden}#root{width:100%}button{font-family:inherit}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;margin:0 auto;display:flex;justify-content:space-between;align-items:center}.logo{font-size:clamp(1.2rem,2.5vw,1.5rem);font-weight:500;color:#2c3e50;font-family:Georgia,serif;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;font-family:inherit}.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:linear-gradient(135deg,#667eea,#764ba2);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;font-family:Georgia,serif;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:inherit}.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/foto2.jpg);background-size:cover;background-position:center;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;font-family:Georgia,serif;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)}@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:clamp(2rem,5vw,3rem);font-weight:300;margin:0 0 30px;color:#2c3e50;font-family:Georgia,serif;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:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.countdown-wrapper{display:flex;justify-content:center;align-items:stretch;gap:30px;flex-wrap:wrap;margin-top:40px}.countdown-item{background:#ffffff1a;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:15px;padding:30px 20px;min-width:120px;width:120px;text-align:center;border:2px solid rgba(255,255,255,.2);transition:transform .3s ease,box-shadow .3s ease;display:flex;flex-direction:column;justify-content:center;align-items:center}.countdown-item:hover{transform:translateY(-5px);box-shadow:0 10px 30px #0000004d}.countdown-number{font-size:clamp(2.5rem,6vw,4rem);font-weight:700;margin-bottom:10px;font-family:Arial,sans-serif;text-shadow:2px 2px 4px rgba(0,0,0,.3)}.countdown-label{font-size:clamp(.9rem,2vw,1.2rem);font-weight:300;text-transform:uppercase;letter-spacing:2px}@media(max-width:768px){.countdown-section{padding:60px 20px}.countdown-wrapper{gap:12px;margin-top:30px;flex-wrap:nowrap!important;justify-content:center}.countdown-item{min-width:0;width:22%;max-width:110px;padding:20px 10px;flex:0 1 22%}.countdown-number{font-size:2.5rem}.countdown-label{font-size:.75rem;letter-spacing:.8px}}@media(max-width:480px){.countdown-section{padding:50px 10px}.countdown-wrapper{gap:8px!important;margin-top:25px;flex-wrap:nowrap!important;justify-content:center;padding:0;max-width:100%}.countdown-item{min-width:0;width:22%;max-width:80px;padding:15px 8px;flex:0 1 22%}.countdown-number{font-size:1.8rem;margin-bottom:5px}.countdown-label{font-size:.6rem;letter-spacing:.5px;line-height:1.2;word-break:keep-all;white-space:nowrap}}@media(max-width:360px){.countdown-wrapper{gap:5px;padding:0 2px}.countdown-item{min-width:60px;max-width:70px;padding:12px 5px}.countdown-number{font-size:1.8rem}.countdown-label{font-size:.6rem}}.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}.couple-image img{width:100%;height:auto;display:block;object-fit:cover;transition:transform .5s ease}.couple-image:hover img{transform:scale(1.05)}.couple-story h3{font-size:clamp(1.5rem,3vw,2rem);font-weight:300;margin:0 0 25px;color:#2c3e50;font-family:Georgia,serif}.couple-story p{font-size:clamp(1rem,2vw,1.1rem);line-height:1.8;color:#555;margin:0 0 20px;text-align:justify}@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:80px 20px;background:linear-gradient(135deg,#f093fb,#f5576c);color:#fff}.venue-content{display:grid;grid-template-columns:repeat(2,1fr);gap:40px;margin-top:50px}.venue-card{background:#ffffff26;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:20px;padding:40px 30px;text-align:center;border:2px solid rgba(255,255,255,.3);transition:transform .3s ease,box-shadow .3s ease}.venue-card:hover{transform:translateY(-10px);box-shadow:0 15px 40px #0000004d}.venue-icon{font-size:clamp(3rem,6vw,4rem);margin-bottom:20px}.venue-card h3{font-size:clamp(1.5rem,3vw,2rem);font-weight:300;margin:0 0 20px;font-family:Georgia,serif;letter-spacing:1px}.venue-name{font-size:clamp(1.2rem,2.5vw,1.5rem);font-weight:600;margin:0 0 15px}.venue-address,.venue-time{font-size:clamp(1rem,2vw,1.1rem);line-height:1.8;margin:0;opacity:.95}.section-title{font-size:clamp(2rem,5vw,3rem);font-weight:300;margin:0;text-align:center;font-family:Georgia,serif;letter-spacing:1px;text-shadow:2px 2px 4px rgba(0,0,0,.2)}@media(max-width:768px){.venue-section{padding:60px 20px}.venue-content{grid-template-columns:1fr;gap:30px;margin-top:40px}.venue-card{padding:35px 25px}}@media(max-width:480px){.venue-section{padding:50px 15px}.venue-content{gap:25px;margin-top:30px}.venue-card{padding:30px 20px}.venue-icon,.venue-card h3{margin-bottom:15px}.venue-name{margin-bottom:12px}}.dresscode-section{padding:80px 20px;background:linear-gradient(135deg,#e0c3fc,#8ec5fc)}.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 rgba(255,255,255,.5);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))}.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:clamp(2rem,5vw,3rem);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}}.gift-list-section{padding:80px 20px;background:#f8f9fa;display:flex;flex-direction:column;align-items:center}.gift-list-section .container{width:100%;max-width:1200px;display:flex;flex-direction:column}.section-title{font-size:clamp(2rem,5vw,3rem);font-weight:300;margin:0 0 2rem;text-align:center;color:#2c3e50;font-family:Georgia,serif;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}.cart-notification{position:fixed;top:100px;right:20px;z-index:1000;animation:slideInRight .4s ease-out,fadeOut .3s ease-in 2.7s forwards}@keyframes slideInRight{0%{transform:translate(400px);opacity:0}to{transform:translate(0);opacity:1}}@keyframes fadeOut{to{opacity:0;transform:translate(20px)}}.notification-content{background:#fff;padding:16px 20px;border-radius:12px;box-shadow:0 8px 24px #00000026;display:flex;align-items:center;gap:12px;min-width:320px;max-width:400px;border-left:4px solid #4CAF50}.check-icon{width:24px;height:24px;color:#4caf50;flex-shrink:0}.notification-text{flex:1;display:flex;flex-direction:column;gap:4px}.notification-text strong{font-size:.95rem;color:#2c3e50;font-weight:600}.notification-text span{font-size:.85rem;color:#666;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.notification-price{font-size:1rem;font-weight:700;color:#667eea;flex-shrink:0}.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:#667eea;border:2px solid #667eea;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:linear-gradient(135deg,#667eea,#764ba2);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 #667eea;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:linear-gradient(135deg,#667eea,#764ba2);border-radius:10px}.gifts-grid-container::-webkit-scrollbar-thumb:hover{background:linear-gradient(135deg,#5568d3,#63407a)}.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:#667eea;margin:0}.add-to-cart-btn{width:100%;padding:12px 16px;background:linear-gradient(135deg,#667eea,#764ba2);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}.gift-card.in-cart .add-to-cart-btn{background:linear-gradient(135deg,#4caf50,#45a049)}.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}.cart-notification{top:80px;right:10px;left:10px}.notification-content{min-width:auto;padding:14px 16px;gap:10px}.check-icon{width:20px;height:20px}.notification-text strong{font-size:.9rem}.notification-text span{font-size:.8rem}.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}.cart-notification{right:10px;left:10px}.notification-content{min-width:auto;padding:14px 16px}.notification-text strong{font-size:.9rem}.notification-text span{font-size:.8rem}.notification-price{font-size:.95rem}}@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}}.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}@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}}.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}.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;font-family:Georgia,serif}.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:linear-gradient(135deg,#667eea,#764ba2);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-price{font-size:clamp(1.1rem,2vw,1.2rem);font-weight:600;color:#667eea;margin:0 0 10px}.quantity-controls{display:flex;align-items:center;gap:10px}.quantity-btn{width:30px;height:30px;border:2px solid #667eea;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:#667eea;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:#667eea;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:#667eea;border:2px solid #667eea}.add-more-btn:hover{background:#f0f0f0}.checkout-btn{background:linear-gradient(135deg,#667eea,#764ba2);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)}.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}@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}.payment-result-card h1{color:#333;font-size:2rem;margin-bottom:1rem}.payment-result-card .message{font-size:1.25rem;color:#555;margin-bottom:1rem}.payment-result-card .details{color:#777;font-size:1rem;line-height:1.6;margin-bottom:2rem}.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}.payment-details strong{color:#333}.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}.btn-primary{background:linear-gradient(135deg,#667eea,#764ba2);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}}
