.blc-honeypot { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }
.blc-calculator [hidden], .blc-quote-form [hidden] { display: none !important; }
.blc-calculator *, .blc-quote-form * { box-sizing: border-box; }

/* Volume calculator */
.blc-calculator { --blc-navy:#082f62; --blc-navy-deep:#061f42; --blc-orange:#f16e25; --blc-ink:#172b42; --blc-muted:#40576c; --blc-line:#dce5ee; --blc-pale:#f5f8fb; margin: 0; color: var(--blc-ink); }
.blc-calculator-intro { display: grid; grid-template-columns: minmax(0,1fr) minmax(280px,420px); align-items: end; gap: 32px; margin-bottom: 26px; }
.blc-calculator-intro > div > span { display: inline-block; margin-bottom: 7px; color: var(--blc-orange); font-size: 12px; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }
.blc-calculator-intro h2 { margin: 0 0 8px; color: var(--blc-navy); font-size: clamp(25px,3vw,36px); line-height: 1.12; }
.blc-calculator-intro p { max-width: 720px; margin: 0; color: var(--blc-muted); font-size: 14px; line-height: 1.55; }
.blc-search { position: relative; display: block; }
.blc-search input { width: 100%; min-height: 50px; padding: 12px 45px 12px 16px; border: 1px solid #cfdbe6; border-radius: 10px; color: var(--blc-ink); background: #fff; font: inherit; box-shadow: 0 6px 18px rgba(8,47,98,.05); }
.blc-search > span:last-child { position: absolute; top: 50%; right: 16px; color: var(--blc-orange); font-size: 25px; transform: translateY(-53%); }
.blc-room-tabs { display: grid; margin-bottom: 18px; grid-template-columns: repeat(6,minmax(0,1fr)); gap: 7px; }
.blc-room-tabs button { display: grid; min-width: 0; min-height: 78px; padding: 10px 7px; place-items: center; gap: 3px; border: 1px solid var(--blc-line); border-radius: 10px; color: var(--blc-navy); background: #fff; font: inherit; font-size: 12px; font-weight: 800; line-height: 1.15; cursor: pointer; }
.blc-room-tabs button > span { display: grid; width: 24px; height: 24px; place-items: center; border-radius: 50%; color: var(--blc-orange); background: #fff3eb; font-size: 12px; }
.blc-room-tabs button strong { color: var(--blc-muted); font-size: 10px; font-weight: 700; }
.blc-room-tabs button[aria-selected="true"] { border-color: var(--blc-navy); color: #fff; background: var(--blc-navy); box-shadow: 0 9px 22px rgba(8,47,98,.18); }
.blc-room-tabs button[aria-selected="true"] strong { color: rgba(255,255,255,.7); }
.blc-room-tabs button:focus-visible, .blc-quantity button:focus-visible, .blc-reset:focus-visible { outline: 3px solid rgba(241,110,37,.38); outline-offset: 2px; }
.blc-calculator-layout { display: grid; grid-template-columns: minmax(0,1fr) 330px; align-items: start; gap: 23px; }
.blc-is-ready .blc-room:not(.is-active) { display: none; }
.blc-is-ready.blc-searching .blc-room { display: block; margin-bottom: 14px; }
.blc-room { overflow: hidden; border: 1px solid var(--blc-line); border-radius: 14px; background: #fff; box-shadow: 0 12px 32px rgba(8,47,98,.065); }
.blc-room > header { display: flex; min-height: 72px; padding: 14px 18px; align-items: center; justify-content: space-between; gap: 20px; border-bottom: 1px solid var(--blc-line); background: linear-gradient(110deg,#fff,#f7faff); }
.blc-room > header span { display: block; margin-bottom: 2px; color: var(--blc-orange); font-size: 9px; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
.blc-room > header h3 { margin: 0; color: var(--blc-navy); font-size: 21px; }
.blc-room > header > strong { color: var(--blc-navy); font-size: 19px; }
.blc-item-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1px; background: var(--blc-line); }
.blc-volume-item { display: flex; min-height: 78px; padding: 12px 14px; align-items: center; justify-content: space-between; gap: 12px; background: #fff; transition: background-color .2s ease; }
.blc-volume-item.has-quantity { background: #fff8f2; box-shadow: inset 3px 0 var(--blc-orange); }
.blc-volume-item > div:first-child { min-width: 0; }
.blc-volume-item > div:first-child strong { display: block; color: var(--blc-ink); font-size: 13px; line-height: 1.25; }
.blc-volume-item small { display: block; margin-top: 3px; color: var(--blc-muted); font-size: 10.5px; }
.blc-quantity { display: grid; flex: 0 0 auto; grid-template-columns: 32px 39px 32px; align-items: center; gap: 4px; }
.blc-quantity button { display: grid; width: 32px; height: 36px; padding: 0; place-items: center; border: 1px solid #cbd8e3; border-radius: 7px; color: var(--blc-navy); background: #f7fafd; font: 700 18px/1 inherit; cursor: pointer; }
.blc-quantity button[data-action="plus"] { border-color: var(--blc-orange); color: #fff; background: var(--blc-orange); }
.blc-quantity input { width: 39px; height: 36px; padding: 4px; border: 1px solid #cbd8e3; border-radius: 7px; color: var(--blc-ink); background: #fff; font: 700 13px/1 inherit; text-align: center; -moz-appearance: textfield; }
.blc-quantity input::-webkit-inner-spin-button { margin: 0; -webkit-appearance: none; }
.blc-custom-item { margin-top: 16px; padding: 22px; border: 1px solid #f5d6c1; border-radius: 14px; background: #fff7f1; }
.blc-custom-item__heading { display: flex; align-items: center; gap: 12px; }
.blc-custom-item__heading > span { display: grid; width: 37px; height: 37px; flex: 0 0 37px; place-items: center; border-radius: 50%; color: #fff; background: var(--blc-orange); font-size: 20px; }
.blc-custom-item h3 { margin: 0 0 2px; color: var(--blc-navy); font-size: 18px; }
.blc-custom-item__heading p { margin: 0; color: var(--blc-muted); font-size: 12px; }
.blc-custom-grid { display: grid; margin: 17px 0 14px; grid-template-columns: 1.35fr 1.1fr repeat(4,1fr); gap: 9px; }
.blc-custom-grid label { display: grid; gap: 5px; color: var(--blc-navy); font-size: 10.5px; font-weight: 800; }
.blc-custom-grid input, .blc-custom-grid select { width: 100%; min-height: 43px; padding: 7px 9px; border: 1px solid #cbd8e3; border-radius: 8px; color: var(--blc-ink); background: #fff; font: inherit; font-size: 13px; }
.blc-custom-error { margin: 0 0 10px; color: #a0382b; font-size: 12px; font-weight: 700; }
.blc-custom-list { display: grid; margin: 16px 0 0; padding: 0; gap: 7px; list-style: none; }
.blc-custom-list li { display: flex; padding: 10px 12px; align-items: center; justify-content: space-between; gap: 12px; border: 1px solid #f0d7c7; border-radius: 8px; background: #fff; }
.blc-custom-list li span, .blc-custom-list li strong, .blc-custom-list li small { display: block; }
.blc-custom-list li strong { color: var(--blc-navy); font-size: 12px; }
.blc-custom-list li small { color: var(--blc-muted); font-size: 10px; }
.blc-custom-list button { min-height: 44px; padding-inline:8px; border: 0; color: #9a3528; background: transparent; font-weight: 800; cursor: pointer; }
.blc-summary { position: sticky; top: 90px; overflow: hidden; padding: 25px; border-radius: 15px; color: #fff; background: linear-gradient(150deg,var(--blc-navy),var(--blc-navy-deep)); box-shadow: 0 18px 45px rgba(8,47,98,.22); }
.blc-summary__heading > span { color: #ffb486; font-size: 10px; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
.blc-summary__heading > strong { display: block; margin: 5px 0 12px; color: #fff; font-size: 42px; line-height: 1; }
.blc-summary > p { margin: 0 0 17px; color: rgba(255,255,255,.78); font-size: 12.5px; line-height: 1.5; }
.blc-box-facts { padding: 13px; border: 1px solid rgba(255,255,255,.14); border-radius: 9px; background: rgba(255,255,255,.07); }
.blc-box-facts strong, .blc-box-facts span { display: block; }
.blc-box-facts strong { margin-bottom: 4px; color: #fff; font-size: 13px; }
.blc-box-facts span { color: rgba(255,255,255,.65); font-size: 10.5px; line-height: 1.4; }
.blc-room-summary { margin-top: 19px; }
.blc-room-summary h3 { margin: 0 0 7px; color: #fff; font-size: 12px; }
.blc-room-summary ul, .blc-inventory-summary ul { margin: 0; padding: 0; list-style: none; }
.blc-room-summary li, .blc-inventory-summary li { display: flex; padding: 6px 0; justify-content: space-between; gap: 12px; border-bottom: 1px solid rgba(255,255,255,.1); color: rgba(255,255,255,.7); font-size: 11px; }
.blc-room-summary li strong, .blc-inventory-summary li strong { color: #fff; white-space: nowrap; }
.blc-room-summary .is-empty { display: block; border: 0; }
.blc-inventory-summary { margin: 13px 0 18px; }
.blc-inventory-summary summary { min-height: 38px; padding: 9px 0; color: #fff; cursor: pointer; font-size: 11.5px; font-weight: 800; }
.blc-inventory-summary summary span { display: inline-grid; min-width: 20px; height: 20px; margin-left: 5px; place-items: center; border-radius: 10px; color: var(--blc-navy); background: #fff; font-size: 10px; }
.blc-inventory-summary ul { max-height: 230px; overflow: auto; padding-right: 4px; }
.blc-summary .bl-button, .blc-custom-item .bl-button { display: inline-flex; min-height: 47px; padding: 12px 17px; align-items: center; justify-content: center; border: 0; border-radius: 8px; color: #fff; background: var(--blc-orange); font-size: 12px; font-weight: 850; text-decoration: none; cursor: pointer; }
.blc-summary .bl-button { width: 100%; }
.blc-reset { width: 100%; min-height: 42px; margin-top: 6px; border: 0; color: rgba(255,255,255,.7); background: none; font: inherit; font-size: 11px; text-decoration: underline; cursor: pointer; }

/* Quote form */
.blc-quote-form { --blc-navy:#082f62; --blc-orange:#f16e25; --blc-ink:#172b42; --blc-muted:#40576c; --blc-line:#dce5ee; display: block; color: var(--blc-ink); }
.blc-promotion-context { margin-bottom: 17px; padding: 12px 15px; border: 1px solid #ffd1b8; border-radius: 10px; color: var(--blc-navy); background: #fff4ed; font-size: 13px; line-height: 1.45; }
.blc-promotion-context strong { color: #d84d00; }
.blc-form-section { margin-bottom: 17px; padding: 24px; border: 1px solid var(--blc-line); border-radius: 14px; background: #fff; box-shadow: 0 10px 30px rgba(8,47,98,.055); }
.blc-form-section__heading { display: flex; margin-bottom: 20px; align-items: flex-start; gap: 13px; }
.blc-form-section__heading > span { display: grid; width: 35px; height: 35px; flex: 0 0 35px; place-items: center; border-radius: 50%; color: #fff; background: var(--blc-orange); font-size: 11px; font-weight: 900; }
.blc-form-section__heading h2 { margin: 0 0 3px; color: var(--blc-navy); font-size: 21px; line-height: 1.15; }
.blc-form-section__heading p { margin: 0; color: var(--blc-muted); font-size: 12px; line-height: 1.45; }
.blc-form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 15px; }
.blc-quote-form .bl-form-field { display: grid; gap: 6px; }
.blc-quote-form .bl-form-field--full { grid-column: 1 / -1; }
.blc-quote-form label { color: var(--blc-navy); font-size: 12px; font-weight: 800; }
.blc-quote-form input, .blc-quote-form select, .blc-quote-form textarea { width: 100%; min-height: 47px; padding: 10px 12px; border: 1px solid #cbd8e3; border-radius: 8px; color: var(--blc-ink); background: #fff; font: inherit; font-size: 14px; }
.blc-quote-form textarea { min-height: 110px; resize: vertical; }
.blc-quote-form input:focus, .blc-quote-form select:focus, .blc-quote-form textarea:focus { outline: 3px solid rgba(241,110,37,.18); border-color: var(--blc-orange); }
.blc-quote-form input[readonly] { color: var(--blc-navy); background: #f3f7fa; font-weight: 800; }
.blc-quote-form .bl-form-field small { color: var(--blc-muted); font-size: 10px; line-height: 1.4; }
.blc-auto-estimate { width: fit-content; min-height: 44px; padding: 6px 0; border: 0; color: var(--blc-navy); background: transparent; font: inherit; font-size: 10px; font-weight: 800; text-align: left; text-decoration: underline; cursor: pointer; }
.blc-auto-estimate:focus-visible { outline: 3px solid rgba(241,110,37,.25); outline-offset: 2px; }
.blc-transport-choice { padding: 13px; border-radius: 8px; background: #fff6ef; }
.blc-transport-choice label, .blc-consent label { display: flex; align-items: flex-start; gap: 9px; font-weight: 650; line-height: 1.45; }
.blc-transport-choice input, .blc-consent input { width: 19px; min-height: 19px; margin-top: 1px; flex: 0 0 19px; }
.blc-calculator-recap { display: grid; margin-bottom: 17px; padding: 21px 23px; grid-template-columns: minmax(0,1fr) auto; align-items: center; gap: 12px 20px; border: 1px solid #b8d3e9; border-radius: 14px; background: #f2f8fd; }
.blc-calculator-recap > div:first-child > span { color: var(--blc-orange); font-size: 10px; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }
.blc-calculator-recap h2 { margin: 2px 0 0; color: var(--blc-navy); font-size: 20px; }
.blc-calculator-recap > p { margin: 0; color: var(--blc-navy); font-size: 15px; font-weight: 900; }
.blc-calculator-recap details { grid-column: 1 / -1; }
.blc-calculator-recap summary { min-height: 40px; padding: 10px 0; color: var(--blc-navy); cursor: pointer; font-size: 12px; font-weight: 800; }
.blc-calculator-recap details p { margin: 5px 0; color: var(--blc-muted); font-size: 11px; line-height: 1.45; }
.blc-calculator-recap > a { color: var(--blc-navy); font-size: 11px; font-weight: 800; }
.blc-form-submit { padding: 23px; border-radius: 14px; color: #fff; background: var(--blc-navy); }
.blc-form-submit .blc-consent label { color: rgba(255,255,255,.82); }
.blc-form-submit .blc-consent a { color: #fff; }
.blc-form-submit .bl-button { display: inline-flex; min-height: 50px; margin-top: 18px; padding: 12px 22px; align-items: center; gap: 18px; border: 0; border-radius: 8px; color: #fff; background: var(--blc-orange); font-size: 13px; font-weight: 850; cursor: pointer; }
.blc-form-submit .bl-button span { font-size: 22px; line-height: 0; }
.blc-form-submit .bl-form-note { margin: 10px 0 0; color: rgba(255,255,255,.65); font-size: 10.5px; }
.bl-form-error, .bl-form-success { margin-bottom: 16px; padding: 13px 15px; border-radius: 9px; color: #fff; font-size: 13px; }
.bl-form-error { background: #8f382e; }
.bl-form-success { background: #276c5c; }

/* Existing catalogue */
.blc-catalogue { display: grid; margin: 42px 0; grid-template-columns: minmax(0,1fr) 340px; align-items: start; gap: 28px; }
.blc-product-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 16px; }
.blc-product-card { overflow: hidden; border: 1px solid #dce5ee; border-radius: 18px; background: #fff; }
.blc-product-image { display: grid; height: 190px; place-items: center; background: #f3f1ea; }
.blc-product-image img { width: 100%; height: 100%; object-fit: contain; }
.blc-product-body { padding: 20px; }
.blc-product-body h3 { font-size: 19px; }
.blc-dimensions, .blc-description { color: #40576c; font-size: 13px; }
.blc-price { display: block; margin: 18px 0; }
.blc-basket { position: sticky; top: 104px; padding: 26px; border-radius: 20px; background: #e9f3fa; }
.blc-basket-line { display: grid; padding: 11px 0; grid-template-columns: 1fr 80px auto; align-items: center; gap: 8px; border-bottom: 1px solid rgba(8,47,98,.15); font-size: 13px; }
.blc-basket-line input { width: 100%; min-height: 38px; }
.blc-basket-line button { border: 0; color: #943f31; background: none; cursor: pointer; }
.blc-basket-total { display: flex; margin: 22px 0 8px; justify-content: space-between; gap: 12px; font-weight: 800; }

@media (max-width:1050px) {
  .blc-calculator-layout, .blc-catalogue { grid-template-columns: 1fr; }
  .blc-summary, .blc-basket { position: static; }
  .blc-summary { display: grid; grid-template-columns: 1fr 1fr; gap: 0 22px; }
  .blc-summary__heading, .blc-summary > p, .blc-box-facts { grid-column: 1 / -1; }
  .blc-summary .bl-button, .blc-reset { grid-column: 1 / -1; }
  .blc-product-grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width:780px) {
  .blc-calculator-intro { grid-template-columns: 1fr; gap: 16px; }
  .blc-room-tabs { grid-template-columns: repeat(3,1fr); }
  .blc-room-tabs button { min-height: 70px; }
  .blc-custom-grid { grid-template-columns: 1fr 1fr; }
  .blc-custom-grid label:first-child, .blc-custom-grid label:nth-child(2) { grid-column: span 1; }
}
@media (max-width:600px) {
  .blc-calculator-intro h2 { font-size: 25px; }
  .blc-room-tabs { gap: 5px; }
  .blc-room-tabs button { min-height: 67px; padding-inline: 4px; font-size: 10.5px; }
  .blc-item-grid, .blc-product-grid { grid-template-columns: 1fr; }
  .blc-volume-item { min-height: 72px; padding: 10px 11px; }
  .blc-volume-item > div:first-child strong { font-size: 12.5px; }
  .blc-quantity { grid-template-columns: 36px 40px 36px; }
  .blc-quantity button { width: 36px; height: 44px; }
  .blc-quantity input { width: 40px; height: 44px; }
  .blc-reset { min-height:44px; }
  .blc-custom-item { padding: 17px 13px; }
  .blc-custom-grid { gap: 8px; }
  .blc-custom-grid label:first-child, .blc-custom-grid label:nth-child(2) { grid-column: 1 / -1; }
  .blc-summary { display: block; padding: 21px 18px; }
  .blc-summary__heading > strong { font-size: 38px; }
  .blc-form-section { padding: 19px 15px; }
  .blc-form-grid { grid-template-columns: 1fr; gap: 13px; }
  .blc-quote-form .bl-form-field--full { grid-column: auto; }
  .blc-calculator-recap { padding: 18px 15px; grid-template-columns: 1fr; }
  .blc-calculator-recap details { grid-column: auto; }
  .blc-form-submit { padding: 19px 15px; }
  .blc-form-submit .bl-button { width: 100%; justify-content: space-between; }
}
@media (max-width:350px) {
  .blc-room-tabs { grid-template-columns: 1fr 1fr; }
  .blc-quantity { grid-template-columns: 34px 36px 34px; gap: 3px; }
  .blc-quantity button { width: 34px; }
  .blc-quantity input { width: 36px; }
}
@media (prefers-reduced-motion:reduce) {
  .blc-calculator *, .blc-quote-form * { scroll-behavior: auto !important; transition-duration: .01ms !important; }
}
