/* Bloemoloog Catalogus / Voorraad — touch-first, read-only */
.catalog-panel{padding:22px}.catalog-toolbar{display:flex;justify-content:space-between;gap:16px;align-items:center;flex-wrap:wrap;margin-bottom:18px}.catalog-toolbar h2{margin:0 0 2px;font-size:18px}.catalog-toolbar p{margin:0}.catalog-filters{display:flex;gap:9px;align-items:center;margin:0 0 18px;flex-wrap:wrap}.catalog-filters input,.catalog-filters select{border-radius:10px;border:1px solid #dbe4dc;min-height:45px;padding:10px 13px;background:#fff}.catalog-filters input{flex:1;min-width:180px}.catalog-filters select{width:175px}.catalog-list{border:1px solid #e1e9e1;border-radius:13px;overflow:hidden}.catalog-grid{display:grid;grid-template-columns:62px minmax(240px,2.3fr) minmax(85px,.7fr) minmax(90px,.8fr) minmax(135px,1.05fr) minmax(105px,.8fr);gap:15px;align-items:center}.inventory-grid{display:grid;grid-template-columns:62px minmax(240px,2.3fr) repeat(3,minmax(85px,.7fr)) minmax(115px,.8fr);gap:15px;align-items:center}.catalog-head,.inventory-head{padding:13px 18px;background:#f4f7f2;color:#79897f;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.4px}.catalog-row,.inventory-row{position:relative;padding:11px 18px;border-top:1px solid #e8eee7;background:#fff;min-height:80px}.catalog-row:hover,.inventory-row:hover{background:#f8faf6}.catalog-row:focus-within,.inventory-row:focus-within{box-shadow:inset 0 0 0 2px #83b992}.catalog-tap{position:absolute;inset:0;border:0;background:transparent;cursor:pointer;z-index:1;border-radius:0}.catalog-photo{width:57px;height:57px;border-radius:10px;border:1px solid #e8ede5;background:#f5f7f3;display:grid;place-items:center;overflow:hidden;color:#8daa90}.catalog-photo img{width:100%;height:100%;object-fit:cover}.catalog-name strong{font-size:13px;color:#24472f;display:block;line-height:1.35}.catalog-name small{display:block;color:#87958a;font-size:11px;margin-top:4px;word-break:break-all}.catalog-cell strong{color:#284f36;font-size:15px;font-weight:800;font-variant-numeric:tabular-nums}.catalog-cell small{display:block;color:#b47a36;font-size:10px}.cell-label{display:none}.catalog-status{display:inline-flex;align-items:center;gap:5px;font-size:11px;line-height:1.4;border-radius:8px;padding:5px 8px;white-space:normal;font-weight:700;background:#eff2ef;color:#627567}.catalog-status.good{background:#e4f3e6;color:#296f41}.catalog-status.warn{background:#fff3df;color:#976622}.catalog-row-action{position:relative;z-index:2;display:flex;justify-content:flex-end}.catalog-row-action .btn{font-size:11px;padding:8px 9px;min-height:42px}.catalog-empty{padding:38px;text-align:center;color:#728078}.catalog-pagination{display:flex;align-items:center;justify-content:center;gap:15px;margin-top:18px;font-size:12px;color:#879188}
.catalog-dialog{border:none;border-radius:19px;width:min(95vw,880px);max-height:94dvh;overflow:hidden;padding:0;color:#294833;box-shadow:0 26px 80px #102a1a77}.catalog-dialog::backdrop{background:#10281c99;backdrop-filter:blur(2px)}.catalog-dialog-head{background:#fff;padding:20px 23px 15px;display:flex;align-items:flex-start;justify-content:space-between;gap:10px;border-bottom:1px solid #e9efe8}.catalog-dialog-head h2{margin:2px 0 0;font-size:20px;word-break:break-word}.mini-label{font-size:10px;color:#829b87;font-weight:800;letter-spacing:1.2px}.catalog-dialog-body{background:#fafcf9;overflow-y:auto;max-height:calc(94dvh - 162px);padding:20px 23px}.catalog-dialog-foot{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:12px 23px;background:white;border-top:1px solid #e3ebe3;color:#768779;font-size:11px}.catalog-dialog-foot>span{display:inline-flex;align-items:center;gap:8px}.catalog-dialog-foot .icon{width:16px;height:16px}.catalog-modal-hero{display:grid;grid-template-columns:160px 1fr;gap:22px;margin-bottom:15px}.catalog-modal-hero>img,.catalog-placeholder{width:160px;height:160px;object-fit:contain;border-radius:12px;border:1px solid #e5eee6;background:white}.catalog-placeholder{display:grid;place-items:center;font-size:43px}.catalog-modal-about{display:flex;flex-direction:column;align-items:flex-start;gap:10px}.catalog-modal-about .catalog-detail-row{border:0;padding:2px 0}.catalog-modal-links{display:flex;gap:7px;flex-wrap:wrap;margin-top:auto}.catalog-tabs{display:flex;overflow-x:auto;gap:7px;border-bottom:1px solid #dbe8dd;margin-bottom:17px;padding-bottom:8px}.catalog-tab{white-space:nowrap;min-height:43px;border:1px solid transparent;border-radius:10px;background:transparent;padding:9px 15px;color:#6a826d;font-weight:700;cursor:pointer}.catalog-tab.is-active{color:#1e5f39;background:#e7f2e7;border-color:#d0e4d1}.catalog-modal-section{min-height:100px}.catalog-modal-section h3{margin:19px 0 8px;color:#31583b}.catalog-muted{white-space:pre-line;line-height:1.55;color:#64776a;font-size:13px}.catalog-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}.catalog-detail-row{display:flex;justify-content:space-between;align-items:baseline;gap:14px;border-bottom:1px solid #e6ece5;padding:10px 0;font-size:12px}.catalog-detail-row strong{overflow-wrap:anywhere;text-align:right;color:#355842;font-weight:700}.catalog-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px}.catalog-gallery img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:11px;border:1px solid #dce8da}.catalog-variant{padding:15px;background:#fff;border:1px solid #e0eae0;border-radius:11px;margin:0 0 11px}.catalog-variant>strong{color:#245539}.catalog-variant .catalog-muted{margin:5px 0 10px}.catalog-stock-location{background:#f8fbf7;border:1px solid #e6eee6;border-radius:9px;padding:12px;margin-top:12px}.catalog-stock-location>strong{display:block;font-size:12px;margin-bottom:11px}.catalog-stock-values{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.catalog-stock-value{min-width:0;background:#fff;border:1px solid #e1e9df;border-radius:9px;text-align:center;padding:10px 5px}.catalog-stock-value small{display:block;font-size:11px;color:#799081}.catalog-stock-value>strong{font-weight:800;font-size:19px;color:#315943}.catalog-commit-detail{font-size:10px;color:#52765b;margin:8px 3px 0}.catalog-commit-detail summary{cursor:pointer;text-decoration:underline;font-weight:700}.catalog-commit-detail .catalog-muted{text-align:left;font-size:11px;margin:8px 0 0}.catalog-caution{padding:13px;border-radius:11px;background:#fff3e0;border:1px solid #f2dbb0;color:#925d24;font-size:12px;margin:0 0 14px}
@media(max-width:1100px){.catalog-grid{grid-template-columns:58px minmax(160px,2.3fr) 78px 85px 105px minmax(95px,.7fr);gap:10px}.inventory-grid{grid-template-columns:58px minmax(160px,2.3fr) repeat(3,72px) 100px;gap:10px}.catalog-row,.inventory-row,.catalog-head,.inventory-head{padding-left:12px;padding-right:12px}}
@media(max-width:850px){.catalog-head,.inventory-head{display:none}.catalog-grid,.inventory-grid{grid-template-columns:55px minmax(130px,1fr) repeat(2,minmax(72px,.55fr));gap:10px}.catalog-grid>.catalog-photo,.inventory-grid>.catalog-photo{grid-column:1}.catalog-grid>.catalog-name,.inventory-grid>.catalog-name{grid-column:2}.catalog-grid>.catalog-cell:nth-of-type(1),.inventory-grid>.catalog-cell:nth-of-type(1){grid-column:3}.catalog-grid>.catalog-cell:nth-of-type(2),.inventory-grid>.catalog-cell:nth-of-type(2){grid-column:4}.catalog-row>.catalog-cell:nth-of-type(3),.inventory-row>.catalog-cell:nth-of-type(3){grid-column:3}.catalog-row>.catalog-row-action,.inventory-row>.catalog-row-action{grid-column:4}.catalog-row,.inventory-row{min-height:99px}.cell-label{display:block;color:#809389;font-size:10px}.inventory-row>.catalog-cell:nth-of-type(2){grid-row:1}.catalog-row>.catalog-cell:nth-of-type(1){grid-row:1}.catalog-dialog-body{padding:14px}.catalog-detail-grid{grid-template-columns:1fr}}
@media(max-width:560px){.catalog-panel{padding:12px}.catalog-toolbar{gap:8px}.catalog-grid,.inventory-grid{grid-template-columns:50px 1fr 78px;gap:8px}.catalog-row,.inventory-row{grid-template-rows:auto auto auto;padding:12px}.catalog-photo{width:48px;height:48px}.catalog-row>.catalog-name,.inventory-row>.catalog-name{grid-column:2 / -1;grid-row:1}.catalog-row>.catalog-cell:nth-of-type(1),.inventory-row>.catalog-cell:nth-of-type(1){grid-column:1;grid-row:2}.catalog-row>.catalog-cell:nth-of-type(2),.inventory-row>.catalog-cell:nth-of-type(2){grid-column:2;grid-row:2}.catalog-row>.catalog-cell:nth-of-type(3),.inventory-row>.catalog-cell:nth-of-type(3){grid-column:3;grid-row:2}.catalog-row>.catalog-row-action,.inventory-row>.catalog-row-action{grid-column:2 / -1;grid-row:3;justify-content:flex-start}.catalog-filters select{width:100%}.catalog-dialog-head{padding:14px}.catalog-modal-hero{grid-template-columns:100px 1fr;gap:10px}.catalog-modal-hero>img,.catalog-placeholder{width:100px;height:100px}.catalog-dialog-body{max-height:calc(94dvh - 180px)}.catalog-dialog-foot{padding:9px}.catalog-dialog-foot>span{font-size:10px}.catalog-stock-values{gap:4px}.catalog-stock-value>strong{font-size:16px}.catalog-modal-links .btn{min-height:36px;font-size:11px;padding:7px}}
/* Stable tablet layout: distinguish data cells by child index (photo/title precede them). */
@media(max-width:850px){
  .catalog-row>.catalog-cell:nth-child(4),.inventory-row>.catalog-cell:nth-child(4){grid-column:3;grid-row:1}
  .catalog-row>.catalog-cell:nth-child(5),.inventory-row>.catalog-cell:nth-child(5){grid-column:4;grid-row:1}
  .catalog-row>.catalog-cell:nth-child(6),.inventory-row>.catalog-cell:nth-child(6){grid-column:3;grid-row:2}
  .catalog-row>.catalog-row-action,.inventory-row>.catalog-row-action{grid-column:4;grid-row:2}
}
@media(max-width:560px){
  .catalog-row>.catalog-cell:nth-child(4),.inventory-row>.catalog-cell:nth-child(4){grid-column:1;grid-row:2}
  .catalog-row>.catalog-cell:nth-child(5),.inventory-row>.catalog-cell:nth-child(5){grid-column:2;grid-row:2}
  .catalog-row>.catalog-cell:nth-child(6),.inventory-row>.catalog-cell:nth-child(6){grid-column:3;grid-row:2}
  .catalog-row>.catalog-row-action,.inventory-row>.catalog-row-action{grid-column:2 / -1;grid-row:3;justify-content:flex-start}
  .catalog-row>.catalog-name,.inventory-row>.catalog-name{grid-column:2/-1;grid-row:1}
  .catalog-row>.catalog-photo,.inventory-row>.catalog-photo{grid-column:1;grid-row:1}
}
@media(prefers-reduced-motion:no-preference){.catalog-dialog{transition:opacity .12s ease}}

/* v0.3.4 — extra Vastgelegd column in the compact product catalog. */
.catalog-grid{grid-template-columns:62px minmax(200px,2.4fr) 85px 90px 85px minmax(120px,1fr) 110px;gap:12px}
.catalog-filters .catalog-clear[hidden]{display:none}
.catalog-filters[aria-busy="true"] input[name="q"]{background-image:linear-gradient(to right,#e5f0e7,#fff);background-size:60px 100%;background-repeat:no-repeat;background-position:right}
.catalog-modal-stock-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;width:100%}
.catalog-summary-card{padding:9px 6px;border:1px solid #dce8dc;border-radius:9px;background:#f5faf5;text-align:center}
.catalog-summary-card small{display:block;font-size:10px;color:#708b75;white-space:normal}
.catalog-summary-card strong{display:block;font-size:19px;color:#285a38;font-variant-numeric:tabular-nums}
.catalog-rich-description{font-size:14px;line-height:1.65;color:#365543;overflow-wrap:anywhere}
.catalog-rich-description :is(h2,h3,h4){margin:18px 0 8px;line-height:1.3;color:#255336}
.catalog-rich-description p{margin:10px 0}
.catalog-rich-description table{border-collapse:collapse;width:100%;display:block;overflow-x:auto;margin:14px 0}
.catalog-rich-description :is(th,td){border:1px solid #d9e5d8;padding:8px 11px;text-align:left;min-width:70px}
.catalog-rich-description img{max-width:100%;height:auto;object-fit:contain}
.catalog-rich-description a{color:#176c40;text-decoration:underline}
.catalog-rich-description ul,.catalog-rich-description ol{padding-left:24px}
.catalog-html-details{margin:13px 0 20px;border:1px solid #dce5da;border-radius:9px;padding:12px;background:#f8faf7;font-size:12px}
.catalog-html-details summary{font-weight:700;color:#4e7657;cursor:pointer}
.catalog-html-source{width:100%;min-height:140px;margin-top:11px;border-radius:8px;background:#fff;color:#365442;border:1px solid #d1dfd3;resize:vertical;padding:11px;font-family:ui-monospace,Consolas,monospace;font-size:11px}
.catalog-chips{display:flex;gap:7px;flex-wrap:wrap;margin:9px 0 18px}
.catalog-chip{display:inline-block;background:#eaf3e8;border:1px solid #d7e7d5;border-radius:30px;padding:6px 10px;color:#355e41;font-size:12px}
@media(max-width:1100px){.catalog-grid{grid-template-columns:55px minmax(155px,2.4fr) 72px 75px 70px minmax(105px,1fr) 96px;gap:8px}}
@media(max-width:850px){
  .catalog-grid{grid-template-columns:55px minmax(100px,1fr) 85px 92px;gap:9px}
  .catalog-row{grid-template-rows:auto auto auto;align-items:start}
  .catalog-row>.catalog-photo{grid-column:1!important;grid-row:1!important}
  .catalog-row>.catalog-name{grid-column:2 / -1!important;grid-row:1!important}
  .catalog-row>.catalog-cell:nth-child(4){grid-column:1!important;grid-row:2!important}
  .catalog-row>.catalog-cell:nth-child(5){grid-column:2!important;grid-row:2!important}
  .catalog-row>.catalog-cell:nth-child(6){grid-column:3!important;grid-row:2!important}
  .catalog-row>.catalog-cell:nth-child(7){grid-column:4!important;grid-row:2!important}
  .catalog-row>.catalog-row-action{grid-column:2 / -1!important;grid-row:3!important;justify-content:flex-start}
}
@media(max-width:560px){
  .catalog-grid{grid-template-columns:49px minmax(75px,1fr) minmax(65px,.7fr) minmax(84px,.85fr);gap:7px}
  .catalog-row>.catalog-cell:nth-child(4){grid-column:1!important;grid-row:2!important}
  .catalog-row>.catalog-cell:nth-child(5){grid-column:2!important;grid-row:2!important}
  .catalog-row>.catalog-cell:nth-child(6){grid-column:3!important;grid-row:2!important}
  .catalog-row>.catalog-cell:nth-child(7){grid-column:4!important;grid-row:2!important}
  .catalog-row .catalog-cell strong{font-size:13px}
  .catalog-modal-stock-summary{grid-template-columns:repeat(2,minmax(0,1fr))}
  .catalog-summary-card strong{font-size:17px}
}
