.tpp-product{--tpp-content-width:1920px;--tpp-media-width:52%;--tpp-main-height:100vh;--tpp-thumb-size:82px;--tpp-gap:0px;--tpp-radius:0px;--tpp-padding:34px;--tpp-page:#171717;--tpp-panel:#222;--tpp-text:#fff;--tpp-muted:#b8b8b8;--tpp-accent:#ff7d18;--tpp-button-text:#fff;--tpp-border:#444;--tpp-available:#48bd72;--tpp-sold:#e05151;--tpp-part-image-width:180px;--tpp-part-image-height:180px;background:var(--tpp-page);color:var(--tpp-text);max-width:var(--tpp-content-width);margin:auto;box-sizing:border-box}.tpp-product *{box-sizing:border-box}.tpp-primary{display:grid;grid-template-columns:minmax(0,var(--tpp-media-width)) minmax(0,1fr);gap:var(--tpp-gap);align-items:stretch}.tpp-gallery,.tpp-details{min-width:0}.tpp-gallery{position:sticky;top:0;align-self:start;height:var(--tpp-main-height);background:#111}.tpp-stage,.tpp-main-image{width:100%;height:100%}.tpp-stage{position:relative;overflow:hidden}.tpp-main-image{display:block;padding:0;border:0;border-radius:var(--tpp-radius);background:#111;overflow:hidden;cursor:zoom-in}.tpp-main-image img,.tpp-main-image>.tpm-sold-media,.tpp-main-image>.tpm-sold-media>img{width:100%;height:100%;object-fit:cover;display:block}.tpp-zoom{position:absolute;z-index:2;left:14px;top:14px;padding:10px 14px;border:0;background:var(--tpp-accent);color:var(--tpp-button-text);font:inherit;font-size:12px;font-weight:700;cursor:pointer}.tpp-zoom svg{width:16px;height:16px;fill:currentColor;vertical-align:-3px;margin-right:6px}.tpp-gallery-arrow{position:absolute;z-index:2;top:50%;width:46px;height:58px;transform:translateY(-50%);border:0;background:#1118;color:#fff;font-size:46px;line-height:1;cursor:pointer}.tpp-gallery-arrow:hover{background:var(--tpp-accent)}.tpp-gallery-prev{left:8px}.tpp-gallery-next{right:8px}.tpp-details{min-height:var(--tpp-main-height);padding:var(--tpp-padding);background:var(--tpp-panel);border-radius:var(--tpp-radius)}.tpp-kicker{color:var(--tpp-accent);font-size:.78rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;margin:0 0 8px}.tpp-details>h1{color:var(--tpp-text);font-size:clamp(1.7rem,3vw,2.7rem);line-height:1.08;margin:0 0 10px}.tpp-type{display:inline-block;color:var(--tpp-accent)!important;font-weight:700;text-decoration:none;text-transform:uppercase;margin-bottom:18px}.tpp-type:hover{text-decoration:underline}.tpp-sold-status{display:block;color:var(--tpp-sold);text-transform:uppercase;margin:0 0 18px}.tpp-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 28px;margin:28px 0}.tpp-fact{min-width:0}.tpp-fact dt{color:var(--tpp-muted);font-size:.73rem;font-weight:700;text-transform:uppercase;margin-bottom:3px}.tpp-fact dd{color:var(--tpp-text);font-weight:700;margin:0;overflow-wrap:anywhere}.tpp-status-available dd{color:var(--tpp-available)}.tpp-status-sold dd{color:var(--tpp-sold)}.tpp-availability,.tpp-notes,.tpp-source,.tpp-photo-strip{border-top:1px solid var(--tpp-border);padding-top:20px;margin-top:20px}.tpp-availability h2,.tpp-notes h2,.tpp-photo-strip h2{font-size:.78rem;text-transform:uppercase;color:var(--tpp-muted);margin:0 0 10px}.tpp-availability-table{--tpp-availability-name-width:48%;border:1px solid var(--tpp-border)}.tpp-availability-row{display:grid;grid-template-columns:minmax(105px,var(--tpp-availability-name-width)) minmax(0,1fr)}.tpp-availability-row+.tpp-availability-row{border-top:1px solid var(--tpp-border)}.tpp-availability-row>strong,.tpp-availability-row>span{padding:10px 12px}.tpp-availability-row>strong{border-right:1px solid var(--tpp-border);font-size:12px;line-height:1.35;text-transform:uppercase}.tpp-availability-row>span{font-size:12px;font-weight:600;line-height:1.45;text-transform:uppercase;overflow-wrap:anywhere}.tpp-availability-row i{display:inline-grid;place-items:center;width:16px;height:16px;border-radius:50%;font-style:normal;font-size:11px;color:#fff}.tpp-availability-row.tpp-status-available i{background:var(--tpp-available)}.tpp-availability-row.tpp-status-sold i{background:var(--tpp-sold)}.tpp-availability-row.tpp-status-available>span{color:var(--tpp-available)}.tpp-availability-row.tpp-status-sold>span{color:var(--tpp-sold)}.tpp-notes{color:var(--tpp-text)}.tpp-notes>:last-child{margin-bottom:0}.tpp-source a{color:var(--tpp-accent);font-weight:700}.tpp-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:25px}.tpp-button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:11px 18px;border:0;border-radius:4px;background:var(--tpp-accent);color:var(--tpp-button-text)!important;font-weight:700;text-decoration:none!important;cursor:pointer}.tpp-button:hover{filter:brightness(1.08)}.tpp-photo-strip{margin-top:30px}.tpp-thumbs{display:grid;grid-template-columns:repeat(auto-fill,minmax(var(--tpp-thumb-size),1fr));gap:10px}.tpp-thumb{width:100%;aspect-ratio:1;padding:0;border:2px solid transparent;background:none;cursor:zoom-in}.tpp-thumb[aria-current=true]{border-color:var(--tpp-accent)}.tpp-thumb img{width:100%;height:100%;object-fit:cover;display:block}.tpp-linked{padding:50px 0;scroll-margin-top:20px}.tpp-linked>h2{border-bottom:3px solid var(--tpp-accent);color:var(--tpp-text);padding:0 0 9px;margin:0 0 20px}.tpp-part-list.tps-app{margin:0;--tps-accent:var(--tpp-accent);--tps-card:var(--tpp-panel);--tps-text:var(--tpp-text);--tps-border:var(--tpp-border);--tps-image-width:var(--tpp-part-image-width)}.tpp-linked .tps-results{display:contents}.tpp-product .tpp-linked .tps-card-content{grid-template-columns:var(--tpp-part-image-width) minmax(0,1fr)!important}.tpp-product .tpp-linked .tps-photo,.tpp-product .tpp-linked .tps-photo>img,.tpp-product .tpp-linked .tps-photo>.tpm-sold-media,.tpp-product .tpp-linked .tps-photo>.tpm-sold-media>img{height:var(--tpp-part-image-height)!important;min-height:0!important;max-height:none!important;object-fit:cover}.tpp-mini-part{display:flex;background:var(--tpp-panel);color:var(--tpp-text)!important;text-decoration:none!important}.tpp-mini-part img{width:var(--tpp-part-image-width);height:var(--tpp-part-image-height);object-fit:cover}.tpp-mini-part span{display:flex;flex-direction:column;justify-content:center;padding:16px}.tpp-mini-part small{color:var(--tpp-muted)}.tpp-modal[hidden],.tpp-lightbox[hidden]{display:none}.tpp-modal,.tpp-lightbox{position:fixed;inset:0;z-index:999999;display:grid;place-items:center;padding:20px}.tpp-modal-backdrop,.tpp-lightbox-backdrop{position:absolute;inset:0;border:0;background:rgba(0,0,0,.86)}.tpp-dialog{position:relative;z-index:1;width:min(620px,100%);max-height:calc(100vh - 40px);overflow:auto;background:var(--tpp-panel);border:1px solid var(--tpp-accent);color:var(--tpp-text);padding:32px}.tpp-dialog h2{color:var(--tpp-accent);margin:0 35px 8px 0}.tpp-inquiry-product{color:var(--tpp-muted);border-bottom:1px solid var(--tpp-border);padding-bottom:14px}.tpp-close,.tpp-lightbox-close{position:absolute;right:10px;top:10px;z-index:3;width:38px;height:38px;border:0;background:var(--tpp-accent);color:#fff;font-size:27px;line-height:1;cursor:pointer}.tpp-lightbox-dialog{position:relative;z-index:1;display:grid;place-items:center;width:min(1100px,calc(100vw - 40px));height:calc(100vh - 40px)}.tpp-lightbox-dialog img{display:block;max-width:100%;max-height:100%;object-fit:contain;border:1px solid var(--tpp-accent)}.tpp-lightbox-prev,.tpp-lightbox-next{position:absolute;top:50%;z-index:2;width:52px;height:70px;transform:translateY(-50%);border:0;background:#111a;color:#fff;font-size:48px;cursor:pointer}.tpp-lightbox-prev{left:8px}.tpp-lightbox-next{right:8px}.tpp-modal-open{overflow:hidden}.tpp-dialog input:not([type=checkbox]):not([type=radio]),.tpp-dialog textarea,.tpp-dialog select{width:100%;max-width:100%}.tpp-template-page{margin:0}.tpp-no-gallery .woocommerce-placeholder{width:100%;height:100%;object-fit:cover}
@media(max-width:900px){.tpp-product{--tpp-main-height:64vh}.tpp-primary{grid-template-columns:1fr}.tpp-gallery{position:relative;top:auto;height:var(--tpp-main-height)}.tpp-details{min-height:0}.tpp-linked{padding:35px 12px}}
@media(max-width:600px){.tpp-product{--tpp-main-height:56vh;--tpp-thumb-size:68px;--tpp-part-image-height:260px}.tpp-details{padding:22px 16px}.tpp-facts{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 12px}.tpp-actions,.tpp-button{width:100%}.tpp-dialog{padding:25px 18px}.tpp-main-image{border-radius:0}.tpp-availability-row{grid-template-columns:minmax(105px,var(--tpp-availability-name-width)) minmax(0,1fr)}.tpp-availability-row>strong{border-right:1px solid var(--tpp-border);border-bottom:0}.tpp-product .tpp-linked .tps-card-content{grid-template-columns:1fr!important}.tpp-product .tpp-linked .tps-photo,.tpp-product .tpp-linked .tps-photo>img,.tpp-product .tpp-linked .tps-photo>.tpm-sold-media,.tpp-product .tpp-linked .tps-photo>.tpm-sold-media>img{width:100%!important;height:var(--tpp-part-image-height)!important}.tpp-linked .tps-card-data dl{grid-template-columns:repeat(2,minmax(0,1fr))}.tpp-linked .tps-details{align-self:stretch;margin:0;padding:12px 14px;background:var(--tpp-accent);text-align:right}.tpp-lightbox{padding:8px}.tpp-lightbox-dialog{width:calc(100vw - 16px);height:calc(100vh - 16px)}.tpp-zoom{left:8px;top:8px}.tpp-gallery-arrow{width:38px}}

/* Keep image controls usable inside Elementor/theme layouts. */
.tpp-product .tpp-stage-controls{position:absolute;z-index:5;top:12px;left:12px;display:flex;flex-wrap:wrap;gap:8px;max-width:calc(100% - 24px)}
.tpp-product .tpp-stage-controls button{position:static;display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:8px 12px;border:0;border-radius:4px;transform:none;background:var(--tpp-accent);color:var(--tpp-button-text);font:inherit;font-size:12px;font-weight:700;line-height:1.2;cursor:pointer}
.tpp-product .tpp-stage-controls button:hover,.tpp-product .tpp-stage-controls button[aria-pressed=true]{filter:brightness(1.15)}
.tpp-product .tpp-main-image>img,.tpp-product .tpp-main-image>.tpm-sold-media{transition:transform .18s ease-out;will-change:transform}
.tpp-product .tpp-gallery.tpp-inline-zoomed .tpp-main-image{cursor:zoom-out;touch-action:none}
.tpp-product .tpp-gallery.tpp-inline-zoomed .tpp-main-image>img,.tpp-product .tpp-gallery.tpp-inline-zoomed .tpp-main-image>.tpm-sold-media{transition:none}

/* The viewer is moved under body so sticky sections, footers and menus cannot clip it. */
.tpp-lightbox.tpp-lightbox-portal{position:fixed!important;inset:0!important;z-index:2147483647!important;display:flex!important;align-items:stretch;justify-content:center;width:100vw;height:100vh;height:100dvh;max-width:none!important;max-height:none!important;margin:0!important;padding:16px!important;overflow:hidden;isolation:isolate;box-sizing:border-box}
.tpp-lightbox.tpp-lightbox-portal[hidden]{display:none!important}
.tpp-lightbox.tpp-lightbox-portal,.tpp-lightbox.tpp-lightbox-portal *{box-sizing:border-box}
.tpp-lightbox.tpp-lightbox-portal .tpp-lightbox-backdrop{position:absolute!important;inset:0!important;z-index:0;background:rgba(0,0,0,.94)}
.tpp-lightbox.tpp-lightbox-portal .tpp-lightbox-dialog{position:relative!important;z-index:1;display:flex!important;flex-direction:column;align-items:stretch;justify-content:stretch;width:min(1440px,100%)!important;height:100%!important;min-width:0;min-height:0;max-width:100%!important;max-height:100%!important;margin:0 auto!important;padding:58px 14px 14px!important;overflow:hidden!important;border:1px solid #555;background:#0c0c0c;box-shadow:0 16px 60px #000b}
.tpp-lightbox.tpp-lightbox-portal .tpp-lightbox-toolbar{position:absolute;top:8px;left:10px;right:10px;z-index:5;display:flex;align-items:center;justify-content:flex-end;gap:8px;height:42px}
.tpp-lightbox.tpp-lightbox-portal .tpp-lightbox-count{margin-right:auto;color:#fff;font:600 14px/1.2 sans-serif}
.tpp-lightbox.tpp-lightbox-portal .tpp-lightbox-toolbar button{position:static!important;display:inline-grid;place-items:center;width:42px;height:42px;min-width:42px;padding:0;border:1px solid #ffffff55;border-radius:4px;transform:none!important;background:#242424;color:#fff;font:700 23px/1 sans-serif;cursor:pointer}
.tpp-lightbox.tpp-lightbox-portal .tpp-lightbox-toolbar button[data-tpp-zoom-reset]{width:auto;min-width:54px;padding:0 8px;font-size:13px}
.tpp-lightbox.tpp-lightbox-portal .tpp-lightbox-toolbar button.tpp-lightbox-close{background:var(--tpp-accent,#ff7d18);border-color:transparent}
.tpp-lightbox.tpp-lightbox-portal .tpp-lightbox-toolbar button:disabled{opacity:.45;cursor:default}
.tpp-lightbox.tpp-lightbox-portal .tpp-lightbox-viewport{display:flex;flex:1 1 auto;align-items:center;justify-content:center;width:100%;height:100%;min-width:0;min-height:0;max-height:100%;overflow:hidden;touch-action:none}
.tpp-lightbox.tpp-lightbox-portal .tpp-lightbox-viewport img{display:block!important;flex:none;width:auto!important;height:auto!important;min-width:0!important;min-height:0!important;max-width:100%!important;max-height:100%!important;margin:auto!important;object-fit:contain!important;transform-origin:center center;border:0!important;user-select:none;-webkit-user-drag:none}
.tpp-lightbox.tpp-lightbox-portal.tpp-lightbox-zoomed .tpp-lightbox-viewport{cursor:grab}
.tpp-lightbox.tpp-lightbox-portal .tpp-lightbox-prev,.tpp-lightbox.tpp-lightbox-portal .tpp-lightbox-next{position:absolute!important;top:54%!important;z-index:4;width:46px;height:62px;transform:translateY(-50%)!important;border:0;border-radius:4px;background:#111c;color:#fff;font-size:38px;line-height:1;cursor:pointer}
.tpp-lightbox.tpp-lightbox-portal .tpp-lightbox-prev{left:18px!important}.tpp-lightbox.tpp-lightbox-portal .tpp-lightbox-next{right:18px!important}
.tpp-lightbox.tpp-lightbox-portal .tpp-lightbox-prev:hover,.tpp-lightbox.tpp-lightbox-portal .tpp-lightbox-next:hover{background:var(--tpp-accent,#ff7d18)}
body.admin-bar .tpp-lightbox.tpp-lightbox-portal{padding-top:calc(var(--wp-admin--admin-bar--height,32px) + 8px)!important}
@media(max-width:600px){.tpp-product .tpp-stage-controls{top:8px;left:8px;gap:6px}.tpp-product .tpp-stage-controls button{min-height:38px;padding:7px 9px;font-size:11px}.tpp-lightbox.tpp-lightbox-portal{padding:0!important}.tpp-lightbox.tpp-lightbox-portal .tpp-lightbox-dialog{padding:54px 0 0!important;border:0}.tpp-lightbox.tpp-lightbox-portal .tpp-lightbox-toolbar{top:6px;left:8px;right:8px}.tpp-lightbox.tpp-lightbox-portal .tpp-lightbox-toolbar button{width:38px;height:38px;min-width:38px}.tpp-lightbox.tpp-lightbox-portal .tpp-lightbox-prev,.tpp-lightbox.tpp-lightbox-portal .tpp-lightbox-next{width:38px;height:54px}.tpp-lightbox.tpp-lightbox-portal .tpp-lightbox-prev{left:4px!important}.tpp-lightbox.tpp-lightbox-portal .tpp-lightbox-next{right:4px!important}}




