/*
 * product-description.css
 * Styles for the product description area (.product)
 * Makes tables, headings, and lists inside the description
 * match the formatting on abqindustrial.dev/store.
 */

/* ── Section headings (h3 / h4 inside description) ─────────────────────── */
/* No border-bottom to avoid double-line with Bootstrap 5 <hr> elements     */
.product h3.product-desc-sub-title,
.product h4.product-desc-sub-title {
    font-size: 25px !important;
    font-weight: 700;
    text-align: left;
    color: #0054a6 !important;
    margin-top: 40px;
}

/* ── hr inside description: reset Bootstrap opacity and use brand color ─── */
.product hr.product-desc-sub-title-line {
    border-bottom: 5px solid #0054a6;
    border-color: #0054a6 !important;
    width: 100%;
    margin-bottom: 35px;
    margin-left: 0;
    opacity: 1 !important;
}

/* ── Tables inside product description ──────────────────────────────────── */
.product table {
    width: 100%;
    border-collapse: collapse;
    margin: 1rem 0;
    font-size: .9rem;
    background: #fff;
}

.product table th,
.product table td {
    border: 1px solid #c8d6e5;
    padding: .45rem .65rem;
    vertical-align: middle;
    text-align: left;
}

/* Header row */
.product table thead th,
.product table tr:first-child th {
    background-color: #055198;
    color: #fff;
    font-weight: 700;
    white-space: nowrap;
}

/* Zebra rows */
.product table tbody tr:nth-child(even) {
    background-color: #f0f5fb;
}

.product table tbody tr:hover {
    background-color: #dce8f5;
}

/* Sub-header rows (e.g. "Min Lb / Max Lb" second header row) */
.product table tbody tr th {
    background-color: #e8eef6;
    color: #055198;
    font-weight: 700;
}

/* Wrap table for horizontal scroll on small screens */
.product table {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

/* ── Lists inside product description ───────────────────────────────────── */
.product ul,
.product ol {
    padding-left: 1.4rem;
    margin: .5rem 0 1rem;
}

.product ul li,
.product ol li {
    margin-bottom: .25rem;
    line-height: 1.55;
}

/* ── Feature category labels (Fast / Accurate / Dependable / Convenient) ─ */
.product p > strong:only-child,
.product td > strong:only-child {
    color: #055198;
}

/* ── Links inside product description ──────────────────────────────────── */
.product a {
    color: #055198;
    text-decoration: underline;
}

.product a:hover {
    color: #c96000;
}

/* ── Utility classes from production store (appear inside description HTML) */

/* Image with border frame (relatedImage) */
.relatedImage {
    display: inline-block;
    border: 1px solid #9a9a9a;
    max-width: 250px;
}
.relatedImage .relatedImageInner img {
    border: none !important;
}
.relatedImage .relatedImageText {
    border-top: 1px solid #9a9a9a;
    padding: 4px 6px;
    font-size: 13px;
}

/* Alignment utilities */
.center-xs {
    justify-content: center;
    text-align: center;
}
.start-xs {
    justify-content: flex-start;
    text-align: start;
}

/* Font-size utilities */
.f-xs-14 { font-size: 14px !important; }
.f-xs-16 { font-size: 16px !important; }
.f-xs-19 { font-size: 19px !important; }
.f-xs-21 { font-size: 21px !important; }
.f-xs-26 { font-size: 26px !important; }

/* Bold / colour utilities */
.b { font-weight: 700 !important; }
.color-black { color: #000; }
.color-white { color: #fff; }

/* Responsive hide */
.hidden-xs { display: none !important; }

/* ── Layout tables ──────────────────────────────────────────────────────── */
.layout-table-1 {
    width: 100%;
    border: 1px solid #9a9a9a;
}
.layout-table-1 tr > td:first-child {
    font-weight: 700;
    padding: 5px;
}
.layout-table-1 td {
    vertical-align: middle;
    padding: 4px 8px;
}

.layout-table-2 {
    width: 100%;
    border: 1px solid #9a9a9a;
}
.layout-table-2 tr:first-child {
    font-weight: 700;
    text-align: center;
    background-color: #d7d7d7;
}
.layout-table-2 tr td {
    padding: 5px;
    vertical-align: middle;
}

/* ── Scrollable table wrapper ───────────────────────────────────────────── */
/* Production store hides this with JS; in the minisite we always show it   */
.scroller-table {
    overflow-x: auto;
    display: block !important;
    padding-bottom: 10px;
    margin-bottom: 15px;
}

/* Min-width helpers used inside scroller-table */
.mw-300  { min-width: 300px; }
.mw-350  { min-width: 350px; }
.mw-400  { min-width: 400px; }
.mw-450  { min-width: 450px; }
.mw-500  { min-width: 500px; }
.mw-550  { min-width: 550px; }
.mw-600  { min-width: 600px; }
.mw-650  { min-width: 650px; }
.mw-700  { min-width: 700px; }
.mw-750  { min-width: 750px; }
.mw-800  { min-width: 800px; }
.mw-850  { min-width: 850px; }
.mw-900  { min-width: 900px; }
.mw-950  { min-width: 950px; }
.mw-1000 { min-width: 1000px; }
.mw-1100 { min-width: 1100px; }
.mw-1200 { min-width: 1200px; }
.mw-1300 { min-width: 1300px; }
.mw-1400 { min-width: 1400px; }
.mw-1500 { min-width: 1500px; }

/* ── "See more" toggle (description expand/collapse) ───────────────────── */
.see-more {
    color: #d27313;
    font-weight: 700;
    font-size: 17px;
}
.see-more .see-more-link {
    text-decoration: underline;
}

/* ── Product description title heading ─────────────────────────────────── */
.productDescriptionTitle {
    clear: both;
    text-align: center;
    padding: 0;
    margin-top: 37px;
    font-size: 26px;
    float: left;
    width: 100%;
}
.productDescriptionTitle h2 {
    text-align: center;
}

/* ── Value-proposition checklist ───────────────────────────────────────── */
.value-proposition {
    list-style-type: none;
    padding: 0;
}
.value-proposition li {
    color: green;
    font-weight: 700;
    margin-bottom: 10px;
}
.value-proposition li::before {
    content: "✔";
    margin: 0 .5em 0 0;
}
.value-proposition li span {
    color: #2c9b41;
    display: block;
    font-weight: 400;
    padding: 0 0 0 30px;
}

/* ── Order table – responsive (mobile) ─────────────────────────────────── */
@media (max-width: 767.98px) {
  .order-table thead { display: none; }
  .order-table tbody tr:not(.table-secondary) {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    padding: .5rem .75rem;
    border-bottom: 1px solid #dee2e6;
  }
  .order-table tbody tr:not(.table-secondary) td {
    border: none !important;
    padding: 2px 4px;
  }
  .order-table tbody tr:not(.table-secondary) td:first-child {
    flex: 1 1 100%;
    font-size: .95rem;
    padding-bottom: 6px;
  }
  .order-table tbody tr:not(.table-secondary) td:nth-child(2) {
    flex: 1;
    font-size: 1.05rem;
    text-align: left !important;
    width: auto !important;
  }
  .order-table tbody tr:not(.table-secondary) td:nth-child(3) {
    flex: 0 0 auto;
    width: auto !important;
    text-align: right;
  }
  .order-table tbody tr.table-secondary td {
    display: block;
    border: none;
  }
}
