/* Web wish reservation widget */
.lr-reserve-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;width:100%;max-width:360px;padding:14px 24px;background:linear-gradient(135deg,#E9A856 0%,#DA6F41 100%);color:#fff;font-weight:600;font-size:16px;border:none;border-radius:10px;cursor:pointer;text-decoration:none;transition:.2s;font-family:inherit}
.lr-reserve-btn:hover{filter:brightness(1.05);transform:translateY(-1px)}
.lr-reserve-btn[disabled]{opacity:.6;cursor:default;transform:none}

.lr-modal-back{position:fixed;inset:0;background:rgba(20,20,20,.55);display:none;align-items:center;justify-content:center;z-index:99999;padding:16px}
.lr-modal-back.lr-open{display:flex}
.lr-modal{background:#fff;border-radius:16px;max-width:420px;width:100%;padding:28px 24px;box-shadow:0 20px 60px rgba(0,0,0,.25);position:relative;font-family:inherit;text-align:center}
.lr-modal__close{position:absolute;top:14px;right:16px;width:28px;height:28px;border:none;background:none;font-size:24px;line-height:1;color:#999;cursor:pointer}
.lr-modal__title{font-size:20px;font-weight:700;color:#1B1B1B;margin:4px 0 8px}
.lr-modal__text{font-size:14px;color:#666;line-height:1.5;margin:0 0 20px}
.lr-modal__giftline{font-size:13px;color:#999;margin:-8px 0 18px}
.lr-modal__gift{font-weight:600;color:#DA6F41;font-size:16px}

.lr-gbtn-wrap{display:flex;justify-content:center;align-items:center;min-height:44px;width:320px;max-width:100%;margin:0 auto}
/* Custom Google button with the real GSI widget layered on top, invisible. */
.lr-gwrap{position:relative;width:320px;max-width:100%;height:44px;margin:0 auto}
.lr-gcustom{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;gap:10px;background:#fff;border:1px solid #dadce0;border-radius:8px;font-weight:600;font-size:15px;color:#3c4043;font-family:inherit;cursor:pointer;z-index:1;transition:background .15s,box-shadow .15s}
.lr-gwrap:hover .lr-gcustom{background:#f8f9fa;box-shadow:0 1px 3px rgba(60,64,67,.2)}
.lr-glogo{width:18px;height:18px;display:inline-flex;align-items:center}
.lr-goverlay{position:absolute;inset:0;z-index:2;opacity:0;overflow:hidden;cursor:pointer}
.lr-goverlay > div,.lr-goverlay iframe{width:100%!important;height:100%!important}
.lr-input{width:100%;padding:13px 14px;border:1px solid #E0E0E0;border-radius:10px;font-size:15px;font-family:inherit;margin:0 0 8px;box-sizing:border-box}
.lr-input:focus{outline:none;border-color:#E8874A}
.lr-hint{font-size:12.5px;min-height:18px;margin:0 0 14px;text-align:left}
.lr-hint.err{color:#D6453C}
.lr-hint.ok{color:#2E9E5B}
.lr-primary{width:100%;padding:14px;background:linear-gradient(135deg,#E9A856,#DA6F41);color:#fff;font-weight:600;font-size:16px;border:none;border-radius:10px;cursor:pointer;font-family:inherit}
.lr-primary[disabled]{opacity:.5;cursor:default}
.lr-success-ico{width:64px;height:64px;margin:0 auto 12px;border-radius:50%;background:#EAF7EF;color:#2E9E5B;display:flex;align-items:center;justify-content:center;font-size:34px}
.lr-spin{display:inline-block;width:18px;height:18px;border:2px solid rgba(255,255,255,.5);border-top-color:#fff;border-radius:50%;animation:lr-rot .7s linear infinite;vertical-align:middle}
@keyframes lr-rot{to{transform:rotate(360deg)}}
.lr-err-box{color:#D6453C;font-size:13.5px;margin-top:10px;min-height:18px}
/* Cancel button: orange text on white (theme .card__btn_reserve), inline so on
   desktop it sits to the right of "See on web site"; centered on mobile. */
.lr-cancel-btn{display:inline-block;vertical-align:middle;cursor:pointer}
@media(max-width:768px){.lr-cancel-btn{display:block;margin-top:14px}}
