/* =============================================================================
   WC OSAS — Frontend Stylesheet  v0.5.12
   No !important, specific selectors, proper :focus/:hover separation
   ============================================================================= */

:root {
  --wc-osas-primary-bg         : #0073aa;
  --wc-osas-primary-text       : #ffffff;
  --wc-osas-primary-hover-bg   : #005d8c;
  --wc-osas-primary-hover-text : #ffffff;
  --wc-osas-danger-bg          : #ffffff;
  --wc-osas-danger-text        : #b32d2e;
  --wc-osas-danger-border      : #b32d2e;
  --wc-osas-danger-hover-bg    : #b32d2e;
  --wc-osas-danger-hover-text  : #ffffff;
  --wc-osas-accent             : #0073aa;
  
  --osas-btn-border-width      : 1px;
  --osas-btn-radius            : 5px;
  --osas-btn-pad               : 6px 14px;
  --osas-btn-md-pad            : 5px 12px;
  --osas-btn-sm-pad            : 4px 10px;
  --osas-transition            : 0.15s ease;
  --osas-card-radius           : 7px;
  --osas-border-color          : #dde1e7;
  --osas-input-radius          : 5px;
  --osas-icon-gap              : 5px;
}

/* -----------------------------------------------------------------------------
   Form resets
   ----------------------------------------------------------------------------- */
.wc-osas-page form,
.wc-osas-dashboard form,
.wc-osas-directory form {
  margin  : 0;
  padding : 0;
}

/* -----------------------------------------------------------------------------
   Button System: .wc-osas-btn (base) + modifiers
   ----------------------------------------------------------------------------- */

.wc-osas-btn,
a.wc-osas-btn,
button.wc-osas-btn,
input[type="submit"].wc-osas-btn {
  border         : 1px solid #ddd;
  background     : #f7f7f7;
  color          : #555;
  font-weight    : 500;
  padding        : var(--osas-btn-pad);
  border-radius  : var(--osas-btn-radius);
  border-width   : var(--osas-btn-border-width);
  font-size      : .8125rem;
  line-height    : 1.4;
  letter-spacing : .01em;
  transition     : background var(--osas-transition), 
                   border-color var(--osas-transition), 
                   color var(--osas-transition), 
                   box-shadow var(--osas-transition);
  display        : inline-flex;
  align-items    : center;
  gap            : var(--osas-icon-gap);
  white-space    : nowrap;
  cursor         : pointer;
  text-decoration: none;
}

.wc-osas-btn i:first-child {
  margin-right : var(--osas-icon-gap);
}
.wc-osas-btn i:last-child:not(:only-child) {
  margin-left  : var(--osas-icon-gap);
  margin-right : 0;
}

/* Primary button */
.wc-osas-btn.wc-osas-btn--primary {
  color        : var(--wc-osas-primary-text);
  background   : var(--wc-osas-primary-bg);
  border-color : var(--wc-osas-primary-bg);
}
.wc-osas-btn.wc-osas-btn--primary:hover {
  color        : var(--wc-osas-primary-hover-text);
  background   : var(--wc-osas-primary-hover-bg);
  border-color : var(--wc-osas-primary-hover-bg);
}
.wc-osas-btn.wc-osas-btn--primary:focus {
  color          : var(--wc-osas-primary-hover-text);
  background     : var(--wc-osas-primary-hover-bg);
  border-color   : var(--wc-osas-primary-hover-bg);
  outline        : 2px solid var(--wc-osas-primary-hover-bg);
  outline-offset : 2px;
}

