/* Production cylinder buybox: the real request action appears only after a SKU is selected. */
.abloy-cylinder-product .abloy-product-buybox .abloy-product-actions{grid-template-columns:1fr}

.abloy-cylinder-card{margin:32px 0;padding:22px;border:1px solid #d7dce1;border-radius:10px;background:#fff;box-shadow:0 1px 5px rgba(0,0,0,.05)}
.abloy-cylinder-card--boot{min-height:1px;margin-top:32px;margin-bottom:32px;padding:0;border:0;box-shadow:none;background:transparent}
.abloy-cylinder-card h2{margin-top:0}
.abloy-config-status{margin:8px 0 14px;padding:10px 12px;border-radius:7px;background:#eef6fa;color:#38505c;font-size:13px}
.abloy-config-status.is-error{background:#fcf0f1;color:#8a2424}
.abloy-selector-grid{display:grid;grid-template-columns:repeat(3,minmax(180px,1fr));gap:14px}
.abloy-selector-grid label span{display:block;font-weight:700;margin-bottom:6px}
.abloy-selector-grid select{width:100%;min-height:44px;padding:8px}
.abloy-size-help{margin:10px 0 0;color:#5d6b75;font-size:12px;line-height:1.55}
.abloy-result{margin-top:20px;padding:16px;background:#f6f7f7;border-radius:8px;display:grid;grid-template-columns:repeat(3,1fr) auto;gap:14px;align-items:center}
.abloy-result-label{display:block;font-size:12px;color:#646970;margin-bottom:3px}
.abloy-order-button{appearance:none;border:0;cursor:pointer;display:inline-block;padding:11px 18px;border-radius:6px;background:#1d2327;color:#fff!important;text-decoration:none!important;text-align:center;font-weight:700}
.abloy-order-button:disabled{opacity:.72;cursor:default}
.abloy-config-note{margin:12px 0 0;color:#646970;font-size:13px}
.stock-in_stock{color:#16833b}.stock-preorder{color:#9a6700}.stock-out_of_stock{color:#b32d2e}

/* Compact request UI: nothing blocks the product card. */

/* Native hidden state must always win over component display rules. */
.abloy-request-pill[hidden],.abloy-request-toast[hidden],.abloy-request-summary[hidden]{display:none!important}
.abloy-request-pill{position:fixed;right:20px;bottom:20px;z-index:99990;border:0;border-radius:999px;background:#0f2532;color:#fff;padding:11px 15px;box-shadow:0 8px 24px rgba(0,0,0,.20);cursor:pointer;display:flex;align-items:center;gap:9px;font-weight:700}
.abloy-request-pill strong{display:inline-flex;min-width:24px;height:24px;padding:0 6px;border-radius:999px;align-items:center;justify-content:center;background:#1d9bc5;color:#fff;font-size:13px}
.abloy-request-toast{position:fixed;right:20px;bottom:76px;z-index:99991;max-width:360px;background:#fff;border:1px solid #d7dce1;border-radius:10px;box-shadow:0 12px 36px rgba(0,0,0,.20);padding:12px 14px;color:#14212a;display:flex;align-items:center;gap:12px}
.abloy-request-toast span{font-weight:700;line-height:1.35}
.abloy-request-toast button{border:0;border-radius:6px;background:#1d9bc5;color:#fff;padding:8px 10px;font-weight:700;cursor:pointer;white-space:nowrap}

/* The actual list appears only where the contact form is, during checkout. */
.abloy-request-summary{margin:0 0 22px;padding:20px;border:1px solid #d7dce1;border-radius:12px;background:#fff;box-shadow:0 1px 5px rgba(0,0,0,.05);color:#14212a}
.abloy-request-summary-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:8px}
.abloy-request-eyebrow{display:block;color:#1189b6;font-size:12px;font-weight:800;letter-spacing:.06em}
.abloy-request-summary h3{margin:4px 0 0;font-size:24px}
.abloy-request-items{margin-top:6px}
.abloy-request-item{display:grid;grid-template-columns:minmax(0,1fr) 72px 110px auto;gap:12px;align-items:center;padding:14px 0;border-bottom:1px solid #edf0f2}
.abloy-request-item-main{min-width:0}.abloy-request-item-main strong,.abloy-request-item-main small{display:block}.abloy-request-item-main small{margin-top:3px;color:#66737c;line-height:1.4}
.abloy-request-qty span{display:block;margin-bottom:4px;color:#66737c;font-size:12px}.abloy-request-qty input{width:64px;min-height:38px;border:1px solid #cdd4d8;border-radius:6px;padding:5px 7px;text-align:center}
.abloy-request-line-total{white-space:nowrap;text-align:right}
.abloy-request-remove{border:0;background:transparent;color:#9a3434;text-decoration:underline;cursor:pointer;padding:5px}
.abloy-request-note{display:block;margin-top:16px}.abloy-request-note span{display:block;font-weight:700;margin-bottom:6px}.abloy-request-note textarea{width:100%;box-sizing:border-box;resize:vertical;border:1px solid #cdd4d8;border-radius:7px;padding:10px}
.abloy-request-total{display:flex;justify-content:space-between;align-items:center;margin-top:15px;padding-top:15px;border-top:1px solid #e5e8eb;font-size:20px}

@media(max-width:760px){
  .abloy-selector-grid{grid-template-columns:1fr}
  .abloy-result{grid-template-columns:1fr 1fr}
  .abloy-order-button{grid-column:1/-1}
  .abloy-request-pill{right:12px;bottom:12px}
  .abloy-request-toast{left:12px;right:12px;bottom:70px;max-width:none;justify-content:space-between}
  .abloy-request-item{grid-template-columns:minmax(0,1fr) 70px;gap:10px}
  .abloy-request-line-total{grid-column:1/2;text-align:left}
  .abloy-request-remove{grid-column:2/3;text-align:right}
}

.form-group[data-abloy-generated-order-message="1"]{display:none!important}

/* 1.2.7 — unified request cart + delivery */
.abloy-request-shipping{margin-top:18px;padding-top:16px;border-top:1px solid #e5e8eb}
.abloy-request-shipping>strong{display:block;margin-bottom:10px;font-size:16px}
.abloy-request-shipping label{display:block;margin:0 0 10px}
.abloy-request-shipping label>span{display:block;margin-bottom:5px;color:#394650;font-size:12px;font-weight:700}
.abloy-request-shipping select,.abloy-request-shipping input{width:100%;min-height:42px;box-sizing:border-box;border:1px solid #cdd4d8;border-radius:7px;background:#fff;padding:8px 10px;color:#14212a}
.abloy-shipping-np{margin-top:10px;padding:12px;border:1px solid #e3e8ed;border-radius:9px;background:#f8fafb}
.abloy-shipping-address{display:grid;grid-template-columns:minmax(0,1fr) 110px 120px;gap:10px}
.abloy-request-shipping [data-role="shipping-status"]{display:block;margin-top:4px;color:#66737c;font-size:11px;line-height:1.45}
.abloy-request-shipping [data-role="shipping-status"].is-error{color:#a33a3a}
@media(max-width:767px){.abloy-shipping-address{grid-template-columns:1fr}.abloy-request-shipping select,.abloy-request-shipping input{min-height:46px}}
