/* CHECKOUT KALAKAPALA - PAYMENT ELEMENT + ORDEN BD */
:root{--bg:#000;--panel:#663332;--panel-2:#7a403f;--line:rgba(102,51,50,.68);--text:#f8efe4;--muted:#c7b8b1;--accent:#d9c289;--beige:#e8dfd2;--beige-dark:#d6c6b4;--beige-text:#35261d;--wine:#663332;--wine-dark:#4e2424;--danger:#d45a5a;--radius:20px}
body{background:radial-gradient(circle at top left,rgba(102,51,50,.22) 0%,rgba(102,51,50,0) 34%),linear-gradient(180deg,#050505 0%,#000 100%);color:var(--text)}
.checkout-page{width:min(1420px,96%);margin:26px auto 48px;display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:22px;align-items:start}
.checkout-main{display:flex;flex-direction:column;gap:18px}.checkout-step{background:linear-gradient(180deg,#6f3938 0%,#4e2424 100%);border:1px solid var(--line);overflow:hidden;border-radius:var(--radius);box-shadow:0 14px 35px rgba(0,0,0,.45)}
.checkout-step__header{width:100%;border:0;background:rgba(255,255,255,.03);display:flex;align-items:center;gap:18px;padding:22px 24px;text-align:left;cursor:pointer;border-bottom:1px solid transparent;transition:background .25s ease,border-color .25s ease}.checkout-step.is-open .checkout-step__header{background:linear-gradient(180deg,#7f4443 0%,var(--wine-dark) 100%);border-bottom-color:rgba(255,255,255,.10)}
.checkout-step__number{width:32px;height:32px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:16px;font-weight:700;flex:0 0 auto;border:1px solid #d9c289;background:#d9c289;color:#2c241d}.checkout-step:not(.is-open) .checkout-step__number{background:transparent;border-color:rgba(255,255,255,.22);color:#c9bbb4}.checkout-step__title{font-size:19px;font-weight:700;color:#fff}.checkout-step:not(.is-open) .checkout-step__title{color:#bfaeaa}
.checkout-step__body{display:grid;grid-template-rows:0fr;transition:grid-template-rows .28s ease;background:linear-gradient(180deg,rgba(127,68,67,.45) 0%,rgba(102,51,50,.35) 100%)}.checkout-step.is-open .checkout-step__body{grid-template-rows:1fr}.checkout-step__body-inner{overflow:hidden;padding:0 24px}.checkout-step.is-open .checkout-step__body-inner{padding-top:20px;padding-bottom:30px}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 12px}.field{display:flex;flex-direction:column;gap:8px}.field--full{grid-column:1/-1}.field input,.field select{width:100%;height:50px;border:1px solid rgba(102,51,50,.9);background:var(--beige);border-radius:20px;padding:0 16px;font-size:16px;color:var(--beige-text);outline:none;transition:border-color .2s ease,box-shadow .2s ease,background .2s ease}.field input::placeholder{color:#8d7867}.field select{color:#8d7867}.field select option{background:var(--beige);color:var(--beige-text)}.field input:focus,.field select:focus{border-color:#c8af98;box-shadow:0 0 0 3px rgba(232,223,210,.18);background:#f1e8dd}.field input.is-invalid,.field select.is-invalid{border-color:var(--danger);background:#f5e8e7;box-shadow:0 0 0 2px rgba(212,90,90,.12)}
.field-error{display:none;color:#ff8d8d;font-size:12px;line-height:1.35;margin-top:-2px}.field-error.active{display:block}.form-error-box{display:none;margin-bottom:14px;padding:12px 14px;border:1px solid rgba(212,90,90,.28);background:#1a1212;color:#ff8d8d;font-size:13px;line-height:1.45;border-radius:14px}.form-error-box.active{display:block}
.check-line{display:inline-flex;align-items:center;gap:8px;margin-top:10px;font-size:15px;color:#f8efe4;cursor:pointer;user-select:none}.check-line input{accent-color:var(--wine)}.factura-box{display:grid;grid-template-rows:0fr;transition:grid-template-rows .24s ease;margin-top:8px}.factura-box.active{grid-template-rows:1fr}.factura-box__inner{overflow:hidden}.factura-box__content{padding-top:14px;border-top:1px solid rgba(255,255,255,.08)}.btn-row{margin-top:26px}
.btn-black{min-width:180px;height:50px;border:1px solid var(--beige-dark);background:linear-gradient(180deg,#efe6da 0%,var(--beige-dark) 100%);color:var(--beige-text);font-size:16px;font-weight:600;border-radius:20px;padding:0 24px;cursor:pointer;transition:opacity .2s ease,transform .2s ease,box-shadow .2s ease}.btn-black:hover{opacity:.96;transform:translateY(-1px);box-shadow:0 10px 24px rgba(232,223,210,.18)}.btn-black.is-loading{opacity:.65;pointer-events:none}
.delivery-options,.pickup-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:18px}.delivery-card,.pickup-card{position:relative;border:1px solid rgba(232,223,210,.28);background:rgba(0,0,0,.10);border-radius:20px;padding:16px;cursor:pointer;transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease,background .2s ease}.delivery-card:hover,.pickup-card:hover{transform:translateY(-1px);border-color:#9a5252}.delivery-card input,.pickup-card input{position:absolute;opacity:0;pointer-events:none}.delivery-card__title,.pickup-card__title{display:block;font-size:16px;font-weight:700;color:#fff;margin-bottom:6px}.delivery-card__desc,.pickup-card__desc{display:block;color:#f0dfd7;font-size:14px;line-height:1.45}.delivery-card:has(input:checked),.pickup-card:has(input:checked){border-color:#d9c289;box-shadow:0 0 0 1px #d9c289 inset;background:rgba(232,223,210,.12)}
.pickup-box{display:none;margin-bottom:18px}.pickup-box.active{display:block}.pickup-error{display:none;margin-top:10px;color:#ff8d8d;font-size:12px;line-height:1.4}.pickup-error.active{display:block}.delivery-address{display:block}.delivery-address.is-hidden{display:none}
.payment-box{border:1px solid rgba(232,223,210,.18);background:rgba(0,0,0,.10);border-radius:20px;padding:16px;margin-bottom:18px}.payment-box__title{font-size:16px;font-weight:700;margin-bottom:12px;color:#fff}.stripe-copy{margin:0 0 16px;color:#f0dfd7;font-size:15px;line-height:1.55}.stripe-order-ref{display:none;margin:0 0 12px;padding:10px 12px;border-radius:14px;background:rgba(0,0,0,.16);color:#f8efe4;font-size:13px}.stripe-order-ref.active{display:block}.stripe-element-wrap{background:#e8dfd2;border-radius:20px;padding:18px;border:1px solid var(--beige-dark)}.stripe-element-placeholder{color:#35261d;opacity:.75;font-size:14px;line-height:1.5}.payment-message{display:none;margin-top:12px;color:#ff8d8d;font-size:13px;line-height:1.45}.payment-message.active{display:block}
.summary{position:sticky;top:20px;background:#4f7b5d;border:1px solid rgba(255,255,255,.12);padding:22px 20px;border-radius:20px;box-shadow:0 14px 35px rgba(0,0,0,.45)}.summary h2{margin:0 0 18px;font-size:22px;font-weight:700;color:#fff}.summary-empty{padding:20px 0;color:#f0dfd7;font-size:14px;line-height:1.5;text-align:center}.summary-item{display:grid;grid-template-columns:62px 1fr;gap:12px;align-items:center;padding-bottom:14px;margin-bottom:14px;border-bottom:1px solid rgba(255,255,255,.08)}.summary-item__img{width:62px;height:62px;border-radius:16px;background:rgba(0,0,0,.18);display:flex;align-items:center;justify-content:center;overflow:hidden;border:1px solid rgba(102,51,50,.6)}.summary-item__img img{max-width:70%;max-height:70%;object-fit:contain;display:block}.summary-item__info h3{margin:0 0 4px;font-size:15px;line-height:1.25;font-weight:700;color:#fff}.summary-item__info p{margin:0;color:#f0dfd7;font-size:13px;line-height:1.4}.summary-item__info strong{color:#fff}.summary-item__qty-row{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:8px}.summary-item__remove{border:0;background:transparent;color:#f0dfd7;font-size:12px;text-decoration:underline;cursor:pointer;padding:0}
.summary-discount{margin:4px 0 14px;padding-bottom:14px;border-bottom:1px solid rgba(255,255,255,.08)}.summary-discount label{display:block;margin-bottom:8px;font-size:13px;font-weight:700;color:#fff}.summary-discount__row{display:flex;gap:8px}.summary-discount__row input{flex:1 1 auto;height:44px;border:1px solid var(--beige-dark);background:var(--beige);border-radius:20px;padding:0 14px;font-size:14px;color:var(--beige-text);outline:none}.summary-discount__row button{flex:0 0 92px;height:44px;border:1px solid var(--beige-dark);background:linear-gradient(180deg,#efe6da 0%,var(--beige-dark) 100%);color:var(--beige-text);border-radius:20px;font-size:14px;font-weight:600;cursor:pointer}.discount-message{display:none;margin-top:8px;font-size:12px;line-height:1.4;color:var(--green)}.discount-message.active{display:block}.discount-message.error{color:#ff8d8d}
.summary-line{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 0;font-size:15px;color:#f3ece5}.summary-line strong{color:#fff}.summary-line.total{margin-top:6px;padding-top:14px;border-top:1px solid rgba(255,255,255,.08);font-size:18px;font-weight:700}.summary-note{margin-top:12px;color:#bfaeaa;font-size:12px;line-height:1.5}.checkout-toast{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);z-index:9999;min-width:min(420px,calc(100% - 32px));background:#1a1212;color:#fff;border:1px solid rgba(212,90,90,.35);border-radius:16px;padding:14px 18px;box-shadow:0 18px 35px rgba(0,0,0,.38);display:none;font-size:14px;line-height:1.45}.checkout-toast.active{display:block}
.checkout-success{min-height:60vh;display:grid;place-items:center;padding:40px 20px}.checkout-success__box{width:min(560px,94%);background:#663332;border-radius:24px;padding:34px;text-align:center;color:#f8efe4}.checkout-success__box a{color:#f8efe4;font-weight:800}
@media (max-width:1100px){.checkout-page{grid-template-columns:1fr}.summary{position:static}}@media (max-width:700px){.checkout-page{width:94%;margin-top:18px}.form-grid,.delivery-options,.pickup-grid{grid-template-columns:1fr}.checkout-step__header{padding:18px 16px}.checkout-step.is-open .checkout-step__body-inner{padding-left:16px;padding-right:16px}.checkout-step__title{font-size:18px}.summary-discount__row{flex-direction:column}.summary-discount__row button{flex:0 0 auto;width:100%}.btn-black{width:100%}}

/* RESPONSIVE FINAL CHECKOUT */
@media (min-width:1500px){.checkout-page{width:min(1500px,94vw);grid-template-columns:minmax(0,1fr) 430px}.summary{top:28px}}
@media (max-width:900px){.checkout-page{grid-template-columns:1fr;width:min(720px,94%)}.summary{position:static;order:-1}.summary-item{grid-template-columns:56px 1fr}.summary-item__img{width:56px;height:56px}}
@media (max-width:520px){.checkout-page{width:100%;padding:0 12px;margin:14px auto 34px}.checkout-step,.summary{border-radius:16px}.checkout-step__header{gap:12px;padding:16px 14px}.checkout-step__number{width:28px;height:28px;font-size:14px}.checkout-step__title{font-size:16px}.checkout-step.is-open .checkout-step__body-inner{padding:16px 14px 22px}.field input,.field select,.btn-black{height:46px;border-radius:16px}.delivery-card,.pickup-card,.payment-box,.stripe-element-wrap{border-radius:16px;padding:14px}.summary{padding:18px 14px}.summary h2{font-size:20px}.summary-line.total{font-size:17px}}
