/* Product presentation workspace; isolated from stock accounting and club styles. */
.pc-root{--pc-ink:#193b32;--pc-muted:#69776c;--pc-line:#dce3d8;--pc-paper:#fffdf8;color:var(--pc-ink);min-width:0}.pc-root *,.pc-dialog *{box-sizing:border-box}.pc-head{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-bottom:22px}.pc-kicker{font-size:10px;letter-spacing:1.7px;text-transform:uppercase;color:#977649}.pc-head h2{font-size:29px;letter-spacing:-.8px;margin:7px 0 8px}.pc-head p{max-width:640px;font-size:12px;line-height:1.7;color:var(--pc-muted);margin:0}.pc-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.pc-root .btn,.pc-dialog .btn{font-size:11px;white-space:normal}.pc-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:22px 0}.pc-stat{border:1px solid var(--pc-line);padding:16px 18px;border-radius:12px;background:var(--pc-paper)}.pc-stat small{display:block;font-size:11px;color:var(--pc-muted)}.pc-stat strong{display:block;font-size:25px;font-weight:500;margin-top:8px}.pc-connection{border:1px solid #e9dbc4;background:#fbf7ed;border-radius:12px;padding:14px 18px;font-size:12px;line-height:1.7;margin:18px 0}.pc-connection strong{display:block;color:#785d30}.pc-toolbar{display:grid;grid-template-columns:minmax(170px,1fr) repeat(3,minmax(115px,.55fr)) auto;gap:10px;margin:20px 0}.pc-toolbar label{font-size:10px;color:var(--pc-muted);display:flex;flex-direction:column;gap:6px}.pc-toolbar input,.pc-toolbar select,.pc-dialog input,.pc-dialog select,.pc-dialog textarea{font:inherit;font-size:12px;color:#193b32;border:1px solid #d5ded2;background:#fffdf8;border-radius:8px;padding:10px;max-width:100%;min-width:0}.pc-toolbar .pc-actions{align-self:end;padding-bottom:2px}.pc-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.pc-card{border:1px solid var(--pc-line);border-radius:15px;overflow:hidden;background:var(--pc-paper);min-width:0}.pc-cover{aspect-ratio:1.35;background:#f1ede4;display:flex;align-items:center;justify-content:center;position:relative;color:#b59a72}.pc-cover img{width:100%;height:100%;object-fit:contain}.pc-cover .pc-placeholder{font:64px Georgia,serif}.pc-cover .pc-pill{position:absolute;left:12px;top:12px}.pc-card-body{padding:18px}.pc-card h3{font:23px/1.2 Georgia,serif;margin:6px 0 10px;overflow-wrap:anywhere}.pc-card .pc-meta{font-size:10px;line-height:1.6;color:var(--pc-muted);overflow-wrap:anywhere}.pc-card .pc-price{font-size:16px;margin:12px 0}.pc-card-foot{display:flex;gap:7px;flex-wrap:wrap;margin-top:15px;padding-top:14px;border-top:1px solid var(--pc-line)}.pc-pill{display:inline-flex;font-size:9px;line-height:1.4;background:#eef2e9;border:1px solid #dbe5d1;color:#385844;border-radius:20px;padding:5px 8px;margin:0 4px 4px 0}.pc-pill.warn{background:#faf0dc;border-color:#e9d9b7;color:#88662f}.pc-pill.burgundy{background:#f3e6e5;border-color:#e4c9c5;color:#7a3138}.pc-table-wrap{overflow:auto;border:1px solid var(--pc-line);border-radius:12px}.pc-table{width:100%;border-collapse:collapse;font-size:11px;white-space:nowrap}.pc-table th,.pc-table td{padding:13px 16px;border-bottom:1px solid var(--pc-line);text-align:left}.pc-table th{font-size:10px;background:#f3f5ee;color:var(--pc-muted)}.pc-table td:first-child{white-space:normal;min-width:200px}.pc-empty{text-align:center;padding:60px 20px;border:1px dashed #cdd8c7;border-radius:14px;background:#fbfcf7}.pc-empty h3{font:29px Georgia,serif;margin:0 0 12px}.pc-empty p{font-size:12px;color:var(--pc-muted);max-width:480px;margin:0 auto 20px;line-height:1.8}.pc-error{padding:12px 15px;border:1px solid #eccbc5;background:#fff0ed;border-radius:8px;color:#8c3232;font-size:12px;line-height:1.7;margin:12px 0}.pc-error:empty{display:none}.pc-dialog{--pc-line:#dce3d8;--pc-muted:#69776c;--pc-paper:#fffdf8;--pc-ink:#193b32;border:1px solid #d2dccb;border-radius:17px;background:#fbfcf7;color:var(--pc-ink);padding:0;width:min(1060px,calc(100vw - 24px));max-height:92dvh;overflow:auto;box-shadow:0 25px 80px #17352740}.pc-dialog::backdrop{background:#142c2877;backdrop-filter:blur(3px)}.pc-dialog-head{display:flex;gap:20px;justify-content:space-between;align-items:center;padding:22px 28px;border-bottom:1px solid var(--pc-line);position:sticky;top:0;background:#fbfcf7;z-index:2}.pc-dialog-head h2{margin:5px 0 0;font:29px Georgia,serif}.pc-editor{display:grid;grid-template-columns:minmax(0,1fr) 240px;gap:24px;padding:24px 28px}.pc-editor-main{min-width:0}.pc-section{border:1px solid var(--pc-line);border-radius:12px;background:var(--pc-paper);padding:19px;margin-bottom:16px}.pc-section h3{font-size:14px;margin:0 0 7px}.pc-section>p{font-size:11px;line-height:1.7;color:var(--pc-muted);margin:0 0 17px}.pc-fields{display:grid;grid-template-columns:1fr 1fr;gap:15px}.pc-field{display:flex;flex-direction:column;gap:7px;font-size:11px;min-width:0}.pc-field.wide{grid-column:1/-1}.pc-field input,.pc-field select,.pc-field textarea{width:100%}.pc-field small{font-size:10px;line-height:1.6;color:var(--pc-muted)}.pc-field textarea{resize:vertical;min-height:85px}.pc-check{display:flex;gap:9px;align-items:flex-start;font-size:12px;line-height:1.7;margin:13px 0}.pc-check input{flex:none;margin-top:4px}.pc-aside{align-self:start;position:sticky;top:100px}.pc-aside .pc-section{padding:16px}.pc-aside p,.pc-aside li{font-size:11px;line-height:1.7;color:var(--pc-muted)}.pc-checklist{list-style:none;padding:0;margin:12px 0}.pc-checklist li{padding:8px 0;border-bottom:1px solid #e8ecdf;display:flex;gap:8px}.pc-checklist li span{flex:none;color:#8a7b55}.pc-checklist .is-done span{color:#41724d}.pc-dialog-foot{padding:18px 28px;border-top:1px solid var(--pc-line);display:flex;justify-content:space-between;gap:15px;align-items:center;background:#fbfcf7;position:sticky;bottom:0;z-index:2}.pc-dialog-foot p{font-size:10px;color:var(--pc-muted);line-height:1.6;margin:0;max-width:420px}.pc-gallery-row{display:grid;grid-template-columns:2fr 1.4fr;gap:10px;padding:12px 0;border-bottom:1px solid var(--pc-line)}.pc-gallery-row:last-child{border:0}.pc-upload-preview{width:100%;max-height:200px;object-fit:contain;border-radius:8px;margin-bottom:13px;background:#f3eee5}.pc-customer-preview{padding:30px;background:#fffaf2;color:#473528}.pc-preview-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:35px;align-items:start}.pc-preview-gallery{display:grid;grid-template-columns:1fr 1fr;gap:10px}.pc-preview-gallery figure{margin:0;background:#eee6d8}.pc-preview-gallery figure:first-child{grid-column:1/-1}.pc-preview-gallery img{width:100%;height:100%;aspect-ratio:1;object-fit:contain}.pc-preview-gallery figcaption{font-size:10px;padding:8px}.pc-customer-preview h3{font:38px/1.1 Georgia,serif;margin:12px 0 20px}.pc-customer-preview .pc-price{font-size:18px}.pc-customer-preview p{font-size:12px;line-height:1.9;white-space:pre-wrap}.pc-customer-preview dl{font-size:11px;margin:24px 0}.pc-customer-preview dl>div{display:flex;justify-content:space-between;gap:20px;border-top:1px solid #e1d6c6;padding:10px 0}.pc-customer-preview dd{margin:0;text-align:right;overflow-wrap:anywhere}.pc-customer-preview dt{color:#8a7967}.pc-customer-preview li{font-size:12px;margin:8px 0;line-height:1.6}.pc-preview-note{font-size:11px;padding:14px 28px;background:#f3eee3;color:#776147;border-top:1px solid #e1d6c6}.pc-variant-fields{border-top:1px solid var(--pc-line);padding-top:13px;margin-top:13px}.pc-count{font-size:11px;color:var(--pc-muted);margin:13px 0}.pc-readiness{font-size:11px;line-height:1.6;color:var(--pc-muted)}
@media(min-width:1500px){.pc-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}@media(max-width:1000px){.pc-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.pc-toolbar{grid-template-columns:1fr 1fr}.pc-editor{grid-template-columns:1fr}.pc-aside{position:static;display:grid;grid-template-columns:1fr 1fr;gap:14px}.pc-aside .pc-section{margin:0}.pc-preview-grid{gap:23px}}@media(max-width:600px){.pc-head{flex-direction:column;gap:15px}.pc-head h2{font-size:26px}.pc-stats{grid-template-columns:1fr 1fr;gap:8px}.pc-stat{padding:13px}.pc-stat strong{font-size:23px}.pc-toolbar{grid-template-columns:1fr 1fr}.pc-toolbar label:first-child{grid-column:1/-1}.pc-toolbar .pc-actions{grid-column:1/-1}.pc-grid{grid-template-columns:1fr}.pc-cover{aspect-ratio:1.55}.pc-dialog-head{padding:18px}.pc-dialog-head h2{font-size:24px}.pc-editor{padding:16px;gap:12px}.pc-fields{grid-template-columns:1fr}.pc-field.wide{grid-column:auto}.pc-section{padding:15px}.pc-aside{grid-template-columns:1fr}.pc-dialog-foot{padding:14px 16px;align-items:flex-start;flex-direction:column}.pc-dialog-foot .pc-actions{width:100%;justify-content:flex-end}.pc-preview-grid{grid-template-columns:1fr}.pc-customer-preview{padding:20px}.pc-customer-preview h3{font-size:31px}.pc-gallery-row{grid-template-columns:1fr}.pc-table td,.pc-table th{padding:11px}.pc-root .btn,.pc-dialog .btn{min-height:38px}.pc-connection{padding:12px}.pc-fields input[type=file]{font-size:10px}}
.pc-unsaved{position:sticky;top:0;z-index:5;background:#fbf1de;border-bottom:1px solid #dfc894;padding:16px 24px;box-shadow:0 4px 14px #5b471415}.pc-unsaved p{font-size:12px;line-height:1.7;margin:0 0 12px;color:#725721}.pc-unsaved:focus{outline:2px solid #9a7c3f;outline-offset:-3px}.pc-dialog button:focus-visible,.pc-dialog input:focus-visible,.pc-dialog select:focus-visible,.pc-dialog textarea:focus-visible,.pc-root button:focus-visible{outline:2px solid #647c51;outline-offset:3px}@media(max-width:600px){.pc-unsaved{padding:14px 16px}}

/* Photo assets are shared by the catalogue, detail page and future publications. */
.pc-dialog{max-width:min(1060px,calc(100vw - 24px))}.pc-cover-link{display:block;text-decoration:none;color:inherit}.pc-product-link{color:inherit;text-decoration:none}.pc-product-link:hover{text-decoration:underline;text-underline-offset:4px}.pc-cover-link:focus-visible,.pc-product-link:focus-visible{outline:3px solid #647c51;outline-offset:3px}.pc-table-product{display:flex;align-items:center;gap:12px}.pc-thumbnail{width:58px;height:58px;flex:none;display:flex;align-items:center;justify-content:center;background:#f3eee5;border:1px solid #e4ddcf;border-radius:9px;overflow:hidden;color:#977649;text-decoration:none;font:30px Georgia,serif}.pc-thumbnail img{width:100%;height:100%;object-fit:contain}.pc-pagination{display:flex;align-items:center;justify-content:center;gap:18px;margin:24px 0;font-size:12px}.pc-pagination .btn:disabled{opacity:.45;cursor:default}.pc-photo-section{border-color:#ccb993;background:#fffcf3}.pc-photo-slots{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:16px 0}.pc-photo-slot{position:relative;border:1px solid #ddd6c7;border-radius:11px;padding:12px;background:#fffdf8;min-width:0}.pc-photo-slot>img{width:100%;height:180px;object-fit:contain;background:#f4f0e7;border-radius:7px;margin-bottom:10px}.pc-photo-slot>.pc-pill{position:absolute;left:18px;top:18px}.pc-photo-slot .pc-actions{margin:12px 0}.pc-photo-slot input[type=file]{font-size:10px}.pc-photo-empty{padding:30px 15px;text-align:center;border:1px dashed #cabb9d;border-radius:10px;margin:16px 0;color:#75684f;font-size:12px}.pc-legacy-gallery summary{font-size:12px;cursor:pointer}.pc-legacy-gallery[open]>p{margin:15px 0}.pc-detail .pc-customer-preview{border:1px solid #e2d9ca;border-radius:15px;overflow:hidden}.pc-detail .pc-preview-gallery{display:block;position:sticky;top:20px}.pc-detail-main{display:flex;align-items:center;justify-content:center;border:1px solid #e7decf;border-radius:12px;background:#fffdf8;overflow:hidden;min-height:320px}.pc-detail-main img{width:100%;max-height:650px;object-fit:contain}.pc-detail-thumbs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:12px}.pc-detail-thumbs button{padding:5px;background:#fffdf8;border:1px solid #e4d7c4;border-radius:8px;cursor:pointer;overflow:hidden}.pc-detail-thumbs button.selected{border:2px solid #987745}.pc-detail-thumbs img{width:100%;height:90px;object-fit:contain}.pc-stock-details{margin-top:20px}.pc-stock-details dl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.pc-stock-details dl>div{border-top:1px solid #dce3d8;padding-top:12px;font-size:12px}.pc-stock-details dt{color:#69776c;margin-bottom:7px}.pc-stock-details dd{margin:0;overflow-wrap:anywhere}.pc-detail-heading:focus{outline:none}.pc-photo-slot .btn:disabled{opacity:.45;cursor:default}
@media(max-width:600px){.pc-photo-slots{grid-template-columns:1fr}.pc-photo-slot>img{height:230px}.pc-detail .pc-preview-gallery{position:static}.pc-detail-main{min-height:230px}.pc-detail-thumbs img{height:65px}.pc-stock-details dl{grid-template-columns:1fr 1fr}.pc-detail .pc-head .pc-actions{width:100%}.pc-thumbnail{width:48px;height:48px}}

.pc-dialog [hidden]{display:none!important}

/* Closed row actions keep catalogue rows compact; opening one reveals the same controls. */
.pc-table th:first-child,.pc-table td:first-child{width:270px;min-width:270px}.pc-table td{height:80px;padding:10px 14px;vertical-align:middle}.pc-table-product>div{min-width:0;flex:1}.pc-table-product .pc-product-link{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;line-height:1.4}.pc-row-actions{min-width:104px}.pc-row-actions>summary{cursor:pointer;font-size:11px;line-height:1.4;padding:9px 12px;border:1px solid #d5ded2;border-radius:8px;background:#fffdf8;white-space:nowrap}.pc-row-actions>summary:focus-visible{outline:2px solid #647c51;outline-offset:3px}.pc-row-actions[open] .pc-actions{display:grid;gap:6px;margin-top:8px;min-width:170px}.pc-row-actions .btn{text-align:left;width:100%}

/* Phone layouts stay scoped so the shared clarity layer cannot restore desktop tracks. */
@media (max-width: 600px) {
  .pc-root .pc-head { gap: 16px; margin-bottom: 16px; }
  .pc-root .pc-head > div { min-width: 0; max-width: 100%; }
  .pc-root .pc-head h2 { font-size: 26px; line-height: 1.25; overflow-wrap: anywhere; }
  .pc-root .pc-kicker, .pc-dialog .pc-kicker { font-size: 12px; overflow-wrap: anywhere; }
  .pc-root .pc-head p { font-size: 15px; line-height: 1.6; }
  .pc-root .pc-head > .pc-actions,
  .pc-root .pc-card-foot,
  .pc-root .pc-stock-details > .pc-actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    width: 100%;
    gap: 8px;
  }
  .pc-root .pc-actions, .pc-dialog .pc-actions { min-width: 0; max-width: 100%; }
  .pc-root .pc-actions > .btn,
  .pc-root .pc-card-foot > .btn,
  .pc-dialog .pc-actions > .btn { min-width: 0; max-width: 100%; overflow-wrap: anywhere; }
  .pc-root .btn, .pc-dialog .btn { min-height: 44px; touch-action: manipulation; }
  .pc-root .pc-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); margin: 16px 0; }
  .pc-root .pc-stat { padding: 12px; overflow-wrap: anywhere; }
  .pc-root .pc-stat strong { font-size: 26px; }
  .pc-root .pc-connection { padding: 12px; margin: 16px 0; font-size: 14px; overflow-wrap: anywhere; }
  .pc-root .pc-toolbar { grid-template-columns: minmax(0, 1fr); gap: 12px; margin: 16px 0; }
  .pc-root .pc-toolbar label:first-child,
  .pc-root .pc-toolbar .pc-actions { grid-column: auto; }
  .pc-root .pc-toolbar input,
  .pc-root .pc-toolbar select { width: 100%; min-height: 46px; font-size: 16px; }
  .pc-root .pc-toolbar .pc-actions .btn { width: 100%; }
  .pc-root .pc-grid { grid-template-columns: minmax(0, 1fr); gap: 16px; }
  .pc-root .pc-cover { aspect-ratio: 1.2; }
  .pc-root .pc-cover .pc-pill { max-width: calc(100% - 24px); overflow-wrap: anywhere; }
  .pc-root .pc-card-body { padding: 16px; }
  .pc-root .pc-card h3 { font-size: 22px; }
  .pc-root .pc-card h3 .pc-product-link { display: flex; align-items: center; min-height: 44px; }
  .pc-root .pc-pill { max-width: 100%; overflow-wrap: anywhere; }
  .pc-root .pc-pagination { display: grid; grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); gap: 8px; }
  .pc-root .pc-pagination .btn { min-width: 0; padding-inline: 10px; }
  .pc-root .pc-table-wrap { overscroll-behavior-inline: contain; -webkit-overflow-scrolling: touch; }
  .pc-root .pc-row-actions > summary { min-height: 44px; padding: 12px; font-size: 14px; }

  .pc-root .pc-customer-preview,
  .pc-dialog .pc-customer-preview { padding: 16px; overflow-wrap: anywhere; }
  .pc-root .pc-preview-grid,
  .pc-dialog .pc-preview-grid { grid-template-columns: minmax(0, 1fr); gap: 24px; }
  .pc-root .pc-preview-grid > *,
  .pc-dialog .pc-preview-grid > * { min-width: 0; }
  .pc-root .pc-customer-preview h3,
  .pc-dialog .pc-customer-preview h3 { font-size: 26px; line-height: 1.3; overflow-wrap: anywhere; }
  .pc-root .pc-customer-preview p,
  .pc-dialog .pc-customer-preview p { font-size: 15px; line-height: 1.7; }
  .pc-root .pc-customer-preview dl,
  .pc-dialog .pc-customer-preview dl { font-size: 14px; }
  .pc-root .pc-customer-preview dl > div,
  .pc-dialog .pc-customer-preview dl > div { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr); gap: 12px; }
  .pc-root .pc-customer-preview :is(dt, dd),
  .pc-dialog .pc-customer-preview :is(dt, dd) { min-width: 0; overflow-wrap: anywhere; }
  .pc-root .pc-customer-preview summary,
  .pc-dialog summary { min-height: 44px; padding-block: 11px; font-size: 15px; line-height: 1.5; cursor: pointer; }
  .pc-root .pc-preview-gallery { position: static; }
  .pc-dialog .pc-preview-gallery { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .pc-dialog .pc-preview-gallery figure { min-width: 0; }
  .pc-dialog .pc-preview-gallery img { display: block; height: auto; }
  .pc-dialog .pc-preview-gallery figcaption { font-size: 13px; line-height: 1.5; overflow-wrap: anywhere; }
  .pc-root .pc-detail-main { min-height: 0; aspect-ratio: 1; }
  .pc-root .pc-detail-main img { display: block; width: 100%; height: 100%; max-height: none; }
  .pc-root .pc-detail-thumbs { grid-template-columns: repeat(4, minmax(0, 1fr)); max-width: 264px; gap: 8px; }
  .pc-root .pc-detail-thumbs button { min-width: 44px; min-height: 44px; padding: 4px; }
  .pc-root .pc-detail-thumbs img { display: block; height: auto; aspect-ratio: 1; }
  .pc-root .pc-stock-details { padding: 16px; }
  .pc-root .pc-stock-details dl { grid-template-columns: minmax(0, 1fr); gap: 12px; }
  .pc-root .pc-stock-details dl > div { font-size: 14px; }

  dialog.pc-dialog {
    width: calc(100% - 16px - env(safe-area-inset-left, 0px) - env(safe-area-inset-right, 0px));
    max-width: calc(100% - 16px - env(safe-area-inset-left, 0px) - env(safe-area-inset-right, 0px));
    max-height: calc(100vh - 16px - env(safe-area-inset-top, 0px) - env(safe-area-inset-bottom, 0px));
    max-height: calc(100dvh - 16px - env(safe-area-inset-top, 0px) - env(safe-area-inset-bottom, 0px));
    margin: auto;
    border-radius: 14px;
    overscroll-behavior: contain;
    scroll-padding-block: 120px 24px;
  }
  .pc-dialog .pc-dialog-head { padding: 16px; gap: 12px; border-radius: 0; }
  .pc-dialog .pc-dialog-head h2 { font-size: 23px; line-height: 1.3; }
  .pc-dialog .pc-dialog-head > .btn { flex: none; }
  .pc-dialog .pc-editor { grid-template-columns: minmax(0, 1fr); padding: 12px; gap: 12px; }
  .pc-dialog .pc-section { padding: 14px; overflow-wrap: anywhere; }
  .pc-dialog .pc-section h3 { font-size: 20px; }
  .pc-dialog .pc-fields,
  .pc-dialog .pc-aside,
  .pc-dialog .pc-gallery-row,
  .pc-dialog .pc-photo-slots { grid-template-columns: minmax(0, 1fr); }
  .pc-dialog .pc-aside { position: static; min-width: 0; }
  .pc-dialog .pc-fields .wide { grid-column: auto; }
  .pc-dialog input:not([type="checkbox"]):not([type="radio"]),
  .pc-dialog select,
  .pc-dialog textarea { width: 100%; min-height: 46px; font-size: 16px; }
  .pc-dialog select[multiple] { min-height: 160px; }
  .pc-dialog select[multiple] option { padding-block: 8px; }
  .pc-dialog .pc-check { min-height: 44px; padding-block: 8px; margin-block: 4px; }
  .pc-dialog .pc-check input { width: 20px; height: 20px; margin-top: 3px; }
  .pc-dialog .pc-photo-slot > img { height: auto; max-height: 280px; aspect-ratio: 1; }
  .pc-dialog .pc-photo-slot .pc-actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
  .pc-dialog .pc-dialog-foot {
    position: static;
    padding: 16px;
    padding-bottom: max(16px, env(safe-area-inset-bottom, 0px));
    border-radius: 0;
    gap: 12px;
  }
  .pc-dialog .pc-dialog-foot .pc-actions { display: grid; grid-template-columns: minmax(0, 1fr); width: 100%; }
  .pc-dialog .pc-dialog-foot .btn { width: 100%; }
  .pc-dialog .pc-preview-note { padding: 16px; font-size: 13px; line-height: 1.6; overflow-wrap: anywhere; }
  .pc-dialog .pc-unsaved { position: relative; padding: 16px; }
}

