.gt-buybox .gt-tier-row { position:relative; }
.gt-buybox .gt-unavailable-tier { position:absolute; inset:0; width:100%; height:100%; border:0; border-radius:10px; background:transparent; cursor:pointer; }
.gt-buybox .gt-unavailable-tier:focus-visible { outline:3px solid #468c00; outline-offset:2px; }
.gt-buybox .gt-unavailable-note { margin:10px 0; padding:10px 12px; border:1px solid #d6dbd1; border-radius:8px; background:#fff; font-size:14px; line-height:1.45; }
.gt-buybox .gt-unavailable-note button { display:block; margin-top:6px; padding:0; border:0; background:none; color:#468c00; text-decoration:underline; }
.gt-availability-form .modal-content { position:relative; border:1px solid #b2ca9c !important; border-radius:16px; overflow:hidden; box-shadow:0 8px 30px rgba(30,50,20,.2); }
.gt-availability-form .modal-header { border-bottom:0; padding:18px 20px 10px; }
.gt-availability-form .modal-title { padding-right:60px; font-size:20px; line-height:1.35; }
.gt-availability-form .modal-header .close { display:flex; align-items:center; justify-content:center; width:44px; height:44px; margin:0; padding:0; background:#f0f1df !important; color:#468c00 !important; opacity:1; }
.gt-availability-form .modal-body { padding:10px 20px 20px; }
.gt-availability-form .form-group { margin:0; }
.gt-availability-form .form-group > div { padding:0; }
.gt-availability-form .control-label { padding:0 0 6px; text-align:left; }
.gt-availability-form input.form-control { height:48px; padding:10px 42px 10px 12px; border:1px solid #d6dbd1; border-radius:8px; box-shadow:inset 0 1px 2px rgba(0,0,0,.08); background-repeat:no-repeat; background-position:right 12px center; background-size:23px; }
.gt-availability-form input.form-control:focus { outline:0; border-color:#95bc0e; box-shadow:0 0 0 3px rgba(149,188,14,.2); }
.gt-availability-form input[aria-invalid="true"] { border-color:#b42318; background-color:#fff2f0; box-shadow:0 0 0 3px rgba(180,35,24,.12); }
.gt-availability-form input.gt-alarm-valid { border-color:#95bc0e; }
.gt-availability-form .gt-alarm-error { min-height:26px; font-size:13px; line-height:20px; color:#b42318; }
.gt-availability-form input[type="submit"] { width:100%; min-height:48px; white-space:normal; background:#97c218; color:#fff; border:0; border-radius:10px; padding:12px; }
.gt-availability-form input[type="submit"]:hover { background:#85aa12; }
.gt-availability-form .gt-alarm-loading { position:absolute; inset:0; z-index:5; display:flex; align-items:center; justify-content:center; gap:10px; padding:20px; background:rgba(255,255,255,.94); }
.gt-availability-form .gt-alarm-loading .fa { display:block; width:1em; height:1em; line-height:1; margin:0; color:#468c00; }
@media(prefers-reduced-motion:reduce) { .gt-availability-form .fa-spin { animation:none; } }
.gt-availability-form input[aria-invalid="true"]{border-color:#b42318;background-color:#fff2f0;--gt-email-shadow:rgba(140,35,29,.24);box-shadow:0 3px 0 rgba(140,35,29,.22),0 5px 8px rgba(140,35,29,.12); background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='11' fill='%23b42318'/%3E%3Cpath fill='%23fff' d='M11 5h2v10h-2zm0 12h2v2h-2z'/%3E%3C/svg%3E"); }
.gt-availability-form input.gt-alarm-valid{border-color:#95bc0e;background-color:#fff;box-shadow:0 3px 0 rgba(50,107,70,.15),0 5px 8px rgba(50,107,70,.1); background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='23' height='23' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='11' fill='%2395bc0e'/%3E%3Cpath d='m6.5 12 3.5 3.5 7.5-8' fill='none' stroke='white' stroke-width='2.7' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"); }
/* Shared green modal heading and compact feedback spacing. */
.gt-availability-form .modal-header{position:relative;min-height:76px;padding:16px 20px;background:#468c00;color:#fff}
.gt-availability-form .modal-title{color:#fff;margin:0;line-height:1.35}
.gt-availability-form .modal-header:after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:linear-gradient(to right,#106430 0%,#106430 33.333%,#ffa322 33.333%,#ffa322 66.666%,#97c01e 66.666%,#97c01e 100%)}
.gt-availability-form .modal-body{padding:14px 20px}
.gt-availability-form .gt-alarm-error{min-height:0;margin:5px 0 0}
.gt-availability-form .gt-alarm-error:empty{display:none}
.gt-availability-form .form-group + .form-group{margin-top:8px}
/* The legacy desktop sticky header uses z-index:99999. Keep it below the
   native Bootstrap backdrop (1040) only while the stock-alert modal is open. */
body:has(.gt-availability-form .modal.in[data-id="AddAvailabilityMessageModal"]) .sticky-bg,
body:has(.gt-availability-form .modal.in[data-id="AddAvailabilityMessageModal"]) #header,
body:has(.gt-availability-form .modal.in[data-id="AddAvailabilityMessageModal"]) #header-menu{z-index:1000 !important;pointer-events:none}
/* Title and product subtitle match the basket modal hierarchy. */
.gt-availability-form .gt-alarm-heading{display:flex;align-items:center;gap:12px;padding-right:60px}
.gt-availability-form .gt-alarm-heading-icon{flex:0 0 auto;font-size:30px;line-height:1;margin:0;color:inherit}
.gt-availability-form .gt-alarm-heading-copy{min-width:0}
.gt-availability-form .gt-alarm-heading .modal-title{padding:0;font-size:22px;font-weight:500}
.gt-availability-form .gt-alarm-product{margin:4px 0 0;font-size:13px;line-height:1.4;color:inherit;overflow-wrap:anywhere}
.gt-availability-form input[type="submit"]{font-size:16px;line-height:1.3;font-weight:700}

/* Also suppress links produced by an older cached script. */
.gt-buybox .gt-unavailable-note > button,.gt-buybox .gt-unavailable-note > a{display:none !important}