/* Danger button */
.wc-osas-btn.wc-osas-btn--danger {
  color        : var(--wc-osas-danger-text);
  border-color : var(--wc-osas-danger-border);
  background   : var(--wc-osas-danger-bg);
}
.wc-osas-btn.wc-osas-btn--danger:hover {
  background   : var(--wc-osas-danger-hover-bg);
  border-color : var(--wc-osas-danger-hover-bg);
  color        : var(--wc-osas-danger-hover-text);
}
.wc-osas-btn.wc-osas-btn--danger:focus {
  background     : var(--wc-osas-danger-hover-bg);
  border-color   : var(--wc-osas-danger-hover-bg);
  color          : var(--wc-osas-danger-hover-text);
  outline        : 2px solid var(--wc-osas-danger-hover-bg);
  outline-offset : 2px;
}

/* Muted button */
.wc-osas-btn.wc-osas-btn--muted {
  color        : #555;
  border-color : #c0c0c0;
  background   : #f6f6f6;
}
.wc-osas-btn.wc-osas-btn--muted:hover {
  background   : #777;
  border-color : #777;
  color        : #fff;
}
.wc-osas-btn.wc-osas-btn--muted:focus {
  background     : #777;
  border-color   : #777;
  color          : #fff;
  outline        : 2px solid #999;
  outline-offset : 2px;
}

/* Small buttons */
.wc-osas-btn.wc-osas-btn--sm {
  padding     : var(--osas-btn-sm-pad);
  font-size   : .75rem;
}

/* Medium buttons */
.wc-osas-btn.wc-osas-btn--md {
  padding     : var(--osas-btn-md-pad);
}


/* -----------------------------------------------------------------------------
   Icon-only buttons
   ----------------------------------------------------------------------------- */
.wc-osas-icon-btn {
  background     : none;
  border         : none;
  padding        : 0 3px;
  cursor         : pointer;
  font-size      : 1rem;
  line-height    : 1;
  color          : var(--wc-osas-accent);
  vertical-align : middle;
  transition     : color var(--osas-transition);
}
.wc-osas-icon-btn:hover {
  color : var(--wc-osas-primary-hover-bg);
}
.wc-osas-icon-btn:focus {
  color          : var(--wc-osas-primary-hover-bg);
  outline        : 2px solid var(--wc-osas-accent);
  outline-offset : 2px;
}

/* Visibility toggle button */
.wc-osas-vis-btn {
  background    : #fff;
  border        : var(--osas-btn-border-width) solid var(--osas-border-color);
  border-radius : var(--osas-btn-radius);
  padding       : 3px 9px;
  font-size     : .75rem;
  cursor        : pointer;
  display       : inline-flex;
  align-items   : center;
  gap           : 4px;
  color         : #555;
  transition    : all var(--osas-transition);
}
.wc-osas-vis-btn:hover {
  background   : #f0f0f0;
  border-color : var(--wc-osas-accent);
  color        : #222;
}
.wc-osas-vis-btn:focus {
  background     : #f0f0f0;
  border-color   : var(--wc-osas-accent);
  color          : #222;
  outline        : 2px solid var(--wc-osas-accent);
  outline-offset : 2px;
}

/* -----------------------------------------------------------------------------
   Sub-tabs navigation
   ----------------------------------------------------------------------------- */
.wc-osas-sub-tabs {
  display       : flex;
  gap           : 2px;
  border-bottom : 2px solid #e0e0e0;
  margin-bottom : 1.25rem;
}
.wc-osas-sub-tab {
  padding         : 7px 14px;
  font-size       : .875rem;
  text-decoration : none !important;
  color           : #555;
  border-bottom   : 2px solid transparent;
  margin-bottom   : -2px;
  border-radius   : 4px 4px 0 0;
  transition      : color var(--osas-transition), 
                    border-color var(--osas-transition),
                    background var(--osas-transition);
}
.wc-osas-sub-tab:hover {
  color      : #111;
  background : #f5f5f5;
}
.wc-osas-sub-tab:focus {
  color      : #111;
  background : #f5f5f5;
  outline    : 2px solid var(--wc-osas-accent);
  outline-offset: -2px;
}
.wc-osas-sub-tab--active {
  color              : var(--wc-osas-accent);
  border-bottom-color: var(--wc-osas-accent);
  font-weight        : 600;
  background         : #f7fbff;
}
.wc-osas-sub-tab--active:hover {
  background : #eaf4fb;
}
.wc-osas-sub-tab--active:focus {
  background : #eaf4fb;
  outline    : 2px solid var(--wc-osas-accent);
  outline-offset: -2px;
}

