/* Address lookup - inherits label/input styling from parent forms (checkout, account, quotes). */

.bathgiant-address-lookup {
 margin: 0;
}

.bathgiant-address-lookup[hidden] {
 display: none !important;
}

/* Company + find-address stack on their own row(s) under phone/email. */
.bathgiant-checkout-form__address-step {
 grid-column: 1 / -1;
 display: flex;
 flex-direction: column;
 gap: 0.65rem;
 width: 100%;
}

.bathgiant-checkout-form__address-step > p {
 margin: 0;
}

.bathgiant-checkout-form__address-step .bathgiant-address-lookup {
 width: 100%;
}

.bathgiant-checkout-form__address-fields[hidden] {
 display: none !important;
}

.bathgiant-quote-form__address-fields[hidden],
.bathgiant-trade-customers-form__address-fields[hidden],
.bathgiant-account-intact-form-grid__address[hidden],
.bathgiant-trade-quote-builder__address-fields[hidden] {
 display: none !important;
}

@media (min-width: 920px) {
 .bathgiant-checkout-form__address-fields {
 display: grid;
 grid-template-columns: repeat(2, minmax(0, 1fr));
 gap: 0.75rem 1rem;
 grid-column: 1 / -1;
 width: 100%;
 }

 .bathgiant-checkout-form__address-fields > p {
 margin: 0;
 }
}

p.bathgiant-address-lookup__field-row--hidden,
p[data-bg-address-field-row][hidden] {
 display: none !important;
}

.bathgiant-address-lookup__search-row {
 position: relative;
 margin: 0 0 0.65rem;
}

.bathgiant-address-lookup__search-wrap {
 display: block;
 position: relative;
}

.bathgiant-address-lookup__search {
 display: block;
 width: 100%;
 max-width: 100%;
 box-sizing: border-box;
}

.bathgiant-address-lookup__hint {
 display: block;
 margin-top: 0.35rem;
 font-size: 0.875rem;
 color: #5a6d82;
}

.bathgiant-address-lookup__checkout-notice {
 margin: 0 0 0.75rem;
 padding: 0.65rem 0.85rem;
 border-radius: 8px;
 border: 1px solid #bfdbfe;
 background: #eff6ff;
 color: #1e3a5f;
 font-size: 0.875rem;
 line-height: 1.45;
}

.bathgiant-address-lookup__error {
 margin: 0 0 0.75rem;
 padding: 0.65rem 0.85rem;
 border-radius: 8px;
 border: 1px solid #fecaca;
 background: #fef2f2;
 color: #991b1b;
 font-size: 0.875rem;
 line-height: 1.45;
 font-weight: 600;
}

.bathgiant-address-lookup.is-address-error .bathgiant-address-lookup__search {
 border-color: #dc2626;
 box-shadow: 0 0 0 3px rgba(220, 38, 38, 0.12);
}

.bathgiant-address-lookup__manual-row {
 margin: 0 0 0.75rem;
}

