/* Engineering Bay: open, icon-led configuration. Price/CTA keep the red accent. */
.hc-page-product :is(.hc-pdp-choice, .hc-pdp-settings) { container-type: inline-size; container-name: pdp-choice; }
.hc-page-product :is(.hc-pdp-choice, .hc-pdp-settings) > .hc-pdp-config { --config-selected: #29383f; display: grid; grid-template-columns: minmax(0, 1fr); gap: 12px; margin-top: 12px; }
.hc-page-product :is(.hc-pdp-choice, .hc-pdp-settings) > .hc-pdp-config[hidden] { display: none; }
.hc-page-product .hc-pdp-config fieldset { padding: 0; margin: 0; border: 0; min-width: 0; }
.hc-page-product .hc-pdp-config .has-many-masts { grid-column: 1 / -1; }
.hc-page-product .has-many-masts .hc-config-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
@container pdp-choice (min-width: 500px) { .hc-page-product .has-many-masts .hc-config-grid { grid-template-columns: repeat(5, minmax(0, 1fr)); } }
.hc-page-product .hc-pdp-config legend { padding: 0; margin-bottom: 8px; font-size: 12px; line-height: 18px; font-weight: 600; color: var(--c-ink-2); }
.hc-page-product .hc-config-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.hc-page-product .hc-config-grid.is-three { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.hc-page-product .hc-pdp-config > fieldset:not([data-config-group]), .hc-page-product .hc-config-status { grid-column: 1 / -1; }
.hc-page-product .hc-config-tile { position: relative; min-width: 0; }
.hc-page-product .hc-config-tile label { position: relative; display: block; cursor: pointer; margin: 0; height: 100%; }
.hc-page-product .hc-config-tile input { position: absolute; width: 1px; height: 1px; margin: 0; opacity: 0; }
.hc-page-product .hc-config-face { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 0; min-height: 34px; height: 34px; padding: 2px 30px 2px 14px; box-sizing: border-box; border: 1px solid var(--c-line); border-radius: 5px; color: var(--c-ink); background: var(--c-bg); transition: background-color 150ms ease, border-color 150ms ease, color 150ms ease; }
.hc-page-product .hc-config-icon { display: inline-block; vertical-align: -4px; width: 18px; height: 18px; margin-right: 6px; }
.hc-page-product .hc-config-face strong { font-size: 12px; line-height: 16px; font-weight: 600; white-space: nowrap; }
.hc-page-product .hc-config-face small { font-size: 11px; line-height: 13px; color: var(--c-ink-2); white-space: nowrap; }
.hc-page-product .hc-config-check { position: absolute; left: 4px; top: calc(50% - 5px); opacity: 0; width: 10px; height: 10px; }
.hc-page-product .hc-config-tile input:checked + .hc-config-face { background: var(--config-selected); border-color: var(--config-selected); color: white; }
.hc-page-product .hc-config-tile input:checked + .hc-config-face small { color: #dce5e8; }
.hc-page-product .hc-config-tile input:checked + .hc-config-face .hc-config-check { opacity: 1; }
.hc-page-product .hc-config-tile input:focus-visible + .hc-config-face { outline: 2px solid var(--c-focus); outline-offset: 3px; }
.hc-page-product .hc-config-tile input:disabled + .hc-config-face { background: var(--c-bg-soft); color: var(--c-ink-3); border-style: dashed; cursor: not-allowed; }
.hc-page-product .hc-config-help { position: absolute; right: 1px; top: 50%; transform: translateY(-50%); display: grid; place-items: center; width: 28px; height: 32px; padding: 0; border: 0; border-radius: 5px; background: transparent; color: var(--c-ink-2); cursor: pointer; }
.hc-page-product .hc-config-tile.is-selected .hc-config-help { color: #dce5e8; }
.hc-page-product .hc-config-help svg { width: 18px; height: 18px; }
.hc-page-product .hc-config-help:focus-visible { outline: 2px solid var(--c-focus); outline-offset: 2px; }
.hc-page-product .hc-config-help[aria-expanded="true"] { background: var(--c-bg-soft); color: var(--c-ink); }
.hc-page-product .hc-config-tile.is-selected .hc-config-help[aria-expanded="true"] { background: rgba(255, 255, 255, 0.1); color: #fff; }
.hc-page-product .hc-config-tooltip { position: fixed; z-index: 1200; width: min(300px, calc(100vw - 32px)); box-sizing: border-box; padding: 16px; margin: 0; border: 1px solid var(--c-line); border-radius: 8px; background: var(--c-bg); color: var(--c-ink-2); box-shadow: 0 6px 24px #10161a1a; font: 400 13px/20px 'Golos Text', sans-serif; }
.hc-page-product .hc-config-tooltip strong { display: block; margin-bottom: 6px; color: var(--c-ink); font-size: 14px; }
.hc-page-product .hc-config-status { font-size: 12px; line-height: 18px; color: var(--c-ink-2); margin: 0 0 8px; }
.hc-page-product .hc-config-status:empty { display: none; }
@container pdp-choice (min-width: 580px) { .hc-page-product :is(.hc-pdp-choice, .hc-pdp-settings) > .hc-pdp-config { grid-template-columns: minmax(0, 1fr) minmax(0, 1.12fr); column-gap: 16px; } }
@media (hover: hover) and (pointer: fine) {
  .hc-page-product .hc-config-tile label:hover .hc-config-face { border-color: var(--config-selected); }
  .hc-page-product .hc-config-help:hover { background: var(--c-bg-soft); color: var(--c-ink); }
  .hc-page-product .hc-config-tile.is-selected .hc-config-help:hover { background: rgba(255, 255, 255, 0.1); color: #fff; }
}
@media (hover: none), (pointer: coarse) {
  .hc-page-product .hc-config-help { width: 44px; height: 44px; }
  .hc-page-product .hc-config-face { min-height: 44px; height: 44px; padding-right: 45px; }
  .hc-page-product .hc-config-face strong { font-size: 13px; line-height: 17px; }
  .hc-page-product .hc-config-face small { font-size: 12px; line-height: 15px; }
}
@media (prefers-reduced-motion: reduce) { .hc-page-product .hc-config-face { transition: none; } }

/* Model identity is chosen before compatible mast/engine options. */
.hc-page-product .hc-pdp-config [hidden],
.hc-page-product .hc-pdp-gallery [hidden],
.hc-page-product [data-pdp-tax][hidden] { display: none !important; }
.hc-page-product .hc-index-field { grid-column: 1 / -1; display: flex; align-items: center; gap: 10px; }
.hc-page-product .hc-index-label { flex: 0 0 auto; margin: 0; color: var(--c-ink-3); font-size: 12px; line-height: 15px; font-weight: 400; }
.hc-page-product .hc-index-control { position: relative; min-width: 0; max-width: calc(100% - 56px); }
.hc-page-product .hc-index-face { display: grid; grid-template-columns: minmax(0, 1fr) auto 16px; align-items: center; gap: 10px; min-height: 44px; box-sizing: border-box; padding: 7px 10px; border: 1px solid var(--c-line); border-radius: 6px; background: var(--c-bg-soft); color: var(--c-ink); pointer-events: none; transition: background-color 150ms ease, border-color 150ms ease; }
.hc-page-product .hc-index-value { min-width: 0; font-size: 14px; line-height: 20px; font-weight: 600; font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
.hc-page-product .hc-index-action { font-size: 12px; line-height: 18px; font-weight: 500; color: var(--c-ink-2); text-decoration: underline; text-underline-offset: 3px; }
.hc-page-product .hc-index-chevron { width: 16px; height: 16px; color: var(--c-ink-2); }
.hc-page-product .hc-pdp-choice .hc-index-select { position: absolute; inset: 0; z-index: 1; box-sizing: border-box; width: 100%; max-width: none; height: 100%; min-height: 0; margin: 0; padding: 0; border: 0; opacity: 0; cursor: pointer; font-size: 16px; touch-action: manipulation; }
.hc-page-product .hc-index-select option { background: var(--c-bg); color: var(--c-ink); }
@media (hover: hover) and (pointer: fine) {
  .hc-page-product .hc-index-face { min-height: 34px; padding-top: 5px; padding-bottom: 5px; }
  .hc-page-product .hc-index-value { font-size: 13px; line-height: 20px; }
  .hc-page-product .hc-index-control:hover .hc-index-face { background: var(--c-bg); border-color: var(--c-ink-3); }
}
.hc-page-product .hc-index-control:has(.hc-index-select:focus-visible) .hc-index-face { outline: 2px solid var(--c-focus); outline-offset: 3px; }
.hc-page-product .hc-index-control:active .hc-index-face { border-color: var(--c-ink-2); }
.hc-page-product .hc-selected-index-line { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px 16px; }
.hc-page-product .hc-index-stock { display: inline-flex; align-items: center; gap: 6px; color: var(--c-ink-2); font-size: 12px; line-height: 20px; }
.hc-page-product .hc-index-stock.is-available { color: var(--c-ok); font-weight: 600; }
.hc-page-product .hc-index-stock.is-available::before { content: ''; width: 6px; height: 6px; flex: 0 0 6px; border-radius: 50%; background: currentColor; }
/* A shared lower rail keeps both hero columns balanced. Mobile retains the
   original single-column configuration and its single source of state. */
.hc-page-product--forklift .hc-pdp-settings { min-width: 0; padding-top: 16px; border-top: 1px solid var(--c-line); }
.hc-page-product--forklift .hc-pdp-settings > .hc-pdp-config { margin-top: 0; }
.hc-page-product--forklift .hc-pdp-settings > p { margin: 12px 0 0; color: var(--c-ink-3); font-size: 12px; line-height: 18px; overflow-wrap: anywhere; }
.hc-page-product--forklift .hc-pdp-settings > p strong { font-weight: 500; color: var(--c-ink-2); }
@media (min-width: 768px) {
  .hc-page-product--forklift .hc-pdp-hero--split-config { grid-template-areas: 'gallery buy' 'settings settings'; grid-template-rows: auto auto; row-gap: 24px; }
  .hc-page-product--forklift .hc-pdp-hero--split-config > .hc-pdp-gallery { grid-area: gallery; }
  .hc-page-product--forklift .hc-pdp-hero--split-config > .hc-pdp-buy { grid-area: buy; }
  .hc-page-product--forklift .hc-pdp-hero--split-config > .hc-pdp-settings { grid-area: settings; }
  .hc-page-product--forklift .hc-pdp-settings > .hc-pdp-config { grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr); column-gap: 24px; align-items: start; }
  .hc-page-product--forklift .hc-pdp-settings [data-config-group="mast"] { grid-column: 1; grid-row: 1; }
  .hc-page-product--forklift .hc-pdp-settings [data-config-group="engine"] { grid-column: 1; grid-row: 2; }
  .hc-page-product--forklift .hc-pdp-settings .has-many-masts .hc-config-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .hc-page-product--forklift .hc-pdp-settings > .hc-pdp-config > fieldset:not([data-config-group]):not(.hc-equipment-field) { grid-column: 2; grid-row: 1 / span 2; }
  .hc-page-product--forklift .hc-pdp-settings .hc-equipment-field { grid-column: 1 / -1; grid-row: 3; }
  .hc-page-product--forklift .hc-pdp-settings > .hc-pdp-config:not(:has(> fieldset:not([data-config-group]):not(.hc-equipment-field):not([hidden]))) .hc-equipment-field { grid-column: 2; grid-row: 1 / span 2; }
  .hc-page-product--forklift .hc-pdp-settings > .hc-pdp-config:not(:has(> fieldset:not([data-config-group]):not(.hc-equipment-field):not([hidden]))) .hc-equipment-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .hc-page-product--forklift .hc-pdp-settings > .hc-pdp-config:not(:has(> fieldset:not([data-config-group]):not(.hc-equipment-field):not([hidden]))) .hc-equipment-tile:last-child { grid-column: 1 / -1; }
  .hc-page-product.hc-page-product--forklift .hc-pdp-info-nav { max-width: none; }
}
@container pdp-choice (min-width: 1040px) {
  .hc-page-product--forklift .hc-pdp-settings > .hc-pdp-config:has(> fieldset:not([data-config-group]):not(.hc-equipment-field):not([hidden])) { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .hc-page-product--forklift .hc-pdp-settings > .hc-pdp-config:has(> fieldset:not([data-config-group]):not(.hc-equipment-field):not([hidden])) .hc-equipment-field { grid-column: 3; grid-row: 1 / span 2; }
  .hc-page-product--forklift .hc-pdp-settings > .hc-pdp-config:has(> fieldset:not([data-config-group]):not(.hc-equipment-field):not([hidden])) .hc-equipment-grid { grid-template-columns: minmax(0, 1fr); }
  .hc-page-product--forklift .hc-pdp-settings > .hc-pdp-config:has(> fieldset:not([data-config-group]):not(.hc-equipment-field):not([hidden])) .hc-config-face { min-height: 48px; height: 48px; }
}
.hc-page-product .hc-index-photo-missing { display: grid; min-height: 300px; width: 100%; height: 100%; place-items: center; padding: 30px; color: var(--c-ink-3); background: var(--c-bg-soft); font-size: 16px; text-align: center; }
.hc-page-product .hc-pdp-variant-row { align-items: start; row-gap: 12px; }
.hc-page-product .hc-variant-details { grid-column: 1 / -1; min-width: 0; border-top: 1px solid var(--c-line); }
.hc-page-product .hc-variant-details > summary { display: flex; align-items: center; gap: 12px; min-height: 44px; cursor: pointer; list-style: none; color: var(--c-ink); font-size: 13px; font-weight: 600; }
.hc-page-product .hc-variant-details > summary::-webkit-details-marker { display: none; }
.hc-page-product .hc-variant-details-caption { color: var(--c-ink-3); font-size: 12px; font-weight: 400; }
.hc-page-product .hc-variant-details-arrow { margin-left: auto; font-size: 20px; transition: transform 160ms ease; }
.hc-page-product .hc-variant-details[open] .hc-variant-details-arrow { transform: rotate(180deg); }
.hc-page-product .hc-variant-details summary:focus-visible,
.hc-page-product .hc-variant-quote:focus-visible { outline: 2px solid var(--c-focus); outline-offset: 3px; }
.hc-page-product .hc-variant-details table { width: 100%; border-collapse: collapse; table-layout: fixed; background: var(--c-bg); font-size: 13px; line-height: 20px; }
.hc-page-product .hc-variant-details caption { text-align: left; padding: 12px 14px; font-weight: 600; color: var(--c-ink); background: var(--c-bg); overflow-wrap: anywhere; }
.hc-page-product .hc-variant-details th,
.hc-page-product .hc-variant-details td { padding: 10px 14px; border-top: 1px solid var(--c-line); text-align: left; vertical-align: top; overflow-wrap: anywhere; }
.hc-page-product .hc-variant-details th { width: 45%; color: var(--c-ink-2); font-weight: 400; }
.hc-page-product .hc-variant-details td { font-variant-numeric: tabular-nums; font-weight: 500; }
.hc-page-product .hc-variant-details-content > p { margin: 12px 0 0; color: var(--c-ink-3); font-size: 12px; line-height: 18px; }
.hc-page-product .hc-variant-quote { display: inline-flex; align-items: center; gap: 12px; min-height: 44px; margin-top: 6px; color: var(--c-ink); font-size: 13px; text-decoration: underline; text-underline-offset: 4px; }
@media (max-width: 600px) {
  .hc-page-product .hc-variant-details-caption { display: none; }
  .hc-page-product .hc-variant-details th, .hc-page-product .hc-variant-details td { padding: 10px; font-size: 12px; }
}
@media (prefers-reduced-motion: reduce) { .hc-page-product .hc-variant-details-arrow, .hc-page-product .hc-index-face { transition: none; } }

/* Trim labels can contain a full index. Keep them inside forklift controls,
   without changing the mast tiles or any other equipment page. */
.hc-page-product--forklift .hc-pdp-config > fieldset:not([data-config-group]):not(.hc-index-field):not(.hc-equipment-field) .hc-config-face {
  height: auto;
  padding-inline: 14px;
}
.hc-page-product--forklift .hc-pdp-config > fieldset:not([data-config-group]):not(.hc-index-field):not(.hc-equipment-field) .hc-config-face strong {
  min-width: 0;
  max-width: 100%;
  white-space: normal;
  overflow-wrap: anywhere;
  text-align: center;
}

/* Independent equipment choices. Their prices come from exact stored executions. */
.hc-page-product--forklift .hc-equipment-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
.hc-page-product--forklift .hc-pdp-config .hc-equipment-face { flex-direction: row; justify-content: flex-start; gap: 8px; min-height: 48px; padding: 7px 30px 7px 10px; }
.hc-page-product--forklift .hc-equipment-mark { position: relative; display: block; flex: 0 0 18px; width: 18px; height: 18px; color: var(--c-ink-2); }
.hc-page-product--forklift .hc-equipment-symbol,
.hc-page-product--forklift .hc-equipment-check { position: absolute; inset: 0; width: 18px; height: 18px; transform-origin: center; transition: opacity 150ms ease; }
.hc-page-product--forklift .hc-equipment-check { opacity: 0; }
.hc-page-product--forklift .hc-equipment-check path { stroke-dasharray: 1; stroke-dashoffset: 1; transition: stroke-dashoffset 160ms cubic-bezier(.16, 1, .3, 1); }
.hc-page-product--forklift .hc-equipment-text { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.hc-page-product--forklift .hc-pdp-config .hc-equipment-face strong { text-align: left; font-size: 13px; line-height: 16px; overflow-wrap: normal; }
.hc-page-product--forklift .hc-equipment-face small { font-size: 11px; line-height: 14px; white-space: normal; }
.hc-page-product--forklift .hc-equipment-tile input:checked + .hc-equipment-face .hc-equipment-mark { color: #fff; }
.hc-page-product--forklift .hc-equipment-tile input:checked + .hc-equipment-face .hc-equipment-symbol { opacity: 0; }
.hc-page-product--forklift .hc-equipment-tile input:checked + .hc-equipment-face .hc-equipment-check { opacity: 1; }
.hc-page-product--forklift .hc-equipment-tile input:checked + .hc-equipment-face .hc-equipment-check path { stroke-dashoffset: 0; }
.hc-page-product--forklift .hc-equipment-tile input:disabled:checked + .hc-equipment-face { background: var(--config-selected); border-color: var(--config-selected); color: #fff; }
.hc-page-product--forklift .hc-equipment-note { margin: 8px 0 0; color: var(--c-ink-2); font-size: 12px; line-height: 18px; text-wrap: pretty; }
.hc-page-product--forklift .hc-equipment-tile label { touch-action: manipulation; }
.hc-page-product--forklift .hc-config-tooltip .hc-equipment-help-part { margin: 8px 0 0; }
.hc-page-product--forklift .hc-config-tooltip .hc-equipment-help-part b { color: var(--c-ink); font-weight: 600; }
.hc-page-product--forklift .hc-pdp-price-block > .hc-pdp-equipment-total { margin-top: 4px; color: var(--c-ink-2); font-size: 12px; line-height: 18px; }
.hc-page-product--forklift [data-pdp-price-total][hidden] { display: none !important; }
@container pdp-choice (max-width: 450px) {
  .hc-page-product--forklift .hc-equipment-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .hc-page-product--forklift .hc-equipment-tile[data-equipment-option="tyres"] { grid-column: 1 / -1; }
  .hc-page-product--forklift .hc-pdp-config .hc-equipment-face { gap: 6px; padding-left: 8px; }
  .hc-page-product--forklift .hc-pdp-config .hc-equipment-face strong { font-size: 12px; }
}
@media (max-width: 600px), (hover: none), (pointer: coarse) {
  .hc-page-product--forklift .hc-pdp-config .hc-equipment-face { min-height: 54px; padding-right: 44px; }
  .hc-page-product--forklift .hc-equipment-tile .hc-config-help { width: 44px; height: 44px; }
}
@media (prefers-reduced-motion: reduce) {
  .hc-page-product--forklift .hc-equipment-symbol,
  .hc-page-product--forklift .hc-equipment-check,
  .hc-page-product--forklift .hc-equipment-check path { transition: none; }
}