/* -----------------------------------------------------------------------------
   Tabs (organisation cards)
   ----------------------------------------------------------------------------- */
.wc-osas-tabs {
  display       : flex;
  gap           : .5rem;
  border-bottom : 2px solid var(--osas-border-color);
  margin-bottom : 1rem;
}
.wc-osas-tab-btn {
  padding       : .5rem 1rem;
  font-size     : .875rem;
  font-weight   : 500;
  background    : transparent;
  border        : none;
  border-bottom : 2px solid transparent;
  margin-bottom : -2px;
  cursor        : pointer;
  color         : #666;
  transition    : all var(--osas-transition);
}
.wc-osas-tab-btn:hover {
  color      : #222;
  background : #f5f5f5;
}
.wc-osas-tab-btn:focus {
  color      : #222;
  background : #f5f5f5;
  outline    : 2px solid var(--wc-osas-accent);
  outline-offset: 2px;
}
.wc-osas-tab-btn.wc-osas-tab-active {
  color              : var(--wc-osas-accent);
  border-bottom-color: var(--wc-osas-accent);
  font-weight        : 600;
  background         : transparent;
}
.wc-osas-tab-btn.wc-osas-tab-active:hover {
  color      : var(--wc-osas-primary-hover-bg);
  background : #f7fbff;
}
.wc-osas-tab-btn.wc-osas-tab-active:focus {
  color      : var(--wc-osas-primary-hover-bg);
  background : #f7fbff;
  outline    : 2px solid var(--wc-osas-accent);
  outline-offset: 2px;
}
/* Tab Content Panels */
.wc-osas-tab-content {
  display : none;
}
.wc-osas-tab-content.wc-osas-tab-active {
  display : block;
}


/* -----------------------------------------------------------------------------
   Section headers
   ----------------------------------------------------------------------------- */
.wc-osas-section-header {
  display         : flex;
  align-items     : center;
  justify-content : space-between;
  flex-wrap       : wrap;
  gap             : .5rem;
  border-bottom   : 1px solid #e5e5e5;
  padding-bottom  : .5rem;
  margin-bottom   : 1rem;
  font-size       : 1.1rem;
  font-weight     : 600;
}
.wc-osas-section-actions {
  font-size   : 0;
  line-height : 1;
}
.wc-osas-section-actions .button,
.wc-osas-section-actions .wc-osas-btn {
  font-size : .8125rem;
}

/* -----------------------------------------------------------------------------
   Search bar
   ----------------------------------------------------------------------------- */
.wc-osas-address-search {
  margin-bottom : .875rem;
  display       : flex;
  flex-wrap     : wrap;
  gap           : .4rem;
  align-items   : center;
}
.wc-osas-count-label {
  margin-left : auto;
  font-size   : .8rem;
  color       : #777;
}

/* -----------------------------------------------------------------------------
   Address cards
   ----------------------------------------------------------------------------- */
.wc-osas-address-list {
  display        : flex;
  flex-direction : column;
  gap            : .75rem;
}

.wc-osas-address-item {
  background    : #fff;
  border        : 1px solid var(--osas-border-color);
  border-radius : var(--osas-card-radius);
  padding       : .9rem 1.1rem;
  box-shadow    : 0 1px 3px 0 rgba(0, 0, 0, 0.1);
  transition    : border-color var(--osas-transition), box-shadow var(--osas-transition);
}
.wc-osas-address-item--hidden  { 
  opacity:.6; 
  background:#fafafa; 
}

.wc-osas-address-item--editing { 
  border-color: var(--osas-border-color); 
  background:#f8f9fb; 
}

