/* Shared product comparison. Uses storefront CSS colour variables where available. */
.compare-select{display:inline-flex;justify-content:center;align-items:center;gap:5px;min-height:38px;border:1px solid #cad4cf;border-radius:9px;padding:9px 12px;background:#fff;color:#253c34;font-weight:750;font-size:12px;line-height:1.2;cursor:pointer;text-align:center}
.compare-select:hover{background:#f1f7f4;border-color:#8caea0}
.compare-select.selected{background:#e7f6ee;border-color:#78bc95;color:#176b3c}
.compare-card-button{width:100%;margin-top:8px;flex-shrink:0}
.compare-product-button{width:100%;margin:10px 0 12px}
.compare-dock{position:fixed;bottom:16px;left:50%;transform:translateX(-50%);z-index:53;width:min(750px,calc(100% - 32px));padding:12px 14px;background:#142b24;color:#fff;box-shadow:0 9px 32px #0d1d1870;border-radius:16px}
.compare-dock-content,.compare-dock-actions{display:flex;align-items:center;justify-content:space-between;gap:12px}
.compare-dock-description{display:flex;flex-direction:column;gap:2px}
.compare-dock-description strong{font-size:14px}
.compare-dock-description span{font-size:11px;color:#d6e7df}
.compare-dock-actions button{border-radius:9px;cursor:pointer;font-weight:750;padding:11px 14px;border:0}
.compare-dock-clear{background:transparent;color:#fff}
.compare-dock-open{background:#f36b38;color:#fff}
.compare-dock-open:disabled{background:#465f56;color:#c9d5d0;cursor:not-allowed}
.compare-toast{position:fixed;bottom:100px;left:50%;transform:translateX(-50%);z-index:91;background:#1b2c27;color:#fff;border-radius:10px;padding:12px 18px;width:max-content;max-width:90vw;text-align:center;font-size:13px;box-shadow:0 12px 28px #0004}
body.compare-modal-open{overflow:hidden}
.compare-modal-backdrop{position:fixed;inset:0;z-index:80;display:flex;align-items:center;justify-content:center;padding:16px;background:rgba(13,26,21,.72)}
.compare-modal{width:min(1180px,100%);max-height:calc(100dvh - 32px);display:flex;flex-direction:column;overflow:hidden;border-radius:20px;background:#fff;color:#21322d;box-shadow:0 18px 65px #0005}
.compare-modal-top{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;padding:20px 26px;border-bottom:1px solid #e3eae6}
.compare-modal-top h2{font-size:26px;line-height:1.12;margin:4px 0 6px}
.compare-modal-top p{font-size:13px;color:#66746b;margin:0}
.compare-eyebrow{font-size:10px;font-weight:850;letter-spacing:.09em;color:#56805e}
.compare-modal-close{border:0;border-radius:50%;background:#f0f3f1;color:#243a2d;width:40px;height:40px;flex:0 0 40px;font-size:26px;line-height:1;cursor:pointer}
.compare-modal-content{padding:16px 24px 22px;overflow-y:auto;min-height:0}
.compare-tools{display:flex;justify-content:space-between;align-items:center;gap:15px;margin:0 0 15px}
.compare-tools>span{font-size:11px;color:#65726e}
.compare-differences{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:650}
.compare-differences input{width:17px;height:17px;accent-color:#276b48}
.compare-scroll{max-width:100%;overflow-x:auto;overscroll-behavior-x:contain;border:1px solid #dce6e0;border-radius:12px}
.compare-grid{min-width:max(100%,calc(var(--compare-columns) * 190px))}
.compare-products,.compare-spec-values{display:grid;grid-template-columns:repeat(var(--compare-columns),minmax(0,1fr))}
.compare-products{background:#f8faf8}
.compare-item{padding:12px;border-right:1px solid #e1e8e3;min-width:0}
.compare-item:last-child{border-right:0}
.compare-item-remove{display:block;border:0;background:transparent;color:#95502d;margin:0 0 9px auto;padding:3px 5px;font-size:11px;cursor:pointer}
.compare-item-link{display:flex;flex-direction:column;gap:9px;text-decoration:none;color:#24322a}
.compare-item-link img,.compare-no-photo{display:block;width:100%;height:135px;object-fit:contain;background:#fff;border:1px solid #e1e5e2;border-radius:9px}
.compare-item-link strong{font-size:13px;line-height:1.35;min-height:52px}
.compare-item-price{display:block;font-weight:850;font-size:18px;margin:9px 0}
.compare-item-actions{display:flex;gap:6px}
.compare-item-actions label{flex:0 0 48px;min-width:0}
.compare-item-actions input{width:100%;height:40px;padding:5px;text-align:center;border:1px solid #cbd5ce;border-radius:7px;font-size:14px}
.compare-item-actions button{flex:1;min-width:0;background:#e65e32;color:white;border:0;border-radius:7px;padding:9px 6px;font-size:12px;font-weight:750;cursor:pointer}
.compare-unavailable,.compare-warning{padding:12px;color:#8c421d;background:#fff4ea;border-radius:8px;font-size:13px}
.compare-warning{margin-bottom:12px}
.compare-spec-row{border-top:1px solid #e0e7e1}
.compare-spec-row h3{font-size:12px;font-weight:850;margin:0;padding:10px 13px 7px;background:#f0f5f1;color:#385549}
.compare-spec-values>div{padding:10px 13px;min-width:0;border-right:1px solid #e7ece8;font-size:12px;line-height:1.5;overflow-wrap:anywhere}
.compare-spec-values>div:last-child{border-right:0}
.compare-spec-row:nth-child(2n) .compare-spec-values{background:#f9faf9}
.compare-disclaimer{font-size:11px;line-height:1.55;color:#6b7570;margin:12px 2px 0}
.compare-identical,.compare-loading{padding:24px 12px;text-align:center;color:#60746a}
.compare-modal .sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
@media(max-width:650px){
  .compare-dock{bottom:max(9px,env(safe-area-inset-bottom));width:calc(100% - 18px);padding:10px 12px;border-radius:13px}
  .compare-dock-description strong{font-size:12px}
  .compare-dock-description span{font-size:10px}
  .compare-dock-actions{gap:5px}
  .compare-dock-actions button{font-size:11px;padding:11px 10px}
  .compare-modal-backdrop{padding:0}
  .compare-modal{height:100dvh;max-height:100dvh;border-radius:0}
  .compare-modal-top{padding:15px 16px}
  .compare-modal-top h2{font-size:22px}
  .compare-modal-top p{font-size:12px}
  .compare-modal-content{padding:12px 10px 24px}
  .compare-tools{align-items:flex-start;flex-direction:column;gap:5px}
  .compare-grid{min-width:max(100%,calc(var(--compare-columns) * 156px))}
  .compare-item{padding:7px}
  .compare-item-link img,.compare-no-photo{height:100px}
  .compare-item-link strong{font-size:11px;min-height:60px}
  .compare-item-price{font-size:15px}
  .compare-item-actions{flex-direction:column}
  .compare-item-actions label{flex:0 0 auto}
  .compare-item-actions input{height:34px;max-width:100%}
  .compare-item-actions button{min-height:40px}
  .compare-spec-row h3{padding:9px 10px 6px}
  .compare-spec-values>div{padding:9px 10px;font-size:11px}
  .compare-card-button{min-height:36px;font-size:11px}
}
