/* AddressBook skin object "default": «ارسال به …» in the menu bar and the address dialog (theme variables) */
.eab-holder { display: inline-block; max-width: 100%; }
.ec-nav .eab-holder { margin-inline-start: auto; flex: 0 1 auto; min-width: 0; }
.eab-trigger { display: inline-flex; align-items: center; gap: 6px; height: 44px; max-width: 26rem; background: none; border: 0; padding: 0 8px; cursor: pointer; font-family: var(--ec-font, inherit); font-size: 12px; color: var(--ec-muted, #81858b); }
.eab-trigger .eab-label { white-space: nowrap; flex: 0 0 auto; }
.eab-trigger i { color: var(--ec-text-2, #3f4064); font-size: 15px; }
.eab-trigger .eab-chev { font-size: 10px; color: var(--ec-muted, #81858b); }
.eab-trigger .eab-value { color: var(--ec-text-2, #3f4064); font-weight: 700; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.eab-trigger:hover .eab-value { color: var(--ec-primary, #ef4056); }

.eab-modal { position: fixed; inset: 0; z-index: 10050; background: rgba(0, 0, 0, .45); display: none; align-items: center; justify-content: center; padding: 16px; }
.eab-modal.eab-open { display: flex; }
.eab-dialog { background: #fff; color: var(--ec-text, #23254e); width: 100%; max-width: 600px; height: min(720px, 92vh); border-radius: var(--ec-radius-lg, 16px); display: flex; flex-direction: column; overflow: hidden; box-shadow: 0 16px 48px rgba(0, 0, 0, .25); font-family: var(--ec-font, inherit); }
.eab-step { display: none; flex-direction: column; min-height: 0; flex: 1; }
.eab-step.eab-active { display: flex; }
.eab-head { display: flex; align-items: center; gap: 8px; padding: 16px 20px; border-bottom: 1px solid var(--ec-line, #f0f0f1); }
.eab-head strong { flex: 1; font-size: 15px; }
.eab-close, .eab-back { width: 32px; height: 32px; border-radius: 50%; background: none; border: 0; font-size: 18px; cursor: pointer; color: var(--ec-text-2, #3f4064); display: inline-flex; align-items: center; justify-content: center; }
.eab-close:hover, .eab-back:hover { background: var(--ec-line, #f0f0f1); }
.eab-body { padding: 16px 20px; overflow: auto; min-height: 0; flex: 1; }
.eab-foot { padding: 12px 20px; border-top: 1px solid var(--ec-line, #f0f0f1); display: flex; flex-direction: column; gap: 8px; }
.eab-foot small { color: var(--ec-muted, #81858b); font-size: 12px; }
.eab-foot-link { flex-direction: row; justify-content: center; }
.eab-btn { height: 44px; border: 0; border-radius: var(--ec-radius, 8px); background: var(--ec-primary, #ef4056); color: #fff; font-family: inherit; font-size: 14px; font-weight: 700; cursor: pointer; width: 100%; }
.eab-btn:hover { background: var(--ec-primary-dark, #d32f45); }
.eab-link { background: none; border: 0; padding: 0; cursor: pointer; color: #19bfd3 !important; font-family: inherit; font-size: 13px; font-weight: 700; text-decoration: none; display: inline-flex; align-items: center; gap: 4px; }
.eab-busy { pointer-events: none; opacity: .6; }

/* list */
.eab-new:not(.eab-btn) { width: 100%; display: flex; align-items: center; gap: 10px; background: none; border: 0; border-bottom: 1px solid var(--ec-line, #f0f0f1); padding: 4px 0 16px; cursor: pointer; font-family: inherit; font-size: 14px; font-weight: 700; color: var(--ec-text, #23254e); }
.eab-new:not(.eab-btn) span { flex: 1; text-align: start; }
.eab-new:not(.eab-btn) i:first-child { font-size: 18px; color: var(--ec-text-2, #3f4064); }
.eab-new:not(.eab-btn) i:last-child { font-size: 12px; color: var(--ec-muted, #81858b); }
.eab-list { list-style: none; margin: 0; padding: 0; }
.eab-item { display: flex; gap: 12px; padding: 16px 0; border-bottom: 1px solid var(--ec-line, #f0f0f1); cursor: pointer; outline: none; }
.eab-item:last-child { border-bottom: 0; }
.eab-item:focus-visible { box-shadow: 0 0 0 2px var(--ec-primary-soft, #fdecef); border-radius: 8px; }
.eab-radio { flex: 0 0 auto; width: 18px; height: 18px; margin-top: 2px; border: 2px solid #c0c2c5; border-radius: 50%; }
.eab-item.eab-selected .eab-radio { border-color: var(--ec-primary, #ef4056); background: radial-gradient(var(--ec-primary, #ef4056) 40%, #fff 46%); }
.eab-text { flex: 1; display: flex; flex-direction: column; gap: 8px; min-width: 0; }
.eab-addr { font-size: 14px; font-weight: 700; line-height: 1.9; color: var(--ec-text, #23254e); }
.eab-title-badge { align-self: flex-start; font-size: 11px; font-weight: 700; color: var(--ec-text-2, #3f4064); background: var(--ec-line, #f0f0f1); border-radius: 999px; padding: 2px 10px; }
.eab-meta { display: flex; align-items: center; gap: 8px; font-size: 12px; color: var(--ec-muted, #81858b); }
.eab-meta i { width: 16px; text-align: center; color: var(--ec-text-2, #3f4064); }
.eab-edit { align-self: flex-start; display: inline-flex; align-items: center; gap: 6px; background: none; border: 0; padding: 4px 0 0; cursor: pointer; color: #19bfd3; font-family: inherit; font-size: 12px; font-weight: 700; }
.eab-empty { padding: 40px 0; text-align: center; color: var(--ec-muted, #81858b); font-size: 13px; display: flex; flex-direction: column; align-items: center; gap: 12px; }
.eab-empty i { font-size: 40px; color: var(--ec-border, #e0e0e2); }
.eab-manage { font-size: 13px; }
.eab-guest { display: flex; flex-direction: column; align-items: center; text-align: center; gap: 14px; padding: 24px 8px; }
.eab-guest > i { font-size: 44px; color: var(--ec-primary, #ef4056); }
.eab-guest p { margin: 0; font-size: 13px; line-height: 2; color: var(--ec-text-2, #3f4064); }
.eab-area { display: inline-flex; align-items: center; gap: 6px; font-weight: 700; font-size: 14px; }

/* map */
.eab-mapbody { position: relative; padding: 0; display: flex; flex-direction: column; }
.eab-map { flex: 1; min-height: 320px; }
.eab-search { position: absolute; top: 12px; inset-inline: 12px; z-index: 1000; display: flex; align-items: center; gap: 6px; background: #fff; border-radius: var(--ec-radius, 8px); box-shadow: var(--ec-shadow, 0 1px 4px rgba(0, 0, 0, .15)); padding: 0 6px 0 12px; }
.eab-search > i { color: var(--ec-muted, #81858b); }
.eab-search-input { flex: 1; height: 44px; border: 0; outline: none; font-family: inherit; font-size: 13px; min-width: 0; background: none; }
.eab-search-go { border: 0; background: var(--ec-line, #f0f0f1); border-radius: 6px; height: 32px; padding: 0 12px; font-family: inherit; font-size: 12px; cursor: pointer; }
.eab-search-results { position: absolute; top: 100%; inset-inline: 0; margin: 4px 0 0; padding: 0; list-style: none; background: #fff; border-radius: var(--ec-radius, 8px); box-shadow: var(--ec-shadow, 0 1px 4px rgba(0, 0, 0, .15)); max-height: 240px; overflow: auto; }
.eab-search-results:empty { display: none; }
.eab-search-results li { padding: 10px 12px; cursor: pointer; display: flex; flex-direction: column; gap: 2px; border-bottom: 1px solid var(--ec-line, #f0f0f1); font-size: 13px; }
.eab-search-results li small { color: var(--ec-muted, #81858b); font-size: 11px; }
.eab-search-results li:hover { background: var(--ec-page, #f0f0f1); }
.eab-pin { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -100%); z-index: 999; pointer-events: none; color: var(--ec-primary, #ef4056); font-size: 38px; filter: drop-shadow(0 2px 2px rgba(0, 0, 0, .3)); }
.eab-locate { position: absolute; bottom: 16px; inset-inline-start: 16px; z-index: 1000; width: 44px; height: 44px; border-radius: 50%; border: 0; background: #fff; box-shadow: var(--ec-shadow, 0 1px 4px rgba(0, 0, 0, .2)); cursor: pointer; font-size: 18px; color: var(--ec-text-2, #3f4064); }
.eab-manual { align-self: center; }

/* form */
.eab-point { display: flex; align-items: center; gap: 8px; background: var(--ec-page, #f0f0f1); border-radius: var(--ec-radius, 8px); padding: 10px 12px; font-size: 12px; margin-bottom: 8px; }
.eab-point-text { flex: 1; color: var(--ec-text-2, #3f4064); }
.eab-point i { color: var(--ec-primary, #ef4056); }
.eab-field { margin-bottom: 14px; }
.eab-field label, .eab-form > label:not(.eab-self) { display: block; font-size: 12px; font-weight: 700; margin: 0 0 6px; color: var(--ec-text-2, #3f4064); }
.eab-field label b { color: var(--ec-primary, #ef4056); font-weight: 400; }
.eab-form input[type=text], .eab-form textarea { width: 100%; box-sizing: border-box; border: 1px solid var(--ec-border, #e0e0e2); border-radius: var(--ec-radius, 8px); padding: 10px 12px; font-family: inherit; font-size: 14px; color: var(--ec-text, #23254e); background: #fff; outline: none; resize: vertical; }
.eab-form input[type=text]:focus, .eab-form textarea:focus { border-color: #19bfd3; }
.eab-form .select2-container .select2-selection--single { height: 44px; border: 1px solid var(--ec-border, #e0e0e2); border-radius: var(--ec-radius, 8px); }
.eab-form .select2-container .select2-selection__rendered { line-height: 42px; }
.eab-form .select2-container .select2-selection__arrow { height: 42px; }
.eab-hint { display: block; margin-top: 4px; font-size: 11px; color: var(--ec-muted, #81858b); }
.eab-ferr { display: block; font-size: 11px; color: var(--ec-primary, #ef4056); margin-top: 4px; }
.eab-ferr:empty { display: none; }
.eab-invalid input[type=text], .eab-invalid textarea, .eab-invalid .select2-selection { border-color: var(--ec-primary, #ef4056) !important; }
.eab-invalid .eab-hint { display: none; }
.eab-row { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.eab-chips { display: flex; gap: 6px; margin-top: 8px; }
.eab-chip { border: 1px solid var(--ec-border, #e0e0e2); border-radius: 999px; background: #fff; padding: 3px 12px; font-family: inherit; font-size: 12px; cursor: pointer; color: var(--ec-text-2, #3f4064); }
.eab-chip:hover { border-color: var(--ec-primary, #ef4056); color: var(--ec-primary, #ef4056); }
.eab-self { display: flex; align-items: center; gap: 8px; font-size: 13px; font-weight: 700; cursor: pointer; margin: 4px 0 8px; }
.eab-self input { width: 18px; height: 18px; accent-color: var(--ec-primary, #ef4056); margin: 0; }
.eab-self-info { font-size: 12px; color: var(--ec-muted, #81858b); margin: 0 26px 12px; }
.eab-receiver { border-top: 1px dashed var(--ec-border, #e0e0e2); padding-top: 12px; }
.eab-error { font-size: 12px; color: var(--ec-primary, #ef4056); }
.eab-error:empty { display: none; }

@media (max-width: 991.98px) {
    .ec-nav .eab-holder { margin-inline-start: 0; }
    .eab-trigger { max-width: 16rem; }
}
@media (max-width: 576px) {
    .eab-modal { padding: 0; align-items: flex-end; }
    .eab-dialog { max-width: none; height: 92vh; border-radius: var(--ec-radius-lg, 16px) var(--ec-radius-lg, 16px) 0 0; }
    .eab-row { grid-template-columns: 1fr; gap: 0; }
}