.wc-osas-address-item--editing .wc-osas-address-form-panel {
  margin: 0;
  padding: .25rem .25rem 0;
  background: none;
  border: none;
  border-radius: 0;
}

.wc-osas-address-item__header {
  display         : flex;
  align-items     : flex-start;
  justify-content : space-between;
  gap             : .75rem;
  flex-wrap       : wrap;
  margin-bottom   : .5rem;
}
.wc-osas-address-item__title {
  flex        : 1;
  font-size   : .9375rem;
  font-weight : 600;
  display     : flex;
  align-items : center;
  flex-wrap   : wrap;
  gap         : .35rem;
}

.wc-osas-address-item__actions {
  display     : inline-flex;
  align-items : center;
  gap         : .3rem;
  flex-wrap   : wrap;
  font-size   : 0;
}
.wc-osas-address-item__actions > * {
  font-size : .8125rem;
}
.wc-osas-address-item__actions .button,
.wc-osas-address-item__actions .wc-osas-btn { 
  margin: 0; 
}


.wc-osas-address-item__badges {
  display     : flex;
  align-items : center;
  flex-wrap   : wrap;
  gap         : .4rem;
  margin      : .5rem 0;
  font-size   : 0;
}
.wc-osas-address-item__badges > * {
  font-size : .8125rem;
}
.wc-osas-address-item__body {
  color     : #444;
  font-size : .9rem;
}
.wc-osas-address-item__body address {
  font-style  : normal;
  line-height : 1.55;
  margin      : 0 0 .3rem;
}
.wc-osas-address-meta {
  margin-top : .2rem;
}

.wc-osas-address-provenance {
  font-size   : .725rem;
  color       : #999;
  margin-top  : .5rem;
  border-top  : 1px solid #efefef;
  padding-top : .5rem;
  line-height : 1.5;
}

