/* EASTPRESSO Shipping Hub: pickup-point panel (Classic + Blocks). 0.12.1: compact and attached to the pickup
   rate inside WooCommerce's shipping list. Every rule is scoped to #esh-pickup.esh-pickup so the theme's
   generic button styles and WooCommerce's "ul#shipping_method li label" rules (both stronger than a single
   class) cannot reshape it. Logical properties: RTL (Hebrew) and LTR both work. */
#esh-pickup.esh-pickup { margin-block: 0.5rem 0.25rem; font-size: 0.95em; line-height: 1.4; text-align: start; }
#esh-pickup.esh-pickup--inline { padding: 0.6rem 0.75rem; border: 1px solid rgba(0, 0, 0, 0.12); border-radius: 6px; background: rgba(0, 0, 0, 0.02); }
#esh-pickup.esh-pickup .esh-pickup__label { display: block; font-weight: 600; margin: 0.35rem 0 0.2rem; font-size: 0.9em; }
#esh-pickup.esh-pickup.is-collapsed .esh-pickup__picker { display: none; }

/* City combobox: one field; the search box lives inside the opened list. */
#esh-pickup.esh-pickup .esh-cb { position: relative; }
#esh-pickup.esh-pickup .esh-cb__toggle,
#esh-pickup.esh-pickup .esh-cb__toggle:hover,
#esh-pickup.esh-pickup .esh-cb__toggle:focus { display: flex; align-items: center; width: 100%; min-height: 44px; margin: 0; padding-block: 0; padding-inline: 0.75rem 2rem; box-sizing: border-box; border: 1px solid rgba(0, 0, 0, 0.25); border-radius: 4px; background: #fff; box-shadow: none; color: inherit; font: inherit; font-weight: 400; letter-spacing: normal; text-transform: none; text-align: start; cursor: pointer; position: relative; }
#esh-pickup.esh-pickup .esh-cb__toggle::after { content: ""; position: absolute; inset-inline-end: 0.8rem; top: 50%; width: 0.45rem; height: 0.45rem; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: translateY(-70%) rotate(45deg); opacity: 0.6; } /* physical borders: a down chevron in RTL and LTR */
#esh-pickup.esh-pickup .esh-cb.is-open .esh-cb__toggle::after { transform: translateY(-20%) rotate(225deg); }
#esh-pickup.esh-pickup .esh-cb__toggle:focus-visible,
#esh-pickup.esh-pickup .esh-cb__search:focus-visible { outline: 2px solid currentColor; outline-offset: 1px; }
#esh-pickup.esh-pickup .esh-cb__value { flex: 1 1 auto; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
#esh-pickup.esh-pickup .esh-cb__popup { position: absolute; z-index: 50; inset-inline: 0; top: calc(100% + 2px); padding: 0.4rem; border: 1px solid rgba(0, 0, 0, 0.25); border-radius: 4px; background: #fff; box-shadow: 0 6px 18px rgba(0, 0, 0, 0.12); }
#esh-pickup.esh-pickup .esh-cb__popup[hidden] { display: none; }
#esh-pickup.esh-pickup .esh-cb__search { display: block; width: 100%; min-height: 40px; margin: 0; padding-inline: 0.6rem; box-sizing: border-box; border: 1px solid rgba(0, 0, 0, 0.2); border-radius: 4px; font: inherit; font-size: 16px; /* no zoom on iOS */ }
#esh-pickup.esh-pickup .esh-cb__list { list-style: none; margin: 0.35rem 0 0; padding: 0; max-height: 15rem; overflow-y: auto; -webkit-overflow-scrolling: touch; }
#esh-pickup.esh-pickup .esh-cb__option { margin: 0; padding: 0.55rem 0.6rem; cursor: pointer; border-radius: 3px; line-height: 1.3; list-style: none; }
#esh-pickup.esh-pickup .esh-cb__option.is-active,
#esh-pickup.esh-pickup .esh-cb__option:hover { background: rgba(0, 0, 0, 0.07); }
#esh-pickup.esh-pickup .esh-cb__option mark { background: transparent; color: inherit; font-weight: 700; text-decoration: underline; padding: 0; }
#esh-pickup.esh-pickup .esh-cb__note { margin: 0.3rem 0 0; font-size: 0.85em; opacity: 0.75; }
#esh-pickup.esh-pickup .esh-cb__note:empty { display: none; }

