/* Native +FRED product listings. Header and footer come from public_layout.php. */
.product-listing{background:var(--pf-bg);padding-bottom:24px;color:var(--pf-ink)}
.product-listing .page-hero{background:#fff}
.disc-catalog{padding-top:28px;padding-bottom:40px}
.disc-filters .form-grid{grid-template-columns:2fr 1fr 1fr;margin-bottom:16px}
.disc-result-count,.disc-caption,.disc-item-terms,.disc-summary{color:var(--pf-muted);font-size:14px}
.disc-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin:20px 0 32px}
.disc-item{display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--pf-line);border-radius:var(--pf-radius);background:#fff;box-shadow:var(--pf-shadow);transition:transform .2s,box-shadow .2s}
.disc-item:hover{transform:translateY(-3px)}
.product-listing a:focus-visible{outline:3px solid var(--pf-blue-2);outline-offset:4px}
.disc-item-img{aspect-ratio:4/3;background:#fff;display:flex;align-items:center;justify-content:center;padding:16px}
.disc-item-img img{width:100%;height:100%;object-fit:contain}
.disc-image-fallback{padding:20px;color:var(--pf-muted);font-size:14px}
.disc-item-body{display:flex;flex-direction:column;flex:1;padding:22px;min-width:0;overflow-wrap:anywhere}
.disc-item h2{font-size:23px;line-height:1.2;margin:10px 0}
.disc-item-terms{font-size:12px;margin-bottom:10px}
.disc-summary{margin-bottom:20px}
.disc-price{color:var(--pf-blue);font-size:27px;font-weight:850;font-variant-numeric:tabular-nums}
.disc-old{color:var(--pf-muted);font-size:13px;margin:4px 0;text-decoration:line-through}
.disc-price-note,.disc-legal{display:block;color:var(--pf-muted);font-size:12px;margin-top:9px}
.disc-open{color:var(--pf-blue-2);font-size:13px;font-weight:800;margin-top:auto;padding-top:18px}
.disc-status{font-size:12px;font-weight:800;color:var(--pf-blue)}
.disc-status.reserved{color:#805215}.disc-status.sold{color:#923b42}
.disc-empty{padding:30px;margin:24px 0;border:1px solid var(--pf-line);border-radius:var(--pf-radius);background:#fff;color:var(--pf-muted)}
.disc-empty a,.disc-back,.disc-breadcrumb a{color:var(--pf-blue-2);text-decoration:underline}
.disc-breadcrumb{padding-top:28px;font-size:13px;overflow-wrap:anywhere}
.disc-detail{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:40px;padding-top:28px;padding-bottom:54px}
.disc-gallery{position:sticky;top:calc(var(--pf-header) + 20px);align-self:start;min-width:0}
.disc-stage{aspect-ratio:1;display:flex;align-items:center;justify-content:center;background:#fff;border:1px solid var(--pf-line);border-radius:var(--pf-radius);overflow:hidden;padding:16px}
.disc-stage img{width:100%;height:100%;object-fit:contain}
.disc-thumbs{display:flex;gap:10px;overflow-x:auto;padding:12px 4px}
.disc-thumb{display:block;flex:0 0 80px;aspect-ratio:1;padding:4px;border:2px solid var(--pf-line);border-radius:10px;background:#fff}
.disc-thumb[aria-current=true]{border-color:var(--pf-blue-2)}
.disc-thumb img{width:100%;height:100%;object-fit:contain}
.disc-info{min-width:0;overflow-wrap:anywhere}.disc-info h1{font-size:clamp(29px,3vw,40px);line-height:1.12;margin:14px 0 22px}
.disc-info h2{font-size:19px;margin:24px 0 10px}.disc-info p{white-space:pre-wrap}
.disc-condition,.disc-cost-card{background:#fff;border:1px solid var(--pf-line);border-radius:var(--pf-radius);padding:20px}
.disc-cost-card{margin:24px 0;box-shadow:var(--pf-shadow)}.disc-cost-card .disc-price{font-size:38px}.disc-cost-card .btn{margin-top:10px}
.disc-taxonomy{display:flex;flex-wrap:wrap;gap:20px;margin:18px 0}.disc-taxonomy dt{font-size:11px;color:var(--pf-muted)}.disc-taxonomy dd{margin:0;font-weight:700}
.disc-pagination{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:16px;font-size:13px}
@media(max-width:991px){.disc-list{grid-template-columns:repeat(2,minmax(0,1fr))}.disc-filters .form-grid{grid-template-columns:1fr 1fr}.disc-filters label:first-child{grid-column:1/-1}}
@media(max-width:767px){.disc-detail{grid-template-columns:1fr;gap:24px}.disc-gallery{position:static}.disc-filters .form-grid{grid-template-columns:1fr}.disc-filters label:first-child{grid-column:auto}.disc-info h1{font-size:32px}}
@media(max-width:520px){.disc-list{grid-template-columns:1fr}.disc-item-body{padding:18px}.disc-cost-card .disc-price{font-size:32px}.disc-thumb{flex-basis:68px}}
@media(prefers-reduced-motion:reduce){.disc-item{transition:none}.disc-item:hover{transform:none}}

/* Public filtering feedback shared across commercial showcases. */
.disc-filter-notice{margin:.65rem 0;color:#7b4c09;font-size:.92rem;line-height:1.5;}

/* Product number is a separate reference field, not a reference price. */
.disc-info .disc-product-reference,.disc-item .disc-product-reference{color:#687789;font-weight:800;font-size:14px;line-height:1.45;letter-spacing:.01em;overflow-wrap:anywhere;white-space:normal;margin:0 0 10px}
.disc-info h1 + .disc-product-reference{margin-top:-8px;margin-bottom:14px}
.disc-item h2 + .disc-product-reference{margin-top:0;margin-bottom:8px}

/* PVP: compact secondary label displayed after the current product price. */
.disc-price .disc-pvp{display:inline;font-size:clamp(10px,.38em,13px);font-weight:800;letter-spacing:.035em;color:var(--pf-muted,#637893);margin-inline-start:.45em;white-space:nowrap;vertical-align:baseline}


/* PVP and IVA info travel as one compact unit after the current sale price. */
.disc-price .disc-price-meta{display:inline-flex;align-items:baseline;flex-wrap:wrap;column-gap:.55rem;row-gap:.12rem;vertical-align:baseline;white-space:normal;margin-inline-start:.55rem;font-size:12px;font-weight:800;letter-spacing:.025em;color:var(--pf-muted,#637893)}
.disc-price .disc-price-meta .disc-pvp{font-size:inherit;font-weight:850;letter-spacing:inherit;margin-inline-start:0;color:inherit}
.disc-price .disc-price-meta .disc-vat-excluded{font-size:10px;font-weight:750;letter-spacing:.01em;color:inherit;line-height:1.2;display:inline-block}
