/* Product pages use WooCommerce data in a compact gallery/configurator layout. */
.pqc-product-page{--pqc-soft:#f7f7f7;font-size:14px}
.pqc-product-strip{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;background:#141414;color:#fff;padding:1rem 1.5rem;margin:0 -1.5rem 2rem;border-radius:0 0 .3rem .3rem}
.pqc-product-strip .pqc-breadcrumb{display:flex;gap:.6rem;align-items:center;flex-wrap:wrap;padding:0;color:#ddd;font-size:.72rem}
.pqc-strip-benefits{display:flex;gap:1.5rem;flex:none;font-size:.7rem}
.pqc-strip-benefits span:before{content:'✓';color:#fe0000;margin-right:.45rem}
.pqc-product-page .pqc-product-strip>.pqc-link{font-size:.72rem;white-space:nowrap;color:#fff!important;background:#ffffff0d;border:1px solid #ffffff26;padding:.5rem .7rem;border-radius:.3rem}
.pqc-product-page .pqc-product-strip>.pqc-link:hover,.pqc-product-page .pqc-product-strip>.pqc-link:focus{background:#fe0000;color:#fff!important;border-color:#fe0000}
.pqc-product-page .pqc-detail{grid-template-columns:minmax(0,1.12fr) minmax(0,1fr);gap:2.5rem;padding:0 0 2rem;align-items:start}
.pqc-product-page .pqc-gallery{display:grid;grid-template-columns:4.7rem minmax(0,1fr);gap:.7rem;align-content:start}
.pqc-product-page .pqc-gallery-stage{position:relative;min-width:0;background:#fff;border-radius:.4rem;overflow:hidden}
.pqc-product-page [data-pqc-main-image]{display:block;width:100%;height:auto;aspect-ratio:1;max-height:38rem;object-fit:contain;margin:0}
.pqc-product-page .pqc-gallery-thumbs{width:auto;display:flex;flex-direction:column;gap:.6rem;flex-wrap:nowrap;max-height:36rem;overflow:auto}
.pqc-product-page .pqc-image-thumb{width:100%;height:auto;aspect-ratio:1;border-width:1px;padding:.3rem;flex:none;background:#fff}
.pqc-product-page .pqc-image-thumb.is-active{background:#fff;border-color:#fe0000;box-shadow:inset 0 0 0 1px #fe0000}
.pqc-product-page [data-pqc-image-caption]{grid-column:2;font-size:.7rem;margin:0;color:#777}
.pqc-product-page .pqc-gallery-arrow{position:absolute;top:50%;transform:translateY(-50%);border:0;background:#fff;color:#111;width:2.5rem;height:2.5rem;min-height:0;border-radius:50%;padding:0;font-size:1.7rem;line-height:1;box-shadow:0 2px 10px #00000008}
.pqc-product-page .pqc-gallery-arrow:hover,.pqc-product-page .pqc-gallery-arrow:focus{background:#fff0f0;color:#c60000}
.pqc-gallery-prev{left:.8rem}.pqc-gallery-next{right:.8rem}
.pqc-product-page .pqc-gallery-arrow:disabled{display:none}
.pqc-product-page .pqc-detail-copy{padding:.5rem 0 0}
.pqc-product-page .pqc-detail-copy h1{font-size:clamp(1.8rem,2.6vw,2.8rem);margin:.5rem 0 .65rem}
.pqc-product-page .pqc-eyebrow{font-size:.7rem;margin:0 0 .5rem}
.pqc-product-intro{font-size:.86rem;color:#444;line-height:1.65}
.pqc-product-intro p{margin:.5rem 0 1rem}
.pqc-product-highlights{padding:0;margin:1rem 0 1.8rem;list-style:none;display:grid;gap:.65rem;font-size:.82rem}
.pqc-product-highlights li{padding-left:1.5rem;position:relative}
.pqc-product-highlights li:before{content:'✓';position:absolute;left:0;color:#fe0000;font-size:1.1rem}
.pqc-product-price{text-align:right;margin:1.2rem 0}
.pqc-product-page .pqc-price-large{font-size:2.3rem;line-height:1.1;margin:0 0 .5rem}
.pqc-product-page .pqc-price-large span{font-size:.8rem;font-weight:400}
.pqc-product-page .pqc-detail-copy>.pqc-outline{font-size:.85rem;min-height:2.7rem;padding:.6rem 1rem}
.pqc-product-page .pqc-configurator{padding:1.5rem;border:1px solid #e7e7e7;box-shadow:0 5px 20px #00000005;background:#fff;margin:0;border-radius:.5rem;scroll-margin-top:9rem}
.pqc-config-heading{margin-bottom:1rem}
.pqc-product-page .pqc-config-heading h2{font-size:1.7rem;margin:0}
.pqc-product-page .pqc-tier-prices{background:#fafafa;border:1px solid #e6e6e6;margin:0;padding:.9rem;min-width:0;align-self:start}
.pqc-tier-heading{display:block}
.pqc-product-page .pqc-tier-heading h2{font-size:1.2rem;margin:0}
.pqc-tier-heading p{font-size:.7rem;color:#666;margin:.4rem 0 .75rem;line-height:1.5}
.pqc-product-page .pqc-tier-table{width:100%;border-collapse:collapse;font-size:.75rem;margin:.75rem 0;background:#fff}
.pqc-product-page .pqc-tier-table th,.pqc-product-page .pqc-tier-table td{padding:.55rem .4rem;border:0;border-bottom:1px solid #e3e3e3;text-align:left}
.pqc-product-page .pqc-tier-table thead th{font-size:.65rem;line-height:1.4;color:#666;background:#f0f0f0}
.pqc-product-page .pqc-tier-table tbody th,.pqc-product-page .pqc-tier-table td strong{white-space:nowrap}
.pqc-product-page .pqc-tier-table td:last-child{font-size:.65rem;color:#c60000;white-space:nowrap}
.pqc-product-page .pqc-tier-table tr.is-active{background:#fff0f0;color:#c60000;box-shadow:inset 3px 0 #fe0000}
.pqc-product-page .pqc-tier-incentive{margin:.65rem 0 0;font-size:.8rem}
.pqc-product-page .pqc-tier-prices>.pqc-note{font-size:.65rem;margin:.5rem 0}
.pqc-config-columns{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(0,1fr) minmax(13rem,.75fr);gap:1.2rem;align-items:start}
.pqc-colors-and-sizes{min-width:0;border-right:1px solid #ededed;padding-right:1.4rem}
.pqc-step-headings{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:1.2rem;margin-bottom:1rem}
.pqc-product-page .pqc-step-headings h3,.pqc-product-page .pqc-finishing h3{font-size:.95rem;margin:0 0 1rem;line-height:1.3}
.pqc-product-page .pqc-step-headings h3{margin:0}
.pqc-product-page .pqc-color-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:.7rem 1.2rem;padding:0 0 1.1rem;margin:0 0 1.1rem;border:0;border-bottom:1px solid #eee;box-shadow:none;border-radius:0;background:#fff}
.pqc-product-page .pqc-color-header{display:flex;flex-direction:column;align-items:stretch;gap:.65rem;justify-content:start;margin:0;min-width:0}
.pqc-product-page .pqc-color-choice{display:flex;flex-direction:column;gap:.7rem;max-width:100%}
.pqc-color-number{margin:0;font-size:.7rem;color:#777}
.pqc-product-page .pqc-selected-color{font-size:.72rem;border-radius:.3rem;padding:.6rem .65rem;border:1px solid var(--pqc-selected-color);background:#fafafa;align-self:start;width:100%;box-shadow:inset 3px 0 var(--pqc-selected-color);gap:.5rem}
.pqc-product-page .pqc-selected-color span:last-child{flex:1}
.pqc-product-page .pqc-color-dot{width:1rem;height:1rem}
.pqc-product-page .pqc-color-photo{width:2rem;height:2rem}
.pqc-color-palette{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.6rem .35rem}
.pqc-product-page .pqc-color-option{display:flex;flex-direction:column;align-items:center;gap:.4rem;border:1px solid transparent;background:#fff;color:#444;border-radius:.3rem;padding:.4rem .2rem;font-size:.65rem;min-width:0}
.pqc-product-page .pqc-color-option:hover,.pqc-product-page .pqc-color-option:focus{background:#fff5f5;color:#111;border-color:#fe0000}
.pqc-product-page .pqc-color-option[aria-pressed=true]{border-color:#fe0000;background:#fff5f5;color:#111}
.pqc-color-swatch{display:block;width:2.15rem;height:2.15rem;border-radius:50%;background:var(--pqc-swatch);border:1px solid #c9c9c9;box-shadow:inset 0 0 0 2px #ffffff22}
.pqc-product-page .pqc-color-header>.pqc-link{font-size:.65rem;padding:.25rem 0;align-self:start;max-width:none}
.pqc-product-page .pqc-size-grid{display:grid;grid-template-columns:1fr;gap:0;align-self:start;border:1px solid #ececec;border-radius:.3rem;background:#fafafa;overflow:hidden}
.pqc-matrix-heading{display:grid;grid-template-columns:2.7rem 1fr;text-align:center;background:#f1f1f1;font-size:.65rem;padding:.5rem .4rem;gap:.3rem}
.pqc-product-page .pqc-size-cell{display:grid;grid-template-columns:2.7rem minmax(0,1fr);align-items:center;gap:.3rem;padding:.3rem .4rem;border-top:1px solid #ececec;text-align:center}
.pqc-product-page .pqc-size-cell label{font-size:.72rem;margin:0}
.pqc-product-page .pqc-quantity button{min-width:1.6rem;min-height:1.9rem;height:1.9rem;font-size:.85rem}
.pqc-product-page .pqc-quantity input{min-height:1.9rem;height:1.9rem;font-size:.78rem;padding:.2rem;border:1px solid #ddd}
.pqc-product-page .pqc-size-cell small{grid-column:2;font-size:.6rem}
.pqc-product-page [data-color-total]{grid-column:2;margin:0;font-size:.7rem}
.pqc-product-page [data-pqc-add-color]{font-size:.7rem;padding:.55rem .75rem;min-height:2.4rem}
.pqc-product-page .pqc-finishing{display:block;margin:0;min-width:0}
.pqc-technique-choices{display:flex;gap:.5rem;margin-bottom:1rem;flex-wrap:wrap}
.pqc-product-page .pqc-technique-choice{flex:1;border:1px solid #eee;border-radius:.3rem;padding:.6rem .55rem;background:#f5f5f5;color:#111;font-size:.72rem}
.pqc-product-page .pqc-technique-choice:hover,.pqc-product-page .pqc-technique-choice:focus{background:#fff0f0;border-color:#fe0000;color:#111}
.pqc-product-page .pqc-technique-choice[aria-pressed=true]{background:#fe0000;border-color:#fe0000;color:#fff}
.pqc-product-page .pqc-finishing fieldset{border:0;padding:0;margin:0;min-width:0}
.pqc-product-page .pqc-finishing legend{font-size:.75rem;color:#c60000;padding:0}
.pqc-product-page .pqc-finishing fieldset>.pqc-note{font-size:.65rem;line-height:1.4;margin:.5rem 0 .75rem}
.pqc-position-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem}
.pqc-product-page .pqc-print-position{display:flex;flex-direction:column;align-items:center;gap:.4rem;margin:0;padding:.55rem .3rem;border:1px solid #eee;background:#fafafa;border-radius:.3rem;cursor:pointer;text-align:center;font-size:.7rem}
.pqc-product-page .pqc-print-position:has(input:checked){border-color:#fe0000;background:#fff4f4}
.pqc-position-icon{width:3.1rem;height:3.1rem;color:#3b3b3b}
.pqc-product-page .pqc-position-name{display:block}
.pqc-product-page .pqc-position-name strong{display:block;margin-top:.25rem;font-size:.65rem}
.pqc-product-page .pqc-finishing input[type=checkbox]{display:inline-block;vertical-align:middle;margin:0 .2rem 0 0;width:.85rem;height:.85rem;min-height:0;border-radius:2px}
.pqc-config-summary{display:grid;grid-template-columns:minmax(0,1fr) minmax(15rem,.55fr);gap:1.5rem;background:#f7f7f7;padding:1.2rem;margin-top:1.4rem;border-radius:.3rem;align-items:start}
.pqc-product-page .pqc-calculation{padding:0;border:0;background:none;font-size:.8rem}
.pqc-product-page .pqc-calculation>strong:first-child{display:block;font-size:1.3rem}
.pqc-product-page .pqc-current-unit-price{font-size:1rem;color:#c60000}
.pqc-product-page .pqc-calculation p{margin:.45rem 0}
.pqc-product-page .pqc-calculation>.pqc-note{font-size:.65rem}
.pqc-request-actions{display:flex;flex-direction:column;gap:.5rem}
.pqc-request-actions>.pqc-button,.pqc-request-actions>.pqc-outline{font-size:.8rem;width:100%;padding:.7rem .9rem;min-height:2.6rem}
.pqc-request-actions>.pqc-note{font-size:.65rem;text-align:center;margin:0}
.pqc-config-footnote{font-size:.65rem;margin:1rem 0 0}
.pqc-product-assurances{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;margin:2rem 0}
.pqc-product-assurances>div{padding-left:.8rem;border-left:2px solid #fe0000}
.pqc-product-assurances strong,.pqc-product-assurances span{display:block;font-size:.75rem;line-height:1.5}
.pqc-product-assurances span{color:#777;font-size:.65rem}
.pqc-product-page .pqc-product-details{border:0;padding:0;margin:0 0 1rem}
.pqc-product-tabs{display:flex;gap:1rem;border-bottom:1px solid #e5e5e5;overflow:auto;margin-bottom:1.5rem}
.pqc-product-page .pqc-product-tabs button{border:0;border-bottom:3px solid transparent;border-radius:0;padding:.85rem .6rem;background:#fff;color:#555;font-size:.78rem;white-space:nowrap}
.pqc-product-page .pqc-product-tabs button[aria-selected=true]{border-color:#fe0000;color:#fe0000}
.pqc-product-page .pqc-product-tabs button:hover,.pqc-product-page .pqc-product-tabs button:focus{background:#fff5f5;color:#c60000}
.pqc-product-page [role=tabpanel]{padding:.5rem 0 1rem;font-size:.82rem;line-height:1.6}
.pqc-product-page [role=tabpanel] h2{font-size:1.3rem}
.pqc-details-layout{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:2rem}
.pqc-product-page .pqc-product-details dl{display:block;margin:1rem 0}
.pqc-product-page .pqc-product-details dl>div{font-size:.78rem;padding:.7rem 0;gap:1.2rem}
.pqc-logo-advice{background:#f6f6f6;padding:1.5rem;border-radius:.4rem;align-self:start}
.pqc-product-page .pqc-logo-advice h3{font-size:1.3rem}
.pqc-logo-advice .pqc-outline{font-size:.75rem;padding:.6rem .8rem}
.pqc-product-page .pqc-related{padding:1.5rem 0 2rem}
.pqc-product-page .pqc-related h2{font-size:1.6rem;margin-bottom:.5rem}
.pqc-product-page .pqc-related>p{font-size:.8rem;color:#666;margin-bottom:1.2rem}
.pqc-product-page .pqc-related .pqc-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.pqc-volume-cta{display:flex;align-items:center;justify-content:space-between;gap:2rem;padding:2rem;background:#141414;border-radius:.4rem;color:#fff}
.pqc-product-page .pqc-volume-cta h2{font-size:1.8rem;color:#fff}
.pqc-volume-cta p:not(.pqc-eyebrow){font-size:.85rem;max-width:32rem;color:#ddd;margin:0}
.pqc-volume-cta .pqc-button{flex:none;font-size:.85rem}
@media(max-width:1100px){
 .pqc-strip-benefits{display:none}.pqc-product-page .pqc-detail{gap:1.5rem}.pqc-product-page .pqc-gallery{grid-template-columns:3.5rem minmax(0,1fr)}
 .pqc-config-columns{gap:1rem}.pqc-colors-and-sizes{padding-right:1rem}.pqc-product-page .pqc-color-row,.pqc-step-headings{gap:.7rem}.pqc-color-swatch{width:1.7rem;height:1.7rem}
 .pqc-product-page .pqc-step-headings h3,.pqc-product-page .pqc-finishing h3{font-size:.8rem}.pqc-product-page .pqc-selected-color{font-size:.65rem;padding:.45rem}
}
@media(min-width:1024px){
 .pqc-catalog-page .site-main:has(.pqc-product-page){max-width:1800px;width:calc(100% - 48px);margin-inline:auto}
 .pqc:has(>.pqc-product-page){max-width:none;width:100%;padding:0 0 2rem}
 main.pqc:has(>.pqc-product-page){max-width:1800px;width:calc(100% - 48px);margin-inline:auto}
 .pqc-product-page .pqc-product-strip{margin:0 0 1.2rem}
 .pqc-product-page [data-pqc-main-image]{height:clamp(310px,23vw,410px);max-height:410px;aspect-ratio:auto}
 .pqc-product-page .pqc-detail{gap:2rem;padding-bottom:1.5rem}
 .pqc-product-highlights{margin:.8rem 0 1rem;gap:.45rem}
 .pqc-product-page .pqc-product-price{margin:.9rem 0}
 .pqc-product-page .pqc-configurator{scroll-margin-top:7.5rem}
 .pqc-product-page .pqc-print-position{flex-direction:row;text-align:left;padding:.5rem;gap:.4rem}
 .pqc-product-page .pqc-position-icon{width:2.5rem;height:2.5rem;flex:none}
 .pqc-product-page .pqc-position-name{min-width:0}
 .pqc-product-page .pqc-calculation{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.3rem 1rem;align-items:start}
 .pqc-product-page .pqc-calculation p{margin:0}
 .pqc-product-page .pqc-calculation>strong,.pqc-product-page .pqc-calculation>.pqc-note{grid-column:1/-1}
}
@media(min-width:1400px){.pqc-product-page .pqc-position-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(min-width:601px) and (max-width:1023px){
 .pqc-config-columns{grid-template-columns:repeat(2,minmax(0,1fr))}
 .pqc-colors-and-sizes{grid-column:1/-1;border-right:0;border-bottom:1px solid #eee;padding:0 0 1rem}
}
@media(max-width:850px){
 .pqc-colors-and-sizes{border:0;border-bottom:1px solid #eee;padding:0 0 1.3rem}.pqc-position-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .pqc-product-page .pqc-finishing h3{font-size:.95rem}.pqc-technique-choices{max-width:24rem}.pqc-product-assurances{grid-template-columns:repeat(2,minmax(0,1fr))}.pqc-config-summary{grid-template-columns:1fr}
}
@media(max-width:767px){
 .pqc-product-page .pqc-product-strip{flex-wrap:wrap;gap:.75rem}.pqc-product-page .pqc-product-strip>.pqc-link{margin-left:auto}
 .pqc-product-strip{margin:0 -1rem 1.25rem;padding:.9rem 1rem}.pqc-product-page .pqc-detail{grid-template-columns:1fr;gap:1rem;padding-bottom:1.3rem}
 .pqc-product-page .pqc-gallery{grid-template-columns:1fr}.pqc-product-page .pqc-gallery-stage{grid-row:1}.pqc-product-page .pqc-gallery-thumbs{grid-row:2;flex-direction:row;width:100%;overflow-x:auto;max-height:none}.pqc-product-page .pqc-image-thumb{width:3.75rem;height:3.75rem}.pqc-product-page [data-pqc-image-caption]{grid-column:1}
 .pqc-product-page .pqc-detail-copy h1{font-size:1.9rem}.pqc-product-price{text-align:left;margin:1rem 0}.pqc-product-page .pqc-price-large{font-size:2rem}.pqc-product-highlights{margin:1rem 0}
 .pqc-product-page .pqc-configurator{padding:1rem;margin:0 -.25rem}.pqc-product-page .pqc-config-heading h2{font-size:1.4rem}.pqc-product-page .pqc-tier-prices{padding:.85rem}
 .pqc-tier-heading{display:block}.pqc-tier-heading p{margin-top:.4rem}
 .pqc-product-page .pqc-color-row,.pqc-step-headings{grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:.6rem}.pqc-color-palette{grid-template-columns:repeat(2,minmax(0,1fr))}.pqc-product-page .pqc-color-option{font-size:.6rem}.pqc-product-page .pqc-selected-color{font-size:.6rem;gap:.35rem}.pqc-product-page .pqc-color-photo{display:none}
 .pqc-product-page .pqc-quantity button{min-width:1.4rem}.pqc-matrix-heading,.pqc-product-page .pqc-size-cell{grid-template-columns:2.1rem minmax(0,1fr);padding:.35rem .2rem;gap:.2rem}.pqc-product-page .pqc-color-header>.pqc-link{font-size:.6rem}
 .pqc-position-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.pqc-config-summary{padding:1rem;gap:1rem}.pqc-product-page .pqc-calculation>strong:first-child{font-size:1.2rem}
 .pqc-product-assurances{gap:1rem .6rem;margin:1.5rem 0}.pqc-product-assurances strong{font-size:.7rem}.pqc-product-tabs{gap:.2rem}.pqc-product-page .pqc-product-tabs button{font-size:.7rem;padding:.75rem .5rem}
 .pqc-details-layout{grid-template-columns:1fr;gap:1rem}.pqc-logo-advice{padding:1.2rem}.pqc-product-page .pqc-related .pqc-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.pqc-volume-cta{display:block;padding:1.5rem}.pqc-volume-cta .pqc-button{margin-top:1.2rem}.pqc-product-page .pqc-volume-cta h2{font-size:1.5rem}
}
@media(max-width:600px){
 .pqc-config-columns{grid-template-columns:1fr}
 .pqc-colors-and-sizes{grid-column:auto}
 .pqc-product-page .pqc-tier-table{font-size:.8rem}
 .pqc-product-page .pqc-tier-table th,.pqc-product-page .pqc-tier-table td{padding:.6rem .5rem}
}
.pqc-color-swatch img{width:100%;height:100%;object-fit:cover;border-radius:inherit}
.pqc .pqc-color-dot{background:var(--pqc-selected-swatch,var(--pqc-selected-color,#737373))}
.pqc .pqc-size-group-heading{grid-column:1/-1;padding:12px 8px 8px;background:#fff0f0;border-top:1px solid #efdadb;color:#a00610;font-size:13px;font-weight:700;line-height:1.3}

/* The entire product photo opens a native modal with its original image. */
.pqc-product-page .pqc-gallery-open{display:block;position:relative;width:100%;padding:0;border:0;border-radius:0;background:#fff;color:#111;cursor:zoom-in;overflow:hidden}
.pqc-product-page .pqc-gallery-open:hover,.pqc-product-page .pqc-gallery-open:focus{background:#fff;color:#111}
.pqc-product-page .pqc-gallery-open:focus-visible{outline-offset:-3px}
.pqc-gallery-zoom-label{position:absolute;bottom:.75rem;right:.75rem;display:inline-flex;align-items:center;gap:.4rem;padding:.55rem .75rem;border:1px solid #e4e4e4;border-radius:2rem;background:#fffffff0;color:#111;box-shadow:0 3px 16px #0000000a;font-size:.75rem;pointer-events:none}
.pqc-gallery-zoom-label svg{width:1.1rem;height:1.1rem;color:#fe0000}
.pqc.pqc-image-dialog{position:fixed;inset:0;margin:auto;width:min(1400px,calc(100vw - 40px));max-width:none;height:calc(100dvh - 40px);max-height:100dvh;padding:0;border:1px solid #ddd;border-radius:12px;background:#fff;color:#111;overflow:hidden;box-shadow:0 24px 100px #0006}
.pqc.pqc-image-dialog[open]{display:grid;grid-template-rows:auto minmax(0,1fr) auto;animation:pqc-image-appear .15s ease-out}
.pqc-image-dialog::backdrop{background:#080808d9;backdrop-filter:blur(3px)}
.pqc-zoom-toolbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:12px 20px;border-bottom:1px solid #eee;background:#fff;z-index:2}
.pqc-zoom-toolbar>strong{font-size:1rem}
.pqc-zoom-controls{display:flex;align-items:center;justify-content:center;gap:8px}
.pqc.pqc-image-dialog button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;min-width:44px;margin:0;padding:8px 12px;border:1px solid #ddd;border-radius:7px;background:#fff;color:#111;font-size:.85rem;line-height:1.2;touch-action:manipulation}
.pqc.pqc-image-dialog button:hover{background:#fff3f3;color:#c60000;border-color:#fe0000}
.pqc.pqc-image-dialog button:focus-visible{outline:3px solid #fe0000;outline-offset:2px}
.pqc.pqc-image-dialog button:disabled{opacity:.35;cursor:not-allowed}
.pqc.pqc-image-dialog [data-zoom-in],.pqc.pqc-image-dialog [data-zoom-out]{font-size:1.5rem}
.pqc-zoom-controls output{min-width:62px;text-align:center;font-size:.85rem;font-variant-numeric:tabular-nums}
.pqc.pqc-image-dialog .pqc-zoom-close{gap:10px;border-color:#111;background:#111;color:#fff}
.pqc.pqc-image-dialog .pqc-zoom-close:hover{border-color:#fe0000;background:#fe0000;color:#fff}
.pqc-zoom-close span{font-size:1.5rem;line-height:1}
.pqc-zoom-viewport{position:relative;overflow:hidden;min-height:0;background:#fff;touch-action:none;user-select:none;cursor:zoom-in}
.pqc-zoom-viewport.is-zoomed{cursor:grab}
.pqc-zoom-viewport.is-dragging{cursor:grabbing}
.pqc.pqc-image-dialog .pqc-zoom-image{display:block;position:absolute;left:50%;top:50%;margin:0;max-width:none;max-height:none;object-fit:contain;transform-origin:center;will-change:transform;pointer-events:none;user-select:none}
.pqc-zoom-viewport>[role=status]{position:absolute;inset:40% 2rem auto;margin:0;text-align:center;color:#666;font-size:.9rem}
.pqc-zoom-footer{padding:10px 20px;border-top:1px solid #eee;background:#fafafa;text-align:center;z-index:2}
.pqc-zoom-footer p{margin:0;font-size:.75rem;line-height:1.5;color:#666}
.pqc-zoom-footer [data-zoom-caption]{font-size:.85rem;font-weight:700;color:#111;margin-bottom:3px}
.pqc.pqc-image-dialog .pqc-zoom-nav{position:absolute;top:50%;z-index:2;border-radius:50%;width:46px;height:46px;padding:0;font-size:2rem;background:#fffffff2;box-shadow:0 2px 14px #0001}
.pqc-zoom-prev{left:14px}.pqc-zoom-next{right:14px}
@keyframes pqc-image-appear{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:600px){
 .pqc.pqc-image-dialog{width:100vw;height:100dvh;border:0;border-radius:0}
 .pqc-zoom-toolbar{display:grid;grid-template-columns:1fr auto;gap:8px;padding:10px 12px}
 .pqc-zoom-toolbar>strong{font-size:.9rem}.pqc-zoom-controls{grid-row:2;grid-column:1/-1}
 .pqc.pqc-image-dialog .pqc-zoom-close{font-size:.75rem}
 .pqc-zoom-footer{padding:10px 12px max(10px,env(safe-area-inset-bottom))}
 .pqc-zoom-footer p{font-size:.65rem}.pqc-zoom-footer [data-zoom-caption]{font-size:.75rem}
 .pqc.pqc-image-dialog .pqc-zoom-nav{width:42px;height:42px;min-width:42px;min-height:42px}
}
@media(prefers-reduced-motion:reduce){.pqc.pqc-image-dialog[open]{animation:none}}
