.venipak_shipping_method_icon {
  padding-right: 5px;
}

.venipak_shipping_method_description {
  display: block;
  font-size: 11px;
  line-height: 11px;
  color: #666;
}

.venipak_pickup_filter {
  display: flex;
  white-space: nowrap;
  padding-top: 5px;
  font-size: 12px;
}

.venipak_pickup_filter div label {
  display: inline;
  margin-bottom: 0;
}

.venipak_pickup_filter div {
  float: right;
  display: flex;
  align-items: baseline;
}

.venipak-shipping-pickup-filter-item {
  padding-right: 5px;
}

.venipak-map {
  max-width: 400px;
}

.wc-venipak-shipping-terminals {
    text-align: right;
}

.wc-venipak-shipping-terminals td {
    box-sizing: border-box;
}

.wc-venipak-shipping-terminals select,
.wc-venipak-shipping-terminals #venipak_pickup_point,
.wc-venipak-shipping-terminals #selected-pickup-info,
.wc-venipak-shipping-terminals #venipak-map {
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
}

.venipak_pickup_point.venipak-loading {
    opacity: 0.7;
    cursor: wait;
    position: relative;
    padding-right: 35px;
}

.venipak_pickup_point.venipak-loading::after {
    content: '';
    position: absolute;
    right: 10px;
    top: 50%;
    transform: translateY(-50%);
    width: 16px;
    height: 16px;
    border: 2px solid #ccc;
    border-top-color: #333;
    border-radius: 50%;
    animation: venipak-spin 0.8s linear infinite;
}

@keyframes venipak-spin {
    to {
        transform: translateY(-50%) rotate(360deg);
    }
}

.venipak_pickup_point.venipak-loading option {
    color: #999;
}

/* For Select2 container */
.select2-container--default .select2-selection--single.venipak-loading {
    position: relative;
    opacity: 0.7;
}

.select2-container--default .select2-selection--single.venipak-loading::after {
    content: '';
    position: absolute;
    right: 25px;
    top: 50%;
    transform: translateY(-50%);
    width: 14px;
    height: 14px;
    border: 2px solid #ccc;
    border-top-color: #333;
    border-radius: 50%;
    animation: venipak-spin 0.8s linear infinite;
    pointer-events: none;
    z-index: 1;
}

/* Hide Select2 arrow when loading */
.select2-container--default .select2-selection--single.venipak-loading .select2-selection__arrow {
    display: none;
}

/* Inline pickup selector - only affect elements containing Venipak wrapper */
ul#shipping_method li:has(.venipak-pickup-wrapper) {
    float: none;
    width: 100%;
    min-height: auto;
    overflow: visible;
    margin-bottom: 10px;
}

.venipak-pickup-wrapper {
    display: block;
    clear: both;
    max-width: var(--venipak-pickup-width, 275px);
    padding: 10px 0 0;
    margin-left: auto;
}

.venipak-pickup-wrapper .select2-container {
    width: 100% !important;
}

.venipak-pickup-wrapper .select2-selection--single {
    overflow: hidden !important;
}

.venipak-pickup-wrapper .select2-selection__rendered {
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
    padding-right: 30px !important;
}

.venipak-pickup-wrapper #selected-pickup-info {
    text-align: right;
    word-wrap: break-word;
    overflow-wrap: break-word;
    margin-top: 10px;
    font-size: 0.85em;
    line-height: 1.4;
}

.venipak-pickup-wrapper #venipak-map {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box;
    margin-top: 10px;
}