@media (max-width: 1100px) and (max-height: 500px) {
  .pc-dialog .pc-dialog-head,
  .pc-dialog .pc-dialog-foot { position: static; }
  dialog.pc-dialog { scroll-padding-top: 16px; }
}

/* The native modal keeps focus inside the protected photo without leaving the product. */
.pc-root .pc-detail-main { width: 100%; padding: 0; position: relative; cursor: zoom-in; }
.pc-root .pc-photo-hint { position: absolute; right: 12px; bottom: 12px; padding: 7px 10px; border: 1px solid #dce3e8; border-radius: 8px; background: #fffffff2; color: #39424f; font: 500 13px/1.4 var(--font, sans-serif); }
dialog.pc-photo-viewer { box-sizing: border-box; width: min(1100px, calc(100vw - 24px)); max-width: calc(100vw - 24px); height: min(860px, calc(100vh - 24px)); height: min(860px, calc(100dvh - 24px)); max-height: calc(100vh - 24px); max-height: calc(100dvh - 24px); padding: 0; margin: auto; border: 1px solid #dce3e8; border-radius: 16px; background: #fff; color: #20252d; box-shadow: 0 24px 90px #11182755; overflow: auto; overscroll-behavior: contain; }
dialog.pc-photo-viewer[open] { display: grid; grid-template-rows: auto minmax(120px, 1fr) auto; }
.pc-photo-viewer::backdrop { background: #17202bcc; backdrop-filter: blur(4px); }
.pc-photo-viewer .pc-viewer-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; padding: 18px 20px; border-bottom: 1px solid #e4e7ec; }
.pc-photo-viewer .pc-viewer-head h2 { min-width: 0; margin: 0; align-self: center; font: 650 20px/1.35 var(--font, sans-serif); overflow-wrap: anywhere; }
.pc-photo-viewer .btn { min-height: 44px; flex-shrink: 0; font-size: 14px; touch-action: manipulation; }
.pc-photo-viewer .btn:focus-visible { outline: 3px solid var(--focus, #2563eb); outline-offset: 3px; }
.pc-photo-viewer .pc-viewer-image { display: flex; min-height: 0; min-width: 0; align-items: center; justify-content: center; background: #f5f6f8; padding: 16px; }
.pc-photo-viewer .pc-viewer-image img { display: block; width: 100%; height: 100%; min-height: 0; object-fit: contain; }
.pc-photo-viewer .pc-viewer-foot { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 16px 20px; border-top: 1px solid #e4e7ec; }
.pc-photo-viewer .pc-viewer-description { min-width: 0; }
.pc-photo-viewer .pc-viewer-caption { margin: 0 0 5px; font-size: 15px; line-height: 1.5; overflow-wrap: anywhere; }
.pc-photo-viewer .pc-viewer-count { font-size: 13px; font-variant-numeric: tabular-nums; color: #626b78; }
.pc-photo-viewer .pc-viewer-actions { display: flex; gap: 8px; }
.pc-photo-viewer .pc-viewer-error { max-width: 340px; text-align: center; line-height: 1.6; color: #8c3232; }
.pc-photo-viewer [hidden], .pc-root [data-pc="filters-reset"][hidden] { display: none !important; }

.pc-root .pc-toolbar { grid-template-columns: minmax(0, 1fr) auto; align-items: end; }
.pc-root .pc-filter-fields { display: grid; grid-column: 1 / -1; grid-row: 2; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; min-width: 0; }
.pc-root .pc-toolbar .pc-filter-actions { grid-column: auto; align-self: end; flex-wrap: wrap; }
.pc-root [data-pc="filters-toggle"] { display: none; }
@media (max-width: 600px) {
  .pc-root .pc-toolbar { grid-template-columns: minmax(0, 1fr); }
  .pc-root .pc-toolbar .pc-search { grid-column: 1 / -1; }
  .pc-root .pc-toolbar .pc-filter-actions { grid-row: 2; display: flex; flex-wrap: wrap; gap: 8px; width: 100%; }
  .pc-root .pc-toolbar .pc-filter-actions .btn { width: auto; flex: 1 1 auto; }
  .pc-root [data-pc="filters-toggle"] { display: inline-flex; justify-content: center; }
  .pc-root .pc-filter-fields { grid-row: 3; grid-template-columns: minmax(0, 1fr); gap: 12px; padding: 14px; border: 1px solid var(--line, #e4e7ec); border-radius: 12px; background: var(--soft, #f8f9fb); }
  .pc-root .pc-filter-fields:not(.is-open) { display: none; }
  dialog.pc-photo-viewer { width: calc(100vw - 16px); max-width: calc(100vw - 16px); height: calc(100vh - 16px); height: calc(100dvh - 16px); max-height: calc(100vh - 16px); max-height: calc(100dvh - 16px); border-radius: 12px; }
  .pc-photo-viewer .pc-viewer-head { padding: 14px; gap: 10px; }
  .pc-photo-viewer .pc-viewer-head h2 { font-size: 17px; }
  .pc-photo-viewer .pc-viewer-image { padding: 8px; }
  .pc-photo-viewer .pc-viewer-foot { display: grid; gap: 12px; padding: 14px; }
  .pc-photo-viewer .pc-viewer-caption { font-size: 14px; }
  .pc-photo-viewer .pc-viewer-actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .pc-photo-viewer .pc-viewer-actions .btn { min-width: 0; white-space: normal; }
}
@media (max-height: 500px) {
  .pc-photo-viewer .pc-viewer-head, .pc-photo-viewer .pc-viewer-foot { padding: 8px 12px; }
  .pc-photo-viewer .pc-viewer-head h2 { font-size: 16px; }
  .pc-photo-viewer .pc-viewer-foot { display: flex; gap: 8px; }
  .pc-photo-viewer .pc-viewer-caption { font-size: 13px; margin-bottom: 2px; }
  .pc-photo-viewer .pc-viewer-actions .btn { font-size: 12px; padding-inline: 10px; }
}
.pc-root .pc-publishing-info summary { min-height: 44px; padding-block: 10px; cursor: pointer; font-weight: 600; line-height: 1.5; }
.pc-root .pc-publishing-info summary:focus-visible { outline: 3px solid var(--focus, #2563eb); outline-offset: 3px; }
.pc-root .pc-publishing-info p { margin: 12px 0 0; }

/* Keep routine browsing ahead of occasional catalogue management actions. */
.pc-root .pc-management { min-width: 0; }
.pc-root .pc-management > summary {
  box-sizing: border-box; min-height: 44px; padding: 11px 14px;
  border: 1px solid var(--line, #e4e7ec); border-radius: 10px;
  background: #fff; color: var(--ink, #20252d);
  font: 600 14px/1.5 var(--font, sans-serif); cursor: pointer;
  touch-action: manipulation; overflow-wrap: anywhere;
}
.pc-root .pc-management > summary:focus-visible { outline: 3px solid var(--focus, #2563eb); outline-offset: 3px; }
.pc-root .pc-management-actions { display: grid; grid-template-columns: minmax(0, 1fr); gap: 8px; padding-top: 8px; }
.pc-root .pc-management-actions .btn { width: 100%; }
.pc-root .pc-results-head { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 12px; margin: 16px 0; }
.pc-root .pc-results-head .pc-pagination { margin: 0; }
.pc-root .pc-results-heading { min-width: 0; font-size: 15px; font-weight: 600; line-height: 1.6; scroll-margin-top: 20px; }
.pc-root .pc-results-heading:focus-visible { outline: 2px solid var(--focus, #2563eb); outline-offset: 4px; }
@media (max-width: 600px) {
  .pc-root .pc-head { gap: 10px; margin-bottom: 14px; }
  .pc-root .pc-head h2 { font-size: 26px; }
  .pc-root .pc-head > .pc-actions { align-items: start; }
  .pc-root .pc-management { width: 100%; }
  .pc-root .pc-stats { gap: 8px; margin: 14px 0; }
  .pc-root .pc-stat { display: flex; align-items: center; justify-content: space-between; gap: 8px; min-height: 54px; padding: 9px 12px; }
  .pc-root .pc-stat small { font-size: 12px; line-height: 1.45; }
  .pc-root .pc-stat strong { flex: none; margin: 0; font-size: 21px; }
  .pc-root .pc-publishing-info { margin: 12px 0; padding-block: 4px; }
  .pc-root .pc-pagination { gap: 10px; margin: 16px 0; }
}
