.catalog-page { --catalog-ink: #222b29; --catalog-muted: #687371; --catalog-line: #e5e9e7; --catalog-accent: var(--business-colour, #386f55); max-width: 1160px; min-height: 65vh; padding-top: 22px; padding-bottom: 80px; color: var(--catalog-ink); }
.store-nav { --business-colour: #386f55; min-height: 76px; padding-block: 14px; }
.store-brand { min-width: 0; font-size: 18px; font-weight: 700; }
.store-brand strong { overflow-wrap: anywhere; }
.store-brand img { width: 40px; height: 40px; object-fit: contain; }
.store-actions { gap: 22px; color: #526157; font-size: 13px; }
.store-actions a:hover { color: var(--business-colour); }
.catalog-breadcrumb { display: flex; gap: 9px; flex-wrap: wrap; align-items: center; margin: 7px 0 22px; color: var(--catalog-muted); font-size: 12px; }
.catalog-breadcrumb a { color: var(--catalog-ink); text-decoration: underline; text-underline-offset: 3px; }
.catalog-breadcrumb a:hover { color: var(--catalog-accent); }
.catalog-breadcrumb [aria-current="page"] { color: var(--catalog-muted); }
.catalog-context-header{display:grid;gap:8px;padding:18px 0 26px;border-bottom:1px solid var(--catalog-line)}
.catalog-context-back{width:max-content;color:var(--catalog-accent);font-size:12px;font-weight:750}
.catalog-context-label{margin-top:5px;color:var(--catalog-muted);font-size:9px;font-weight:850;letter-spacing:.14em}
.catalog-context-label a{color:var(--catalog-accent)}
.catalog-context-header h1{margin:0;font-size:clamp(29px,4vw,42px);font-weight:700;letter-spacing:-.035em}
.catalog-context-header p{max-width:620px;margin:0;color:var(--catalog-muted);font-size:13px}
.catalog-detail-context{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:8px 0 24px;padding-bottom:14px;border-bottom:1px solid var(--catalog-line);color:var(--catalog-muted);font-size:10px;font-weight:800;letter-spacing:.1em}
.catalog-detail-context a{color:var(--catalog-accent);font-size:12px;letter-spacing:0}
.catalog-heading { padding: 0 0 24px; }
.catalog-heading h1 { margin: 0; font-size: 31px; font-weight: 650; letter-spacing: 0; line-height: 1.2; }
.catalog-heading p { max-width: 640px; margin: 10px 0 0; color: var(--catalog-muted); font-size: 14px; }
.catalog-page-links { display: flex; flex-wrap: wrap; gap: 12px 24px; margin-top: 18px; }
.catalog-page-links a { color: var(--catalog-ink); font-size: 12px; font-weight: 600; text-decoration: underline; text-underline-offset: 3px; }
.catalog-page-links a:hover { color: var(--catalog-accent); }
.catalog-page-links a span { margin-right: 4px; text-decoration: none; }
.catalog-collection-filter { display: flex; gap: 22px; overflow-x: auto; padding: 0; margin: 0 0 28px; border-bottom: 1px solid var(--catalog-line); scrollbar-width: thin; }
.catalog-collection-filter a { display: inline-flex; align-items: center; gap: 6px; flex: none; min-height: 39px; padding: 6px 0 10px; border-bottom: 2px solid transparent; color: var(--catalog-muted); font-size: 12px; font-weight: 500; }
.catalog-collection-filter a:hover { color: var(--catalog-ink); text-decoration: none; }
.catalog-collection-filter a[aria-current="page"] { border-color: var(--catalog-ink); color: var(--catalog-ink); font-weight: 650; }
.catalog-collection-filter span { font-size: 11px; opacity: .7; }
.catalog-list-heading { display: flex; justify-content: space-between; align-items: baseline; gap: 16px; padding-bottom: 14px; border-bottom: 1px solid var(--catalog-line); }
.catalog-list-heading h2 { margin: 0; font-size: 16px; font-weight: 650; letter-spacing: 0; }
.catalog-list-heading > span, .catalog-list-heading > a { color: var(--catalog-muted); font-size: 12px; font-weight: 500; }
.catalog-list-heading > a:hover { color: var(--catalog-accent); }
.catalog-product-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 34px 20px; padding-top: 22px; }
.catalog-product-card { display: flex; flex-direction: column; min-width: 0; background: #fff; }
.catalog-product-image { position: relative; display: block; width: 100%; min-width: 0; aspect-ratio: 4 / 3; overflow: hidden; border-radius: 4px; background: #f1f3f1; }
.catalog-product-image img { position: absolute; inset: 0; display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .3s; }
.catalog-product-card:hover .catalog-product-image img { transform: scale(1.025); }
.catalog-sale-tag { position: absolute; top: 10px; left: 10px; padding: 5px 8px; border-radius: 3px; background: #fff; color: #a4443b; font-size: 10px; font-weight: 650; line-height: 1; }
.catalog-product-placeholder { display: grid; place-items: center; width: 100%; height: 100%; background: #eaf0e9; color: #53775b; font-size: 48px; font-weight: 650; }
.catalog-product-copy { display: flex; flex: 1; flex-direction: column; min-width: 0; padding: 12px 2px 0; }
.catalog-product-category { display: block; margin: 0 0 5px; color: var(--catalog-muted); font-size: 11px; font-weight: 400; line-height: 1.35; overflow-wrap: anywhere; }
.catalog-product-copy h2 { display: -webkit-box; min-height: 2.7em; margin: 0 0 9px; overflow: hidden; -webkit-box-orient: vertical; -webkit-line-clamp: 2; font-size: 14px; font-weight: 550; line-height: 1.35; letter-spacing: 0; overflow-wrap: anywhere; }
.catalog-product-copy h2 a:hover { color: var(--catalog-accent); text-decoration: none; }
.catalog-price-line { display: flex; align-items: baseline; flex-wrap: wrap; gap: 3px 9px; margin-top: auto; }
.catalog-price { color: var(--catalog-ink); font-size: 16px; font-weight: 650; line-height: 1.25; white-space: nowrap; }
.catalog-compare-price { color: #85908b; font-size: 12px; font-weight: 400; white-space: nowrap; }
.catalog-product-enquiry { display: inline-flex; align-self: flex-start; align-items: center; gap: 6px; min-height: 28px; margin-top: 9px; color: var(--catalog-accent); font-size: 12px; font-weight: 600; text-decoration: underline; text-underline-offset: 3px; }
.catalog-product-enquiry:hover { color: var(--catalog-ink); }
.catalog-empty { grid-column: 1 / -1; padding: 48px 0; }
.catalog-empty h2 { margin-bottom: 10px; font-size: 21px; letter-spacing: 0; }
.catalog-empty p { margin: 0; font-size: 13px; }
.catalog-detail-links { margin: 0 0 24px; }
.catalog-detail { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(310px, .9fr); gap: 48px; align-items: start; }
.catalog-detail-image { display: grid; place-items: center; aspect-ratio: 4 / 3; overflow: hidden; border-radius: 4px; background: #f2f4f1; }
.catalog-detail-image img { display: block; width: 100%; height: 100%; object-fit: contain; }
.catalog-detail-copy { min-width: 0; padding-top: 8px; }
.catalog-detail-copy .catalog-product-category { margin-bottom: 10px; }
.catalog-detail-copy h1 { margin: 0 0 15px; font-size: 31px; font-weight: 650; line-height: 1.2; letter-spacing: 0; overflow-wrap: anywhere; }
.catalog-detail-price { display: flex; align-items: baseline; flex-wrap: wrap; gap: 6px 14px; margin-bottom: 25px; }
.catalog-detail-price .catalog-price { font-size: 23px; }
.catalog-detail-price .catalog-compare-price { font-size: 15px; }
.catalog-detail-description { padding-top: 20px; border-top: 1px solid var(--catalog-line); color: var(--catalog-muted); font-size: 14px; line-height: 1.7; }
.catalog-detail-description h2 { margin: 0 0 10px; color: var(--catalog-ink); font-size: 14px; font-weight: 650; }
.catalog-detail-description p { color: inherit; margin-bottom: 13px; }
.catalog-enquiry-panel { margin-top: 24px; padding-top: 20px; border-top: 1px solid var(--catalog-line); }
.catalog-enquiry-panel .button { display: inline-flex; width: auto; min-height: 44px; border-radius: 4px; background: var(--catalog-ink); border-color: var(--catalog-ink); }
.catalog-enquiry-panel .button:hover { background: #3b4e40; }
.catalog-enquiry-panel small { margin-top: 12px; color: var(--catalog-muted); font-size: 11px; }
.catalog-enquiry-panel p { color: var(--catalog-muted); font-size: 13px; }
.catalog-related { margin-top: 64px; }
.catalog-messages { margin-bottom: 18px; }
.catalog-messages p { padding: 10px 14px; border-radius: 6px; background: #edf5e9; }
.catalog-messages .error { background: #fff3e8; }
.catalog-dashboard-row { display: flex; align-items: center; gap: 14px; border-top: 1px solid var(--line); padding: 14px 0; }
.catalog-dashboard-row > img { width: 56px; height: 56px; border-radius: 6px; object-fit: contain; background: #f1f4f1; }
.catalog-dashboard-row > div { flex: 1; }
.catalog-dashboard-row small { display: block; color: var(--muted); }
.collection-editor-form { max-width: 780px; }
.collection-product-picker { margin: 28px 0 24px; padding: 18px 0 0; border: 0; border-top: 1px solid var(--line); }
.collection-product-picker legend { padding-right: 14px; font-size: 17px; font-weight: 750; }
.collection-product-picker p { margin: 4px 0 14px; font-size: 12px; }
.collection-product-picker input[type="search"] { width: 100%; max-width: 380px; margin-bottom: 14px; }
.collection-product-options { max-height: 340px; overflow-y: auto; border: 1px solid var(--line); border-radius: 6px; }
.collection-product-options > div > div { border-bottom: 1px solid var(--line); }
.collection-product-options label { display: flex; align-items: center; gap: 11px; min-height: 45px; margin: 0; padding: 8px 12px; cursor: pointer; }
.collection-product-options input[type="checkbox"] { width: 16px; height: 16px; flex: none; margin: 0; accent-color: #477351; }
.collection-product-options [hidden] { display: none; }
@media (max-width: 1050px) {
  .catalog-product-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 760px) {
  .catalog-product-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 26px 14px; }
  .catalog-detail { grid-template-columns: 1fr; gap: 24px; }
  .catalog-detail-image { max-height: 540px; aspect-ratio: 4 / 3; }
}
@media (max-width: 520px) {
  .store-nav { min-height:62px;flex-wrap:nowrap;gap:14px;padding-block:10px; }
  .store-brand { font-size:16px; }
  .store-brand img { width:32px;height:32px; }
  .store-actions { width:auto;min-width:0;justify-content:flex-end;gap:14px;overflow-x:auto;white-space:nowrap;font-size:11px; }
  .catalog-page { padding-top: 15px; padding-bottom: 55px; }
  .catalog-context-header{padding-top:10px;padding-bottom:20px}.catalog-context-header h1 { font-size: 29px; }
  .catalog-product-copy h2 { font-size: 13px; }
  .catalog-price { font-size: 15px; }
  .catalog-detail-copy h1 { font-size: 27px; }
  .catalog-detail-price .catalog-price { font-size: 21px; }
  .catalog-dashboard-row { flex-wrap: wrap; }
}
@media (max-width: 360px) {
  .catalog-product-grid { grid-template-columns: minmax(0, 1fr); }
}
/* Catalog workspace */
.catalog-manager-table { min-width: 690px; }
@media(max-width:760px){.catalog-manager-table{min-width:0}.catalog-collection-filter{flex-wrap:wrap;overflow-x:visible;gap:8px;padding-bottom:10px}}
.catalog-manager-product { display: flex; align-items: center; gap: 11px; min-width: 160px; }
.catalog-manager-product > img, .catalog-manager-placeholder { display: grid; flex: 0 0 43px; place-items: center; width: 43px; height: 43px; border-radius: 8px; background: #edf3ec; color: #427051; font-size: 22px; object-fit: cover; }
.catalog-manager-product strong { display: block; overflow-wrap: anywhere; }
.catalog-manager-muted { color: #77877b; }
.catalog-manager-collections { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 13px; padding: 0 25px 25px; }
.catalog-manager-collection-top { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 15px; }
.catalog-manager-collection-top small { color: #6b796f; font-size: 10px; }
.catalog-collection-card { display: flex; flex-direction: column; min-height: 190px; border-color: #dbe8dd; background: linear-gradient(150deg,#fff,#f8fbf7); }
.catalog-collection-card h3 { margin-bottom: 5px; font-size: 18px; }
.catalog-collection-card p { margin-bottom: 18px; font-size: 11px; }
.catalog-collection-position { margin-right: auto; color: #3c6748; font-size: 11px; font-weight: 900; letter-spacing: .16em; }
.catalog-collection-actions { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: auto; padding-top: 13px; border-top: 1px solid #e4eee5; }
.catalog-collection-moves { display: flex; align-items: center; gap: 5px; }
.catalog-collection-moves form { margin: 0; }
.catalog-collection-moves button { display: grid; place-items: center; width: 33px; height: 33px; border: 1px solid #d0e1d3; border-radius: 8px; background: #fff; color: #315d43; font-size: 17px; font-weight: 800; cursor: pointer; }
.catalog-collection-moves button:hover:not(:disabled), .catalog-collection-moves button:focus-visible { border-color: #4c7552; background: #edf5eb; }
.catalog-collection-moves button:disabled { opacity: .35; cursor: default; }
.catalog-manager-back { display: inline-block; margin-bottom: 20px; color: #315d43; font-size: 12px; font-weight: 800; }
.catalog-manager-form .workspace-panel { margin-bottom: 17px; }
.catalog-manager-image-field img { display: block; width: 130px; height: 105px; margin-bottom: 12px; border: 1px solid #dce8de; border-radius: 9px; background: #f6f9f6; object-fit: contain; }
.catalog-manager-image-field input[type=file] { padding: 11px; border: 1px solid #d6e3d7; border-radius: 8px; background: #f9fbf9; }
.catalog-manager-switches { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.catalog-manager-switches label { display: flex; align-items: flex-start; gap: 10px; margin: 0; padding: 14px; border: 1px solid #dce8de; border-radius: 9px; background: #f9fbf9; cursor: pointer; }
.catalog-manager-switches input { flex: 0 0 auto; margin-top: 3px; }
.catalog-manager-switches strong, .catalog-manager-switches small { display: block; }
.catalog-manager-switches strong { font-size: 12px; }
.catalog-manager-switches small { margin-top: 4px; color: #66796c; font-size: 11px; line-height: 1.45; }
@media(max-width: 760px) { .catalog-manager-collections, .catalog-manager-switches { grid-template-columns: 1fr; } .catalog-manager-collections { padding: 0 20px 20px; } }
.catalog-manager-image-label { display: block; margin-bottom: 7px; color: #294331; font-size: 12px; font-weight: 800; }
.catalog-photo-card { display: flex; align-items: center; gap: 18px; padding: 17px; border: 1px solid #d9e6db; border-radius: 11px; background: #f8fbf8; }
.catalog-photo-preview { display: grid; flex: 0 0 125px; place-items: center; width: 125px; height: 115px; overflow: hidden; border: 1px dashed #bfd3c2; border-radius: 9px; background: #fff; color: #73957a; font-size: 37px; }
.catalog-photo-preview img { width: 100%; height: 100%; object-fit: contain; }
.catalog-photo-preview img[hidden], .catalog-photo-preview span[hidden] { display: none; }
.catalog-photo-controls { min-width: 0; }
.catalog-photo-controls strong { display: block; font-size: 12px; }
.catalog-photo-controls p { margin: 5px 0 13px; color: #63776a; font-size: 11px; }
.catalog-photo-controls input[type=file] { position: absolute; width: 1px!important; height: 1px!important; padding: 0; opacity: 0; }
.catalog-photo-controls > .workspace-button { display: inline-flex; margin: 0; cursor: pointer; }
.catalog-photo-controls > small { display: block; margin-top: 6px; color: #427152; font-size: 11px; overflow-wrap: anywhere; }
.catalog-photo-remove { display: flex!important; align-items: center; gap: 7px; margin-top: 10px!important; color: #9a4141!important; cursor: pointer; font-size: 11px!important; }
.catalog-photo-remove input { accent-color: #9a4141; }
@media(max-width: 560px) { .catalog-photo-card { align-items: flex-start; } .catalog-photo-preview { flex-basis: 85px; width: 85px; height: 85px; } }
.catalog-collection-grid .portfolio-collection-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-flow:row;gap:16px;overflow:visible;margin:0;padding:0}
.catalog-collection-grid .portfolio-collection-card{display:block;min-width:0;overflow:hidden;border:1px solid var(--catalog-line);border-radius:12px;background:#fff;color:var(--catalog-ink);text-decoration:none}
.catalog-collection-grid .portfolio-collection-image{display:grid;place-items:center;height:170px;overflow:hidden;background:#eef2ee}
.catalog-collection-grid .portfolio-collection-image img{display:block;width:100%;height:100%;object-fit:cover}
.catalog-collection-grid .portfolio-collection-image>span{font-size:42px;color:#51705b}
.catalog-collection-grid .portfolio-collection-copy{display:grid;gap:5px;padding:16px}
.catalog-collection-grid .portfolio-collection-copy strong{font-size:17px}
.catalog-collection-grid .portfolio-collection-copy small{color:var(--catalog-muted)}
.catalog-collection-grid .portfolio-collection-action{display:flex;justify-content:space-between;margin-top:8px;font-size:12px;font-weight:700;color:var(--business-colour)}
@media(max-width:760px){.catalog-collection-grid .portfolio-collection-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.catalog-collection-grid .portfolio-collection-image{height:140px}}

/* Price-list workspace */
.price-list-manager { min-width: 0; overflow: hidden; }
.price-list-settings-form { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 18px; }
.price-list-form-field { min-width: 0; }
.price-list-form-field:nth-of-type(3), .price-list-form-field:nth-of-type(4), .price-list-form-toggle, .price-list-settings-form > .price-list-manager-actions { grid-column: 1 / -1; }
.price-list-form-field label { display: block; margin-bottom: 7px; color: #294331; font-size: 12px; font-weight: 800; }
.price-list-form-field input:not([type=checkbox]), .price-list-form-field select, .price-list-form-field textarea { display: block; width: 100%; max-width: 100%; min-width: 0; }
.price-list-form-field textarea { min-height: 110px; resize: vertical; }
.price-list-form-field small { display: block; margin-top: 6px; color: #68786c; font-size: 10px; line-height: 1.45; }
.price-list-form-toggle { display: flex; flex-wrap: wrap; align-items: center; gap: 9px; padding: 13px; border: 1px solid #dce8de; border-radius: 9px; background: #f8fbf8; }
.price-list-form-toggle label { margin: 0; }
.price-list-form-toggle small { flex-basis: 100%; margin: 0; }
.price-list-form-error { display: block; margin-top: 6px; color: #9e3333; font-size: 11px; font-weight: 700; }
.price-list-manager-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; min-width: 0; }
.price-list-manager-actions form { margin: 0; }
.price-list-manager-actions .workspace-button { max-width: 100%; white-space: normal; text-align: center; }
.price-list-manager-secondary-actions { margin-top: 16px; }
.price-list-manager-sections { display: grid; gap: 14px; min-width: 0; }
.price-list-manager-card { min-width: 0; margin: 0; border-color: #dce8de; background: linear-gradient(145deg,#fff,#f8fbf8); }
.price-list-manager-card-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; min-width: 0; margin-bottom: 14px; }
.price-list-manager-card-head > div { min-width: 0; }
.price-list-manager-card-head h3 { margin: 0 0 5px; overflow-wrap: anywhere; }
.price-list-manager-card-head p { margin: 0; color: #68786c; font-size: 11px; line-height: 1.5; overflow-wrap: anywhere; }
.price-list-manager-item { min-width: 0; }
.price-list-manager-item > div:first-child { min-width: 0; }
.price-list-manager-item strong, .price-list-manager-item small { overflow-wrap: anywhere; }
@media(max-width:760px){
  .price-list-settings-form { grid-template-columns: minmax(0,1fr); }
  .price-list-form-field, .price-list-form-field:nth-of-type(3), .price-list-form-field:nth-of-type(4), .price-list-form-toggle, .price-list-settings-form > .price-list-manager-actions { grid-column: 1; }
  .price-list-sections-heading, .price-list-manager-card-head { align-items: stretch; flex-direction: column; }
  .price-list-sections-heading > .workspace-button, .price-list-manager-card-head > .workspace-button { align-self: flex-start; }
  .price-list-manager-item { align-items: flex-start; gap: 10px; }
}
@media(max-width:460px){
  .price-list-manager-item { flex-direction: column; }
  .price-list-manager-item > .price-list-manager-actions { width: 100%; }
}