/* Badges */
.wc-osas-badge {
  display       : inline-block;
  font-size     : .72rem;
  font-weight   : 500;
  padding       : 2px 7px;
  border-radius : 20px;
  line-height   : 1.5;
}
.wc-osas-badge--owner  { background:#e8f4fb; color: var(--wc-osas-accent); }
.wc-osas-badge--manager { background:#e8f5e9; color:#4A9D39; }
.wc-osas-badge--member  { background:#f0f0f0; color:#666; }

.wc-osas-badge--hidden { background:#fff3cd; color:#856404; }

.wc-osas-badge--org    { background:#e8f5e9; color:#2e7d32; }
.wc-osas-badge--default-billing { background:#e3f2fd; color:#1976d2; }
.wc-osas-badge--default-shipping { background:#f3e5f5; color:#7b1fa2; }

/* -----------------------------------------------------------------------------
   Form panels
   ----------------------------------------------------------------------------- */
.wc-osas-address-form-panel {
  background    : #f8f9fb;
  border        : 1px solid var(--osas-border-color);
  border-radius : var(--osas-card-radius);
  padding       : 1.1rem 1.25rem 1rem;
  margin-bottom : 1.1rem;
}
.wc-osas-address-form-panel h4 {
  margin      : 0 0 .9rem;
  font-size   : .975rem;
  font-weight : 600;
  color       : #222;
}

/* WC address fields in grid layout */
.woocommerce-address-fields__field-wrapper {
  display               : grid;
  grid-template-columns : 1fr 1fr;
  column-gap            : 1rem;
  row-gap               : 0;
}
.woocommerce-address-fields__field-wrapper .form-row-wide { 
  grid-column: 1 / -1; 
}

/* Override WC defaults for grid layout - be more specific than WC */
.woocommerce-MyAccount-content .woocommerce-address-fields__field-wrapper .form-row-first,
.woocommerce-MyAccount-content .woocommerce-address-fields__field-wrapper .form-row-last {
  width  : 100%;
}

.woocommerce-address-fields__field-wrapper .form-row {
  margin-bottom : .65rem;
}
.woocommerce-address-fields__field-wrapper label {
  display        : block;
  font-size      : .8rem;
  font-weight    : 600;
  color          : #444;
  margin-bottom  : .25rem;
  text-transform : uppercase;
  letter-spacing : .03em;
}
.woocommerce-address-fields__field-wrapper .input-text,
.woocommerce-address-fields__field-wrapper select,
.woocommerce-address-fields__field-wrapper textarea {
  width         : 100%;
  padding       : 6px 9px;
  border        : 1px solid var(--osas-border-color);
  border-radius : var(--osas-input-radius);
  font-size     : .875rem;
  line-height   : 1.4;
  color         : #222;
  background    : #fff;
  transition    : border-color var(--osas-transition);
  box-sizing    : border-box;
}
.woocommerce-address-fields__field-wrapper .input-text:focus,
.woocommerce-address-fields__field-wrapper select:focus,
.woocommerce-address-fields__field-wrapper textarea:focus {
  outline      : none;
  border-color : var(--wc-osas-accent);
  box-shadow   : 0 0 0 2px rgba(0,115,170,.15);
}
.woocommerce-address-fields__field-wrapper textarea { 
  resize     : vertical; 
  min-height : 64px; 
}

@media (max-width: 600px) {
  .woocommerce-address-fields__field-wrapper { 
    grid-template-columns: 1fr; 
  }
  .woocommerce-MyAccount-content .woocommerce-address-fields__field-wrapper .form-row-first,
  .woocommerce-MyAccount-content .woocommerce-address-fields__field-wrapper .form-row-last { 
    grid-column: 1 / -1; 
  }
}

/* -----------------------------------------------------------------------------
   Pagination
   ----------------------------------------------------------------------------- */
.woocommerce-pagination {
  margin-top : .875rem;
  font-size  : .875rem;
}
.woocommerce-pagination a,
.woocommerce-pagination span {
  display         : inline-block;
  padding         : 4px 10px;
  border          : var(--osas-btn-border-width) solid var(--osas-border-color);
  border-radius   : 4px;
  margin          : 0 2px;
  text-decoration : none !important;
  color           : #555;
  transition      : all var(--osas-transition);
}
.woocommerce-pagination .current,
.woocommerce-pagination a:hover {
  background   : var(--wc-osas-accent);
  border-color : var(--wc-osas-accent);
  color        : #fff;
}
.woocommerce-pagination a:focus {
  background     : var(--wc-osas-accent);
  border-color   : var(--wc-osas-accent);
  color          : #fff;
  outline        : 2px solid var(--wc-osas-accent);
  outline-offset : 2px;
}

/* -----------------------------------------------------------------------------
   Organisation cards - be more specific than .woocommerce-MyAccount-content h2
   ----------------------------------------------------------------------------- */
.wc-osas-page .wc-osas-card,
.wc-osas-dashboard .wc-osas-card {
  background    : white;
  border        : 1px solid var(--osas-border-color);
  border-radius : var(--osas-card-radius);
  padding       : 1.5rem;
  margin-bottom : 1rem;
  box-shadow    : 0 1px 3px 0 rgba(0, 0, 0, 0.1);
}

.woocommerce-MyAccount-content .wc-osas-dashboard .wc-osas-card h2,
.woocommerce-MyAccount-content .wc-osas-dashboard .wc-osas-card h3,
.woocommerce-MyAccount-content .wc-osas-page .wc-osas-card h2,
.woocommerce-MyAccount-content .wc-osas-page .wc-osas-card h3 {
  margin      : 0;
  font-size   : 1.2em;
  font-weight : 700;
  color       : #1a1a1a;
  line-height : 1.3;
}

.wc-osas-org-header {
  display         : flex;
  align-items     : center;
  justify-content : space-between;
  gap             : .5rem;
  margin-bottom   : .75rem;
  flex-wrap       : wrap;
}

.wc-osas-org-title {
  display     : flex;
  align-items : center;
  gap         : .4rem;
  flex        : 1;
  min-width   : 0;
}

.wc-osas-org-icon {
  font-size   : 1.1rem;
  color       : var(--wc-osas-accent);
  flex-shrink : 0;
  line-height : 1;
}

.wc-osas-org-name-heading {
  font-size     : 1.15rem;
  font-weight   : 700;
  margin        : 0;
  line-height   : 1.3;
  white-space   : nowrap;
  overflow      : hidden;
  text-overflow : ellipsis;
  color         : #1a1a1a;
}

.wc-osas-btn--edit-org-name {
  flex-shrink    : 0;
  font-size      : .875rem;
  font-weight    : 400;
  line-height    : 1;
  padding        : 0;
  border         : none;
  background     : none;
  color          : var(--wc-osas-accent);
  cursor         : pointer;
  display        : inline-flex;
  align-items    : center;
  gap            : 3px;
  opacity        : .7;
  transition     : opacity var(--osas-transition);
  vertical-align : middle;
}
.wc-osas-btn--edit-org-name:hover {
  opacity : 1;
  color   : var(--wc-osas-primary-hover-bg);
  background     : none;
}
.wc-osas-btn--edit-org-name:focus {
  opacity : 1;
  color   : var(--wc-osas-primary-hover-bg);
  outline : 2px solid var(--wc-osas-accent);
  outline-offset : 2px;
}
.wc-osas-btn--edit-org-name i {
  margin : 0;
}

.wc-osas-org-role-badge {
  flex-shrink   : 0;
  font-size     : .72rem;
  font-weight   : 500;
  padding       : 3px 9px;
  border-radius : 20px;
  line-height   : 1.5;
  background    : #e8f4fb;
  color         : var(--wc-osas-accent);
  white-space   : nowrap;
}
.wc-osas-org-role-badge--owner {
  background : var(--wc-osas-accent);
  color      : #fff;
}
.wc-osas-org-role-badge--manager {
  background : #4A9D39;
  color      : #fff;
}
.wc-osas-org-role-badge--member {
  background : #666;
  color      : #fff;
}

.wc-osas-member-item, 
.wc-osas-invite-item {
  padding       : .5rem .75rem;
  border        : 1px solid var(--osas-border-color);
  border-radius : 5px;
  margin-bottom : .4rem;
  font-size     : .875rem;
}

.wc-osas-invites-list {
  margin-top : .5em;
}

.wc-osas-empty-state {
  margin-top : .5em;
}
.wc-osas-empty-state p { 
  margin: 0;
}

/* Org card header right-side wrapper */
.wc-osas-org-header__right {
  display     : flex;
  align-items : center;
  gap         : .4rem;
  flex-shrink : 0;
}

/* Pending org card */
.wc-osas-org-card--pending {
  opacity     : .75;
  border-left : 4px solid #d4922a;
}

/* Pending approval banner inside org card */
.wc-osas-org-pending-banner {
  background     : #fdf4e7;
  border         : 1px solid #f0d9a8;
  border-radius  : 6px;
  padding        : 10px 14px;
  margin-bottom  : 16px;
  display        : flex;
  align-items    : center;
  gap            : 8px;
  font-size      : .9rem;
  color          : #8a6d3b;
}

/* Pending status badge (small pill) */
.wc-osas-badge--pending {
  background      : #fdf4e7;
  color           : #8a6d3b;
  border          : 1px solid #f0d9a8;
  font-size       : .7rem;
  font-weight     : 700;
  letter-spacing  : .06em;
  text-transform  : uppercase;
  padding         : 3px 9px;
  border-radius   : 100px;
}

/* Create org input - no max-width */
.wc-osas-create-org-form input[type="text"],
.wc-osas-create-org-form .osas-input {
  width     : 100%;
  max-width : none;
}


/* -----------------------------------------------------------------------------
   My Account menu icons
   Note: Icons are now dynamically output via PHP based on icon library setting
   See: src/Account/MyAccount.php -> output_custom_css()
   ----------------------------------------------------------------------------- */

/* Selector widget (checkout/cart) */
.woo-osas-selector select { width: 100%; }

/* Legacy support */
#wc-osas-add-form { display:none; }
#wc-osas-add-form.is-open { display:block; }

/* Dashicons fallback support */
.wc-osas-dashboard .dashicons,
.wc-osas-address-item .dashicons,
.wc-osas-org-card .dashicons,
.wc-osas-org-icon .dashicons {
  font-size   : inherit;
  width       : auto;
  height      : auto;
  line-height : inherit;
  vertical-align: middle;
}
.wc-osas-org-icon .dashicons {
  font-size : 1.1em;
}


/* Form Inputs */
.wc-osas-input,
input.wc-osas-input,
select.wc-osas-input,
textarea.wc-osas-input {
  padding       : .5rem .75rem;
  font-size     : .9375rem;
  border        : 1px solid var(--osas-border-color);
  border-radius : 4px;
  background    : #fff;
  color         : #333;
  transition    : border-color var(--osas-transition);
}
.wc-osas-input:focus,
input.wc-osas-input:focus,
select.wc-osas-input:focus,
textarea.wc-osas-input:focus {
  outline      : none;
  border-color : var(--wc-osas-accent);
  box-shadow   : 0 0 0 3px rgba(0, 115, 170, 0.1);
}

/* -----------------------------------------------------------------------------
   Utility Classes (for organisations page)
   ----------------------------------------------------------------------------- */

/* Flexbox utilities */
.wc-osas-flex            { display: flex; }
.wc-osas-items-center    { align-items: center; }
.wc-osas-justify-between { justify-content: space-between; }
.wc-osas-gap-2           { gap: .5rem; }

/* Text utilities */
.wc-osas-text-sm   { font-size: .875rem; }
.wc-osas-text-gray { color: #666; }

/* Spacing */
.wc-osas-mb-4 { margin-bottom: 1rem !important; }

/* Lists */
.wc-osas-members-list,
.wc-osas-invites-list {
  display        : flex;
  flex-direction : column;
  gap            : .5rem;
}

.wc-osas-member-item,
.wc-osas-invite-item {
  padding       : .75rem;
  border        : 1px solid var(--osas-border-color);
  border-radius : 4px;
  background    : #fafafa;
}

/* Empty state */
.wc-osas-empty-state {
  padding    : 1rem;
  text-align : center;
  color      : #999;
}

/* Alerts */
.wc-osas-alert {
  padding       : .75rem 1rem;
  border-radius : 4px;
  margin-bottom : 1rem;
}
.wc-osas-alert-info {
  background   : #e3f2fd;
  border-color : #90caf9;
  color        : #1976d2;
}


/* Shared address badge */
.wc-osas-badge--shared {
    background: #e3f2fd;
    color: #1976d2;
    border: 1px solid #90caf9;
    display: inline-flex;
    align-items: center;
    gap: var(--osas-icon-gap);
}

/* Checkout address selector */
.wc-osas-selector {
    margin: 0.5rem 0 1rem !important;
}

.wc-osas-address-select {
    width: 100% !important;
    max-width: 100% !important;
}

/* Select2/SelectWoo dropdown styling for address selector */
.wc-osas-selector .select2-container {
    width: 100% !important;
    max-width: 100% !important;
}

.wc-osas-selector .select2-container--default .select2-selection--single {
    min-height: 40px;
    padding: 6px 12px;
    border: 1px solid #ddd;
    border-radius: 4px;
}

.wc-osas-selector .select2-container--default .select2-selection--single .select2-selection__rendered {
    line-height: 26px;
    padding-left: 0;
}

.wc-osas-selector .select2-container--default .select2-selection--single .select2-selection__arrow {
    height: 38px;
}

/* Ensure dropdown appears above other elements */
.select2-container--open {
    z-index: 999999 !important;
}

.select2-dropdown {
    z-index: 999999 !important;
}