/* Optional street + search button (the button keeps the theme's button look). */
#esh-pickup.esh-pickup .esh-pickup__search { display: flex; flex-wrap: wrap; gap: 0.4rem; } /* the button wraps under the street on narrow screens */
#esh-pickup.esh-pickup .esh-pickup__address { flex: 1 1 12rem; min-width: 0; min-height: 44px; margin: 0; padding-inline: 0.6rem; box-sizing: border-box; font-size: 16px; }
#esh-pickup.esh-pickup .esh-pickup__go { flex: 1 0 auto; min-height: 44px; margin: 0; padding-inline: 0.8rem; cursor: pointer; white-space: nowrap; }

/* States. */
#esh-pickup.esh-pickup .esh-pickup__status { margin: 0.45rem 0 0.3rem; font-size: 0.9em; }
#esh-pickup.esh-pickup .esh-pickup__status:empty { display: none; }
#esh-pickup.esh-pickup .esh-pickup__status[data-state="error"] { color: #b32d2e; }
#esh-pickup.esh-pickup .esh-pickup__status[data-state="loading"]::before { content: ""; display: inline-block; width: 0.8em; height: 0.8em; margin-inline-end: 0.4em; vertical-align: -0.1em; border: 2px solid currentColor; border-inline-end-color: transparent; border-radius: 50%; animation: esh-spin 0.8s linear infinite; }
@keyframes esh-spin { to { transform: rotate(360deg); } }

/* Compact point list: radio, name, full address. */
#esh-pickup.esh-pickup .esh-pickup__results { list-style: none; margin: 0; padding: 0; max-height: 18rem; overflow-y: auto; }
#esh-pickup.esh-pickup .esh-pickup__results:empty { display: none; }
#esh-pickup.esh-pickup .esh-pickup__item { display: block; margin: 0; padding: 0; list-style: none; border-block-end: 1px solid rgba(0, 0, 0, 0.08); }
#esh-pickup.esh-pickup .esh-pickup__item:last-child { border-block-end: 0; }
#esh-pickup.esh-pickup .esh-pickup__item > label { display: flex; align-items: flex-start; gap: 0.55rem; width: 100%; margin: 0; padding: 0.5rem 0.25rem; min-height: 44px; box-sizing: border-box; cursor: pointer; font-weight: 400; }
#esh-pickup.esh-pickup .esh-pickup__item input[type="radio"] { flex: 0 0 auto; margin: 0.25rem 0 0; float: none; }
#esh-pickup.esh-pickup .esh-pickup__text { display: flex; flex-direction: column; line-height: 1.3; }
#esh-pickup.esh-pickup .esh-pickup__name { font-weight: 600; }
#esh-pickup.esh-pickup .esh-pickup__where { font-size: 0.88em; opacity: 0.8; }
#esh-pickup.esh-pickup .esh-pickup__item.is-selected { background: rgba(0, 0, 0, 0.04); }

/* Selected point: one compact summary with "Change". */
#esh-pickup.esh-pickup .esh-pickup__chosen { display: grid; grid-template-columns: 1fr auto; column-gap: 0.6rem; align-items: center; }
#esh-pickup.esh-pickup .esh-pickup__chosen[hidden],
#esh-pickup.esh-pickup:not(.is-collapsed) .esh-pickup__chosen { display: none; }
#esh-pickup.esh-pickup .esh-pickup__chosen-label { grid-column: 1; font-size: 0.85em; opacity: 0.75; }
#esh-pickup.esh-pickup .esh-pickup__chosen-name { grid-column: 1; font-weight: 600; }
#esh-pickup.esh-pickup .esh-pickup__chosen-address { grid-column: 1; font-size: 0.9em; }
#esh-pickup.esh-pickup .esh-pickup__change,
#esh-pickup.esh-pickup .esh-pickup__change:hover,
#esh-pickup.esh-pickup .esh-pickup__change:focus { grid-column: 2; grid-row: 1 / span 3; display: inline-flex; align-items: center; min-height: 44px; margin: 0; padding: 0 0.4rem; border: 0; border-radius: 0; background: none; box-shadow: none; color: inherit; font: inherit; font-size: 0.9em; letter-spacing: normal; text-transform: none; text-decoration: underline; cursor: pointer; }
.esh-pickup-row td { text-align: start; }
@media (max-width: 600px) {
	#esh-pickup.esh-pickup--inline { padding: 0.5rem 0.6rem; }
	#esh-pickup.esh-pickup .esh-cb__list { max-height: 50vh; }
}
