/* Remove native arrow so we can control spacing/position */
.bp-row select {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;

  /* leave room for the arrow on the right */
  padding: 6px 40px 6px 12px;

  /* your existing styles */
  min-width: 240px;
  border: 1px solid #f0f0f0;
  border-radius: 24px;
  outline: none;
  background-color: #fff;
  transition: border-color 0.2s ease;

  /* draw a chevron as a background so we can position it */
  background-image: url("data:image/svg+xml;utf8,\
  <svg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8' fill='none'>\
    <path d='M1 1l5 5 5-5' stroke='%2323408f' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/>\
  </svg>");
  background-repeat: no-repeat;
  background-position: right 14px center;
  background-size: 12px 8px;
}

/* Hide the old arrow on very old IE/Edge */
.bp-row select::-ms-expand { display: none; }

.bp-row select:focus {
  border-color: #23408f;
}

.bp-widget {
    border: 1px solid #eee;
    padding: 12px;
    border-radius: 24px;
    overflow: hidden; /* keep rounded corners for table */
}

/* Dropdown rows */
.bp-row {
    margin-bottom: 10px;
    display: flex;
    gap: 10px;
    align-items: center;
}

.bp-row label {
    width: 130px;
    font-weight: 600;
}

.bp-row select {
    min-width: 240px;
    border: 1px solid #f0f0f0;
    border-radius: 24px;
    padding: 6px 10px;
    outline: none;
    background-color: #fff;
    transition: border-color 0.2s ease;
}

.bp-row select:focus {
    border-color: #23408f;
}

/* Table styling */
.bp-table {
    width: 100%;
    margin-top: 8px;
    border-radius: 24px;
    overflow: hidden; /* ensures rounded edges */
}

/* Header cells */
.bp-table th {
    background: #23408f;
    color: #ffffff;
    font-weight: 600;
    text-transform: uppercase;
    border: 0;
    padding: 10px 12px;
    text-align: left;
}

/* Body cells */
.bp-table td {
    border: 1px solid #F0F0F0; /* column borders in tbody */
    padding: 10px 12px;
    text-align: left;
}

/* Alternating row colors */
.bp-table tbody tr:nth-child(even) {
    background: #f8f8f8;
}

.bp-table tbody tr:nth-child(odd) {
    background: #ffffff;
}

/* Hover effect */
.bp-table tbody tr:hover {
    background: #eef3ff;
    transition: background 0.2s ease;
}

/* Block used by [bitumen_category] */
.bp-category-block {
    border: 1px solid #f0f0f0;
    border-radius: 24px;
    padding: 16px 20px;
    margin: 10px 0;
    background: #ffffff;
}
.bp-category-title {
    color: #23408f;
    font-weight: 700;
    margin: 0 0 8px 0;
}
.bp-subcategory-list {
    margin: 0;
    padding-left: 20px;
    list-style-type: disc;
    color: #333;
}
.bp-subcategory-item {
    margin: 5px 0;
    font-weight: 500;
}
.bp-subcategory-empty {
    margin: 0;
    color: #666;
}

/* ----------------------------------------------------
   MOBILE LAYOUT FIX (Option A: stack label above select)
   ---------------------------------------------------- */
@media (max-width: 480px) {
  .bp-row {
    flex-direction: column;
    align-items: stretch;
    gap: 6px;
  }

  .bp-row label {
    width: auto;
    margin: 0 0 2px 0;
    font-weight: 600;
  }

  .bp-row select {
    min-width: 0;
    width: 100%;
    box-sizing: border-box;
    padding: 6px 40px 6px 12px;
    background-position: right 12px center;
  }
}