.bathgiant-address-lookup__manual-btn {
 appearance: none;
 border: 0;
 padding: 0;
 background: transparent;
 font: inherit;
 font-size: 0.875rem;
 font-weight: 600;
 color: var(--bathgiant-brand, #3d7dd9);
 text-decoration: underline;
 text-underline-offset: 2px;
 cursor: pointer;
}

.bathgiant-address-lookup__manual-btn:hover,
.bathgiant-address-lookup__manual-btn:focus-visible {
 color: #17365d;
 outline: none;
}

.bathgiant-address-lookup.is-fields-visible .bathgiant-address-lookup__manual-row {
 display: none;
}

.bathgiant-address-lookup__results {
 position: absolute;
 z-index: 40;
 left: 0;
 right: 0;
 margin-top: 4px;
 max-height: 240px;
 overflow-y: auto;
 background: #fff;
 border: 1px solid var(--bathgiant-border, #c8d6e7);
 border-radius: 8px;
 box-shadow: 0 10px 28px rgba(15, 23, 42, 0.12);
}

.bathgiant-address-lookup__option {
 display: block;
 width: 100%;
 margin: 0;
 padding: 0.55rem 0.75rem;
 border: 0;
 border-bottom: 1px solid #f1f5f9;
 background: transparent;
 text-align: left;
 font-family: var(--bathgiant-font-sans, inherit);
 font-size: 0.875rem;
 line-height: 1.35;
 color: #1f2f46;
 cursor: pointer;
}

.bathgiant-address-lookup__option:last-child {
 border-bottom: 0;
}

.bathgiant-address-lookup__option:hover,
.bathgiant-address-lookup__option:focus {
 background: #f1f6ff;
 color: #17365d;
 outline: none;
}

.bathgiant-address-lookup__empty {
 margin: 0;
 padding: 0.65rem 0.75rem;
 font-size: 0.875rem;
 color: #5a6d82;
}

/* Match checkout form inputs when the search field is not covered by theme rules. */
.bathgiant-checkout-form .bathgiant-address-lookup__search,
.bathgiant-quote-form .bathgiant-address-lookup__search {
 border: 1px solid #c8d6e7;
 border-radius: 8px;
 padding: 0.56rem 0.62rem;
 font: inherit;
 color: var(--bathgiant-ink, #1f2f46);
 background: #fff;
}

.bathgiant-checkout-form .bathgiant-address-lookup__search:focus,
.bathgiant-quote-form .bathgiant-address-lookup__search:focus {
 outline: none;
 border-color: var(--bathgiant-brand, #3d7dd9);
 box-shadow: 0 0 0 3px rgba(61, 125, 217, 0.16);
}

.bathgiant-account-form .bathgiant-address-lookup__search {
 border: 1px solid var(--bathgiant-border, #d1d5db);
 border-radius: 10px;
 padding: 0.55rem 0.65rem;
 font: inherit;
 color: var(--bathgiant-ink, #1f2f46);
 background: #fff;
}

.bathgiant-account-form .bathgiant-address-lookup__search:focus {
 outline: none;
 border-color: var(--bathgiant-brand, #3d7dd9);
 box-shadow: 0 0 0 3px rgba(61, 125, 217, 0.16);
}

.bathgiant-trade-quote-builder .bathgiant-address-lookup {
 margin: 0.35rem 0 0.75rem;
}

.bathgiant-trade-quote-builder .bathgiant-address-lookup__search {
 display: block;
 width: 100%;
 max-width: 100%;
 box-sizing: border-box;
 border: 1px solid #c8d6e7;
 border-radius: 8px;
 padding: 0.56rem 0.62rem;
 font: inherit;
 color: var(--bathgiant-ink, #1f2f46);
 background: #fff;
}

.bathgiant-trade-quote-builder .bathgiant-address-lookup__search:focus {
 outline: none;
 border-color: var(--bathgiant-brand, #3d7dd9);
 box-shadow: 0 0 0 3px rgba(61, 125, 217, 0.16);
}

.bathgiant-trade-delivery-destination__new {
 margin-top: 0.85rem;
 padding-top: 0.75rem;
 border-top: 1px solid #d9e3ef;
}

.bathgiant-trade-delivery-destination__new[hidden] {
 display: none !important;
}

.bathgiant-trade-delivery-destination__new-title {
 margin: 0 0 0.35rem;
 font-size: 1rem;
}

.bathgiant-trade-delivery-destination__new-grid {
 display: grid;
 grid-template-columns: repeat(2, minmax(0, 1fr));
 gap: 0.65rem 1rem;
}

.bathgiant-trade-delivery-destination__new-span {
 grid-column: 1 / -1;
}

.bathgiant-trade-delivery-destination__new-address[hidden] {
 display: none !important;
}

.bathgiant-trade-delivery-destination__save {
 margin: 0.75rem 0 0;
}

@media (max-width: 700px) {
 .bathgiant-trade-delivery-destination__new-grid {
  grid-template-columns: 1fr;
 }
}
