.checkout-page{min-height:100vh;background:linear-gradient(135deg,#0a0a0a,#1a1a1a);padding:120px 20px 60px;color:#fff}.checkout-container{max-width:1200px;margin:0 auto}.checkout-title{font-family:var(--font-cinzel);font-size:2.5rem;font-weight:900;color:#d4af37;margin-bottom:40px;text-align:center}.checkout-form{width:100%}.checkout-layout{display:grid;grid-template-columns:1fr 400px;gap:40px}.checkout-form-section{display:flex;flex-direction:column;gap:30px}.form-section{padding:30px;background:hsla(0,0%,100%,.03);border:1px solid hsla(0,0%,100%,.1);border-radius:12px}.section-title{font-family:var(--font-cinzel);font-size:1.5rem;font-weight:700;color:#d4af37;margin-bottom:24px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}.form-group{margin-bottom:20px}.form-group label{display:block;margin-bottom:8px;font-weight:600;color:hsla(0,0%,100%,.9);font-size:.9rem}.form-group input,.form-group select{width:100%;padding:12px 16px;background:hsla(0,0%,100%,.05);border:1px solid hsla(0,0%,100%,.2);border-radius:8px;color:#fff;font-size:1rem;font-family:var(--font-montserrat);transition:all .3s}.form-group input:focus,.form-group select:focus{outline:none;border-color:#d4af37;background:hsla(0,0%,100%,.08)}.form-group input::-moz-placeholder{color:hsla(0,0%,100%,.4)}.form-group input::placeholder{color:hsla(0,0%,100%,.4)}.checkbox-group label{display:flex;align-items:center;gap:12px;cursor:pointer;font-weight:400}.checkbox-group input[type=checkbox]{width:20px;height:20px;cursor:pointer}.payment-section{padding:30px;background:hsla(0,0%,100%,.03);border:1px solid hsla(0,0%,100%,.1);border-radius:12px;margin:0}.payment-section-title{font-family:var(--font-cinzel);font-size:1.5rem;font-weight:900;color:#d4af37;letter-spacing:.1em;margin-bottom:1.5rem;text-align:left}.payment-options-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.25rem;margin-bottom:2rem}@media (max-width:768px){.payment-options-grid{grid-template-columns:1fr;gap:1rem}}.payment-card{position:relative;background:hsla(0,0%,100%,.03);border:2px solid hsla(0,0%,100%,.1);border-radius:16px;padding:2rem 1.5rem;text-align:center;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;flex-direction:column;align-items:center;gap:.75rem;min-height:160px;justify-content:center;-webkit-user-select:none;-moz-user-select:none;user-select:none}.payment-card:hover{background:hsla(0,0%,100%,.05);border-color:rgba(212,175,55,.3);transform:translateY(-5px);box-shadow:0 8px 25px rgba(0,0,0,.3)}.payment-card.active{background:linear-gradient(135deg,rgba(212,175,55,.15),rgba(212,175,55,.05));border-color:#d4af37;border-width:3px;box-shadow:0 0 0 4px rgba(212,175,55,.2),0 10px 30px rgba(212,175,55,.3);transform:translateY(-3px)}.payment-card.active:before{content:"";position:absolute;inset:-8px;background:radial-gradient(circle,rgba(212,175,55,.2),transparent 70%);filter:blur(20px);z-index:-1;opacity:.6;animation:pulse-glow 2s ease-in-out infinite;border-radius:20px}@keyframes pulse-glow{0%,to{opacity:.4;transform:scale(1)}50%{opacity:.8;transform:scale(1.05)}}.payment-card-icon{margin-bottom:.5rem;transition:transform .3s ease;color:hsla(0,0%,100%,.7);display:flex;align-items:center;justify-content:center}.payment-card-icon svg{width:60px;height:60px}.payment-card:hover .payment-card-icon{transform:scale(1.1);color:hsla(0,0%,100%,.9)}.payment-card.active .payment-card-icon{transform:scale(1.15);color:#d4af37}.payment-card-title{font-family:var(--font-cinzel);font-size:1.15rem;font-weight:700;color:hsla(0,0%,100%,.9);margin:0;letter-spacing:.05em}.payment-card.active .payment-card-title{color:#d4af37}.payment-card-subtitle{font-family:var(--font-montserrat);font-size:.9rem;color:hsla(0,0%,100%,.5);margin:0;font-weight:500}.payment-card.active .payment-card-subtitle{color:rgba(212,175,55,.8)}.payment-card-checkmark{position:absolute;top:12px;right:12px;width:28px;height:28px;background:linear-gradient(135deg,#d4af37,#f4e4c1);border-radius:50%;display:none;align-items:center;justify-content:center;color:#1a1a1c;font-weight:900;font-size:1rem;box-shadow:0 4px 12px rgba(212,175,55,.4)}.payment-card.active .payment-card-checkmark{display:flex;animation:checkPop .4s cubic-bezier(.68,-.55,.27,1.55)}@keyframes checkPop{0%{transform:scale(0);opacity:0}50%{transform:scale(1.2)}to{transform:scale(1);opacity:1}}.express-checkout-container{margin-bottom:2rem}#express-checkout-element{margin-bottom:1.5rem}#express-checkout-element iframe{border-radius:12px!important}#express-checkout-element>div{display:flex;flex-direction:column;gap:12px}.payment-divider{position:relative;text-align:center;margin:2rem 0}.payment-divider:before{content:"";position:absolute;top:50%;left:0;right:0;height:1px;background:rgba(212,175,55,.2)}.payment-divider span{position:relative;background:linear-gradient(135deg,#0a0a0a,#1a1a1a);padding:0 1rem;color:hsla(0,0%,100%,.5);font-size:.85rem;font-family:var(--font-montserrat);font-weight:500;letter-spacing:.05em}.payment-loading{text-align:center;padding:2rem;color:hsla(0,0%,100%,.6);font-size:.9rem;font-family:var(--font-montserrat)}.payment-form-container{background:hsla(0,0%,100%,.02);border:1px solid hsla(0,0%,100%,.1);border-radius:16px;padding:2rem;animation:slideDown .4s ease;margin-bottom:1rem}.payment-info{display:flex;flex-direction:column;gap:1rem}.payment-info-title{font-family:var(--font-cinzel);font-size:1.25rem;font-weight:700;color:#d4af37;margin:0 0 .5rem}.payment-info-content{display:flex;flex-direction:column;gap:.75rem}.payment-info-content p{color:hsla(0,0%,100%,.8);margin:0;line-height:1.6;font-family:var(--font-montserrat)}.payment-info-content p strong{color:hsla(0,0%,100%,.95);font-weight:600}.payment-trust-badge{display:flex;align-items:center;justify-content:center;gap:.5rem;margin-top:1rem;font-family:var(--font-montserrat);font-size:.85rem;color:hsla(0,0%,100%,.6)}.payment-trust-badge svg{color:#22c55e;flex-shrink:0}@media (max-width:768px){.payment-card{min-height:140px;padding:1.5rem 1.25rem}.payment-card-icon svg{width:48px;height:48px}.payment-card-title{font-size:1.05rem}.payment-card-subtitle{font-size:.85rem}.payment-form-container{padding:1.5rem}.payment-divider{margin:1.5rem 0}.payment-divider span{font-size:.8rem}#express-checkout-element{margin-bottom:1rem}#express-checkout-element button{height:44px!important;font-size:15px!important}}.error-message{padding:16px;background:rgba(239,68,68,.1);border:1px solid rgba(239,68,68,.3);border-radius:8px;color:#ef4444;font-weight:600}.checkout-summary-section{position:sticky;top:120px;height:-moz-fit-content;height:fit-content}.checkout-summary-card{padding:30px;background:hsla(0,0%,100%,.05);border:1px solid hsla(0,0%,100%,.1);border-radius:12px}.summary-title{font-family:var(--font-cinzel);font-size:1.5rem;font-weight:700;color:#fff;margin-bottom:24px}.checkout-items{display:flex;flex-direction:column;gap:16px;margin-bottom:24px;max-height:400px;overflow-y:auto}.checkout-item{display:flex;gap:12px;padding:12px;background:hsla(0,0%,100%,.03);border-radius:8px}.checkout-item-image{width:60px;height:60px;flex-shrink:0;border-radius:6px;overflow:hidden;background:hsla(0,0%,100%,.05)}.checkout-item-image img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.checkout-item-details{flex:1}.checkout-item-details h4{font-size:.9rem;font-weight:600;color:#fff;margin:0 0 4px}.checkout-item-meta{display:flex;flex-direction:column;gap:2px;font-size:.75rem;color:hsla(0,0%,100%,.6)}.checkout-item-price{font-size:.9rem;font-weight:700;color:#d4af37;align-self:flex-start}.checkout-summary-totals{border-top:1px solid hsla(0,0%,100%,.1);padding-top:20px}.summary-row{display:flex;justify-content:space-between;align-items:center;padding:8px 0;font-size:.95rem;color:hsla(0,0%,100%,.8)}.free-shipping{color:#22c55e;font-weight:600}.summary-divider{height:1px;background:hsla(0,0%,100%,.1);margin:12px 0}.total-row{font-size:1.1rem;font-weight:700;color:#fff;padding-top:12px}.total-price{font-size:1.3rem;color:#d4af37}.btn-place-order{width:100%;padding:16px 24px;background:#d4af37;color:#000;border:none;border-radius:8px;font-weight:700;font-size:1.1rem;cursor:pointer;transition:all .3s;margin-top:24px}.btn-place-order:hover:not(:disabled){background:#c9a336;transform:translateY(-2px);box-shadow:0 4px 12px rgba(212,175,55,.3)}.btn-place-order:disabled{opacity:.6;cursor:not-allowed}.order-success{text-align:center;padding:60px 20px;max-width:600px;margin:0 auto}.success-icon{width:100px;height:100px;margin:0 auto 30px;color:#22c55e}.order-success h1{font-family:var(--font-cinzel);font-size:2.5rem;color:#d4af37;margin-bottom:20px}.order-success p{font-size:1.1rem;color:hsla(0,0%,100%,.8);margin-bottom:12px}.success-actions{display:flex;gap:16px;justify-content:center;margin-top:40px}.btn-primary,.btn-secondary{padding:14px 32px;border:none;border-radius:8px;font-weight:600;text-decoration:none;cursor:pointer;transition:all .3s;display:inline-block}.btn-primary{background:#d4af37;color:#000}.btn-primary:hover{background:#c9a336;transform:translateY(-2px)}.btn-secondary{background:hsla(0,0%,100%,.1);color:#fff;border:1px solid hsla(0,0%,100%,.2)}.btn-secondary:hover{background:hsla(0,0%,100%,.15);border-color:hsla(0,0%,100%,.3)}@media (max-width:968px){.checkout-layout{grid-template-columns:1fr}.checkout-summary-section{position:static;order:-1}.form-row{grid-template-columns:1fr}}@media (max-width:768px){.checkout-page{padding:100px 16px 40px}.checkout-title{font-size:2rem;margin-bottom:30px}.form-section{padding:20px}.checkout-summary-card{padding:24px}.order-success h1{font-size:2rem}.success-actions{flex-direction:column}}.guest-checkout-notice{background:linear-gradient(135deg,#1a1a1a,#2d2d2d);border:2px solid #d4af37;border-radius:12px;padding:24px;margin-bottom:32px;box-shadow:0 4px 20px rgba(212,175,55,.2)}.guest-notice-content{display:flex;gap:16px;align-items:flex-start}.guest-notice-content svg{flex-shrink:0;color:#d4af37}.guest-notice-content h3{font-family:var(--font-playfair);font-size:1.25rem;color:#d4af37;margin:0 0 8px}.guest-notice-content p{color:hsla(0,0%,100%,.9);margin:0 0 8px;line-height:1.6}.guest-notice-content .small-text{font-size:.9rem;color:hsla(0,0%,100%,.7)}.guest-notice-content a{color:#d4af37;text-decoration:underline}.field-hint{font-size:.85rem;color:hsla(0,0%,100%,.6);font-weight:400}.checkout-security-note{text-align:center;font-size:.875rem;color:hsla(0,0%,100%,.7);margin-top:16px}.stripe-payment-form{margin-top:24px}.stripe-error-message{background:rgba(220,38,38,.1);border:1px solid #dc2626;color:#dc2626;padding:12px;border-radius:8px;margin:16px 0;font-size:.9rem}.stripe-pay-button{width:100%;padding:16px;background:linear-gradient(135deg,#d4af37,#f4e4c1);color:#000;font-weight:700;font-size:1.1rem;border:none;border-radius:8px;cursor:pointer;margin-top:16px;font-family:var(--font-montserrat);transition:all .3s ease}.stripe-pay-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 25px rgba(212,175,55,.4)}.stripe-pay-button:disabled{opacity:.6;cursor:not-allowed}.card-message-section{margin:2rem 0}.checkout-card-message-section{margin:2rem 0;padding:2rem;background:hsla(0,0%,100%,.02);border:1px solid rgba(212,175,55,.2);border-radius:16px}.checkout-card-message-section .section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.checkout-card-message-section .section-title{font-family:var(--font-cinzel);font-size:1.25rem;font-weight:700;color:#d4af37;letter-spacing:.05em;margin:0}.checkout-card-message-section .optional-badge{padding:.25rem .75rem;background:rgba(212,175,55,.15);border:1px solid rgba(212,175,55,.3);border-radius:20px;font-family:var(--font-montserrat);font-size:.75rem;font-weight:600;color:#d4af37;text-transform:uppercase;letter-spacing:.05em}.checkout-card-message-section .section-description{font-family:var(--font-montserrat);font-size:.9rem;color:hsla(0,0%,100%,.65);line-height:1.5;margin-bottom:1.5rem}.card-message-textarea{width:100%;padding:1.25rem;background:hsla(0,0%,100%,.05);border:1px solid hsla(0,0%,100%,.1);border-radius:12px;color:#fff;font-family:var(--font-montserrat);font-size:1rem;line-height:1.6;resize:vertical;transition:all .3s ease}.card-message-textarea:focus{outline:none;border-color:#d4af37;background:hsla(0,0%,100%,.08);box-shadow:0 0 0 3px rgba(212,175,55,.1)}.card-message-textarea:disabled{opacity:.5;cursor:not-allowed}.card-message-textarea::-moz-placeholder{color:hsla(0,0%,100%,.35);font-style:italic}.card-message-textarea::placeholder{color:hsla(0,0%,100%,.35);font-style:italic}.checkout-card-message-section .message-meta{display:flex;justify-content:flex-end;margin-top:.5rem;margin-bottom:1.5rem}.checkout-card-message-section .char-counter{font-family:var(--font-montserrat);font-size:.85rem;color:hsla(0,0%,100%,.5)}.different-messages-toggle{padding-top:1.5rem;border-top:1px solid rgba(212,175,55,.15)}.toggle-label{display:flex;align-items:flex-start;gap:.75rem;cursor:pointer}.toggle-checkbox{width:20px;height:20px;margin-top:2px;cursor:pointer;accent-color:#d4af37;flex-shrink:0}.toggle-text{font-family:var(--font-montserrat);font-size:.95rem;color:hsla(0,0%,100%,.85);line-height:1.5}.individual-messages-container{margin-top:2rem;padding-top:2rem;border-top:1px solid rgba(212,175,55,.15)}.individual-messages-title{font-size:1.1rem;margin-bottom:1.5rem}.individual-message-item{margin-bottom:2rem;padding:1.5rem;background:rgba(0,0,0,.2);border:1px solid hsla(0,0%,100%,.05);border-radius:12px}.item-label{display:block;font-family:var(--font-montserrat);font-size:.95rem;font-weight:600;color:hsla(0,0%,100%,.85);margin-bottom:.75rem}.item-details{font-weight:400;color:hsla(0,0%,100%,.6);font-size:.85rem}.individual-message-textarea{width:100%;padding:1rem;background:hsla(0,0%,100%,.05);border:1px solid hsla(0,0%,100%,.1);border-radius:10px;color:#fff;font-family:var(--font-montserrat);font-size:.95rem;line-height:1.5;resize:vertical;transition:all .3s ease}.individual-message-textarea:focus{outline:none;border-color:#d4af37;background:hsla(0,0%,100%,.08)}.individual-char-count{display:block;text-align:right;margin-top:.5rem;font-family:var(--font-montserrat);font-size:.8rem;color:hsla(0,0%,100%,.5)}@media (max-width:768px){.checkout-card-message-section{padding:1.5rem}.checkout-card-message-section .section-title{font-size:1.1rem}.card-message-textarea,.individual-message-textarea{font-size:.9rem}.individual-message-item{padding:1.25rem}}.required-asterisk{color:#dc143c;margin-left:.25rem;font-weight:700}.form-group input.error,.form-group select.error,.form-input.error{border-color:#dc143c!important;background:rgba(220,20,60,.05)!important;box-shadow:0 0 0 3px rgba(220,20,60,.1)!important;animation:shake .5s,pulse-red 2s infinite}@keyframes shake{0%,to{transform:translateX(0)}10%,30%,50%,70%,90%{transform:translateX(-5px)}20%,40%,60%,80%{transform:translateX(5px)}}@keyframes pulse-red{0%,to{box-shadow:0 0 0 3px rgba(220,20,60,.1)}50%{box-shadow:0 0 0 6px rgba(220,20,60,.2)}}.field-error-message{display:block;margin-top:.5rem;font-family:var(--font-montserrat);font-size:.85rem;color:#ff6b6b;font-weight:500;animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}.checkout-error-banner{position:fixed;top:80px;left:50%;transform:translateX(-50%);z-index:9999;padding:1rem 2rem;background:rgba(220,20,60,.95);border:2px solid #dc143c;border-radius:12px;color:#fff;font-family:var(--font-montserrat);font-weight:600;box-shadow:0 8px 24px rgba(220,20,60,.4);animation:slideDown .3s ease;max-width:90%;text-align:center}@keyframes slideDown{0%{opacity:0;transform:translateX(-50%) translateY(-20px)}to{opacity:1;transform:translateX(-50%) translateY(0)}}@media (max-width:768px){.checkout-error-banner{top:70px;padding:.875rem 1.5rem;font-size:.9rem}.field-error-message{font-size:.8rem}}.card-message-label{display:block;font-family:var(--font-cinzel);font-size:1.1rem;font-weight:700;color:#d4af37;margin-bottom:.5rem;letter-spacing:.05em}.card-message-description{font-family:var(--font-montserrat);font-size:.85rem;color:hsla(0,0%,100%,.6);margin-bottom:1rem}.card-message-input{width:100%;padding:1rem;background:hsla(0,0%,100%,.05);border:1px solid hsla(0,0%,100%,.1);border-radius:12px;color:#fff;font-family:var(--font-montserrat);font-size:.95rem;resize:vertical;transition:all .3s ease}.card-message-input:focus{outline:none;border-color:#d4af37;background:hsla(0,0%,100%,.08);box-shadow:0 0 0 3px rgba(212,175,55,.1)}.card-message-input:disabled{opacity:.5;cursor:not-allowed}.card-message-input::-moz-placeholder{color:hsla(0,0%,100%,.4)}.card-message-input::placeholder{color:hsla(0,0%,100%,.4)}.card-message-counter{text-align:right;font-size:.8rem;color:hsla(0,0%,100%,.5);margin-top:.5rem;font-family:var(--font-montserrat)}.different-messages-option{margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid rgba(212,175,55,.2)}.checkbox-label{display:flex;align-items:center;gap:.75rem;cursor:pointer;font-family:var(--font-montserrat);font-size:.9rem;color:hsla(0,0%,100%,.85)}.checkbox-label input[type=checkbox]{width:20px;height:20px;cursor:pointer;accent-color:#d4af37}.individual-messages{margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid rgba(212,175,55,.2)}.individual-messages-title{font-family:var(--font-cinzel);font-size:1rem;font-weight:600;color:#d4af37;margin-bottom:1rem}.individual-message-field{margin-bottom:1.5rem}.individual-message-field label{display:block;font-family:var(--font-montserrat);font-size:.9rem;color:hsla(0,0%,100%,.7);margin-bottom:.5rem}@media (max-width:768px){.card-message-section{padding:1.5rem}.card-message-input{font-size:.9rem}}