/* PGLAB v68 — shared design system.
   Loaded last on every customer and admin page. It unifies interface chrome
   (type, buttons, states, feedback, mobile comfort) without recolouring
   artwork, maps, photos, swatches, 3D materials or exported files. */

@font-face{font-family:PGStudio;src:url('/paut/fonts/manrope-latin-400-normal.woff2') format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:PGStudio;src:url('/paut/fonts/manrope-latin-600-normal.woff2') format('woff2');font-weight:500 600;font-display:swap}
@font-face{font-family:PGStudio;src:url('/paut/fonts/manrope-latin-700-normal.woff2') format('woff2');font-weight:700 900;font-display:swap}

/* ---------- 1. Tokens ---------- */
:root{
 --pgx-orange:#ff5a1f;--pgx-orange-hover:#ff7038;--pgx-orange-press:#e94911;--pgx-orange-text:#ff9a6e;--pgx-orange-tint:#38231a;--pgx-on-orange:#111111;
 --pgx-black:#111111;--pgx-offwhite:#f4f3ee;
 --pgx-bg:#111111;--pgx-surface:#1b1b1b;--pgx-raised:#242424;--pgx-sunken:#151515;
 --pgx-line:#3a3a3a;--pgx-line-strong:#55524c;
 --pgx-text:#f4f3ee;--pgx-text-2:#c9c6bc;--pgx-text-3:#a9a69c;
 --pgx-success:#7fd49a;--pgx-danger:#ff8a7a;--pgx-danger-bg:#3a1f1b;--pgx-warn-bg:#33281d;
 --pgx-font:PGStudio,Manrope,"Helvetica Neue",Arial,sans-serif;
 --pgx-r-sm:8px;--pgx-r:12px;--pgx-r-lg:16px;--pgx-r-pill:999px;
 --pgx-s1:4px;--pgx-s2:8px;--pgx-s3:12px;--pgx-s4:16px;--pgx-s5:24px;--pgx-s6:32px;
 --pgx-tap:44px;
 --pgx-ease:cubic-bezier(.2,.8,.2,1);--pgx-fast:.14s;--pgx-med:.24s;
 --pgx-focus:0 0 0 2px var(--pgx-bg),0 0 0 4px #ff895a;
 --pgx-shadow:0 18px 50px #0007;
 --pgx-safe-b:env(safe-area-inset-bottom,0px);
}

/* ---------- 2. Typography: one interface family ---------- */
.site-header,.site-header *,.pg-help,.pg-help *,.site-cart,.pgx-toast,.pgx-crumbs,
.pg-theme :is(button,input,select,textarea,label,summary),
.pg-fluffy-chrome,.lembar-chrome{font-family:var(--pgx-font)}
.site-header{font-weight:600;letter-spacing:.01em}
.pg-theme :is(h1,h2,h3){text-wrap:balance}
.pg-theme p{text-wrap:pretty}
/* Long headings never clip on phones */
.pg-theme :is(h1,h2){overflow-wrap:break-word;hyphens:manual;max-width:100%}

/* Marketing and collection copy: PGLAB type everywhere (artwork text layers are untouched) */
.pg-theme :is(.family-main,.collection-intro,.collection-description,.family-card,.collection-footnote,.gallery-section-heading,.sample-copy,.tools-eyebrow,.tools-intro,.tools-footer,.home-footer) :is(h1,h2,h3,h4,p,span,strong,small,em:not([class])),
.pg-theme :is(.collection-footnote,.tools-eyebrow),
body.pg-fluffy :is(.eyebrow,.live-badge,.orbit-hint),body.pg-fluffy .live-badge *,
.site-header .site-cart,.site-header .site-cart *{font-family:var(--pgx-font)!important}

/* ---------- 3. Links ---------- */
.pg-theme main a:not([class]):not(:has(img)):not(:is(h1,h2,h3,h4,nav) a),.pg-theme .shop-product-note a:not([class]),.pg-theme .map-credit a,.pg-theme .maplibregl-ctrl-attrib a,.pg-theme small a:not([class]){color:var(--pgx-text);text-decoration:underline;text-decoration-color:#ff5a1f99;text-underline-offset:3px;text-decoration-thickness:1px;transition:color var(--pgx-fast),text-decoration-color var(--pgx-fast)}
.pg-theme main a:not([class]):hover,.pg-theme small a:not([class]):hover{color:var(--pgx-orange-text);text-decoration-color:currentColor}
/* "How to order & FAQs" helper links: a clear, tappable secondary pill */
.pg-theme .shop-content-link{display:inline-flex!important;align-items:center;gap:8px;min-height:40px;padding:8px 14px;margin:4px 0 12px;border:1px solid var(--pgx-line);border-radius:var(--pgx-r-pill);background:var(--pgx-surface);color:var(--pgx-text)!important;font:600 13px/1.2 var(--pgx-font);text-decoration:none!important;transition:border-color var(--pgx-fast),background var(--pgx-fast)}
.pg-theme .shop-content-link::before{content:"";width:16px;height:16px;flex:none;border-radius:50%;border:1.5px solid var(--pgx-orange);background:radial-gradient(circle at 50% 30%,var(--pgx-orange) 1.2px,transparent 1.5px),linear-gradient(var(--pgx-orange),var(--pgx-orange)) 50% 72%/1.5px 5px no-repeat}
.pg-theme .shop-content-link:hover{border-color:var(--pgx-orange);background:var(--pgx-raised)}

/* ---------- 4. Breadcrumbs / "where am I" ---------- */
.pg-theme :is(.collection-back,.paut-breadcrumb,.tools-breadcrumb,.collection-link,.family-toolbar>a,.admin-back-link){display:inline-flex;align-items:center;gap:8px;min-height:40px;color:var(--pgx-text-2)!important;text-decoration:none;font:600 11px/1.2 var(--pgx-font);letter-spacing:.14em;text-transform:uppercase;transition:color var(--pgx-fast)}
.pg-theme :is(.collection-back,.paut-breadcrumb,.collection-link,.family-toolbar>a):hover{color:var(--pgx-orange-text)!important}
.pg-theme .collection-back::before,.pg-theme .paut-breadcrumb::before{content:"";width:7px;height:7px;border-left:1.6px solid currentColor;border-bottom:1.6px solid currentColor;transform:rotate(45deg);margin:0 2px 0 3px;flex:none}
.pg-theme .family-toolbar>a{letter-spacing:.02em;text-transform:none;font-size:13px;text-decoration:underline;text-decoration-color:#ff5a1f80;text-underline-offset:3px}
/* Site header: show where the visitor is */
.site-header .site-navigation>a,.site-header .site-nav-label>a{position:relative}
.site-header :is(.site-navigation>a,.site-nav-label>a)[aria-current]::after{content:"";position:absolute;left:0;right:0;bottom:6px;height:2px;border-radius:2px;background:var(--pgx-orange)}
.site-header .site-submenu a[aria-current]{background:var(--pgx-orange-tint)!important;color:var(--pgx-orange-text)!important}
.site-header .site-submenu a[aria-current]::after{display:none}
@media(max-width:900px){.site-header :is(.site-navigation>a,.site-nav-label>a)[aria-current]::after{left:12px;right:auto;width:22px;bottom:8px}}
.site-header .site-cart{display:inline-flex;align-items:center;gap:6px}
.site-header .site-cart span{display:inline-grid;place-items:center;min-width:20px;height:20px;padding:0 6px;margin:0!important;border-radius:var(--pgx-r-pill);background:var(--pgx-orange)!important;color:var(--pgx-on-orange)!important;font:700 11px/1 var(--pgx-font)}
.pg-theme .site-header .site-cart{background:var(--pgx-raised);border-color:var(--pgx-line-strong);color:var(--pgx-text)}
.site-header .site-menu-toggle{transition:background var(--pgx-fast),border-color var(--pgx-fast)}
.site-header .site-menu-toggle[aria-expanded=true]{border-color:var(--pgx-orange)!important}
@media(max-width:900px){.site-navigation.is-open{animation:pgx-drop var(--pgx-med) var(--pgx-ease)}}

/* ---------- 5. Buttons: shared feel ---------- */
.pg-theme :is(button,[role=button],.button,.tools-button,.build-link,.next-link,.site-explore,.map-primary,.map-secondary),
.admin-v44 :is(button,.button){transition:background-color var(--pgx-fast),border-color var(--pgx-fast),color var(--pgx-fast),box-shadow var(--pgx-fast),scale var(--pgx-fast) var(--pgx-ease),opacity var(--pgx-fast);-webkit-tap-highlight-color:transparent;touch-action:manipulation}
.pg-theme :is(button,[role=button],.button,.tools-button,.build-link,.next-link,.map-primary,.map-secondary):not(:disabled):active,
.admin-v44 button:not(:disabled):active{scale:.97}
.pg-theme :is(button,.button):disabled,.pg-theme [aria-disabled=true],.admin-v44 button:disabled{opacity:.45;cursor:not-allowed}
/* Primary: one orange action per area, readable black label (6:1 contrast) */
.pg-theme :is(.add-button,.confirm-order-btn,.proceed-payment-btn,.map-primary,.create-memory-btn,.add-to-cart-btn,.show-design-btn,.primary,.story-primary,.product-preview-buy button,#lakarPreviewAddCart,.tools-button,.button-primary,.primary-button,.btn.orange,.btn.accent,.pglab-rail-btn.accent,.pglab-option-btn.orange,.lakar-edit-btn,.template-builder-badge){color:var(--pgx-on-orange)!important}
.pg-theme :is(.add-button,.confirm-order-btn,.proceed-payment-btn,.map-primary,.add-to-cart-btn,.primary,.tools-button,.button-primary,.primary-button,#lakarPreviewAddCart,.upload-card .button):not(:disabled):hover{background:var(--pgx-orange-hover)!important;border-color:var(--pgx-orange-hover)!important;box-shadow:0 8px 24px #ff5a1f33}
.pg-theme :is(.add-button,.confirm-order-btn,.proceed-payment-btn,.map-primary,.add-to-cart-btn,.primary,.button-primary,.primary-button):not(:disabled):active{background:var(--pgx-orange-press)!important}
/* Secondary hover */
.pg-theme :is(.secondary,.secondary-button,.secondary-cart-button,.map-secondary,.editor-btn,.mini-btn,.button-ghost):not(:disabled):hover{border-color:var(--pgx-line-strong);background:#2d2d2d}
/* In the 3D preview "Edit your design" is a way back, not the next step:
   keep Add to Cart as the single orange action. */
body.pg-store .product-edit-back #editYourDesign.edit-design-accent,body.pg-store :is(.studio-preview-settings,.lakar-edit-row) #lakarEditDesign.lakar-edit-btn,body.pg-store #editYourDesign.editor-btn{background:transparent!important;color:var(--pgx-text)!important;border:1px solid var(--pgx-line-strong)!important;box-shadow:none!important;font-weight:700}
body.pg-store .product-edit-back #editYourDesign.edit-design-accent:hover,body.pg-store :is(.studio-preview-settings,.lakar-edit-row) #lakarEditDesign.lakar-edit-btn:hover,body.pg-store #editYourDesign.editor-btn:hover{border-color:var(--pgx-orange)!important;color:var(--pgx-orange-text)!important}
.pg-store :is(.product-edit-back #editYourDesign,#lakarEditDesign,.lakar-edit-btn)::before{content:"";display:inline-block;width:7px;height:7px;border-left:1.6px solid currentColor;border-bottom:1.6px solid currentColor;transform:rotate(45deg);margin-right:10px;vertical-align:.1em}
/* "Show My Design" is the next step from the editor: make it primary */
.pg-store .pglab-show-cta{background:var(--pgx-orange)!important;color:var(--pgx-on-orange)!important;border-color:var(--pgx-orange)!important;font-family:var(--pgx-font)!important;font-weight:800;min-height:48px;border-radius:var(--pgx-r)!important;box-shadow:0 10px 28px #ff5a1f2e!important}
/* Busy / loading state added by pglab-ui.js to any button awaiting a result */
.pgx-busy{position:relative;pointer-events:none;color:transparent!important}
.pgx-busy>*{visibility:hidden}
.pgx-busy::after{content:"";position:absolute;inset:0;margin:auto;width:18px;height:18px;border-radius:50%;border:2px solid currentColor;border-color:var(--pgx-busy-ink,#111) transparent var(--pgx-busy-ink,#111) var(--pgx-busy-ink,#111);animation:pgx-spin .7s linear infinite;visibility:visible}
.pgx-busy:not(:is(.add-button,.confirm-order-btn,.proceed-payment-btn,.map-primary,.add-to-cart-btn,.primary,.button-primary,.primary-button,.tools-button,.btn.orange,.pg-btn-primary)){--pgx-busy-ink:var(--pgx-text)}
.admin-v44 .pgx-busy{--pgx-busy-ink:#f4f3ee}

/* ---------- 6. Selected states: always visible, always orange ---------- */
.pg-theme :is(.product-choice,.lakar-choice,.size-choice,.choice,.frame-choice,.product-theme-choice,.lakar-theme-choice,.theme-button,.lakar-design-theme-choice,.alur-design-theme-choice,.collection-mode,.layout-choice,.colour,.font-choice,.theme-option,.category-button,.format-option,.segmented button,.product-segmented button,.pglab-rail-btn,.pglab-option-btn,.step-tab):is(.active,.selected,.is-active,.is-selected,[aria-pressed=true],[aria-selected=true],[aria-checked=true]){background:var(--pgx-orange-tint)!important;border-color:var(--pgx-orange)!important;color:#ffc6aa!important;box-shadow:inset 0 0 0 1px var(--pgx-orange)!important}
.pg-theme :is(.product-choice,.lakar-choice,.size-choice,.choice,.frame-choice,.product-theme-choice,.lakar-theme-choice,.theme-button,.pglab-rail-btn,.pglab-option-btn,.category-button,.format-option,.segmented button,.product-segmented button):not(:disabled):not(.active):not([aria-pressed=true]):not(.is-active):hover{border-color:#8a5a43!important}
/* Selected check mark for theme / preset grids so selection doesn't rely on colour alone */
.pg-theme :is(.product-theme-choice,.lakar-theme-choice,.lakar-design-theme-choice,.alur-design-theme-choice,.theme-option):is(.active,.is-selected,[aria-pressed=true]){position:relative}
.pg-theme :is(.product-theme-choice,.lakar-theme-choice):is(.active,[aria-pressed=true])::after{content:"";position:absolute;top:50%;right:12px;width:5px;height:9px;margin-top:-6px;border:solid var(--pgx-orange);border-width:0 2px 2px 0;transform:rotate(45deg)}
.pg-theme .managed-swatch[aria-pressed=true],.pg-theme .swatch[aria-pressed=true],.pg-theme .colour-swatch[aria-pressed=true]{outline:2px solid var(--pgx-orange)!important;outline-offset:2px}
/* Light-surface rail buttons inside dark studios */
.pg-store .pglab-rail-btn{background:var(--pgx-raised);color:var(--pgx-text);border-color:var(--pgx-line-strong);font-family:var(--pgx-font);font-weight:700;min-height:40px}

/* ---------- 7. Focus ---------- */
.pg-theme :is(a,button,input,select,textarea,summary,[tabindex]):focus-visible,
.admin-v44 :is(a,button,input,select,textarea,summary,[tabindex]):focus-visible,
.pgx-focusable:focus-visible{outline:2px solid #ff895a!important;outline-offset:3px!important}
.pg-theme :is(input,select,textarea):focus-visible{outline-offset:1px!important}
.pg-theme :is(input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=color]):not([type=file]),select,textarea):focus{border-color:var(--pgx-orange)!important}

.pgx-skip{position:fixed;left:12px;top:-60px;z-index:2147483001;padding:12px 16px;border-radius:var(--pgx-r-sm);background:var(--pgx-orange);color:var(--pgx-on-orange)!important;font:700 14px/1 var(--pgx-font);text-decoration:none;transition:top var(--pgx-fast)}
.pgx-skip:focus{top:12px;outline:2px solid #fff!important;outline-offset:2px}
main:focus{outline:none}

/* ---------- 8. Forms ---------- */
.pg-theme :is(input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=color]):not([type=file]),select,textarea){border-radius:var(--pgx-r-sm);transition:border-color var(--pgx-fast),box-shadow var(--pgx-fast)}
.pg-theme :is(input,textarea,select)[aria-invalid=true],.pg-theme :is(input,textarea,select).pgx-invalid{border-color:var(--pgx-danger)!important;box-shadow:0 0 0 1px var(--pgx-danger)}
.pgx-field-error{display:flex;gap:6px;align-items:flex-start;margin:6px 0 0;color:var(--pgx-danger);font:600 12px/1.45 var(--pgx-font)}
.pgx-field-error::before{content:"!";flex:none;display:grid;place-items:center;width:15px;height:15px;border-radius:50%;background:var(--pgx-danger);color:#111;font-size:10px;font-weight:800;margin-top:1px}
.pgx-status-error{color:var(--pgx-danger)!important;font-weight:600}
.pgx-status-error::before{content:"!";display:inline-grid;place-items:center;width:15px;height:15px;margin-right:6px;border-radius:50%;background:var(--pgx-danger);color:#111;font:800 10px/1 var(--pgx-font);vertical-align:.1em}
.pg-theme select{cursor:pointer}
.pg-theme :is(input[type=checkbox],input[type=radio]){accent-color:var(--pgx-orange);cursor:pointer}
.pg-theme input[type=range]{accent-color:var(--pgx-orange);cursor:pointer}
.pg-theme ::placeholder{color:#8f8d86}
.pg-theme ::selection{background:#ff5a1f55;color:inherit}

/* ---------- 9. Surfaces & contrast fixes found in the audit ---------- */
/* LAKAR/ALUR carts were off-white with light headings (contrast 1.1:1) */
.pg-store .trail-cart{background:var(--pgx-surface)!important;color:var(--pgx-text);border:1px solid var(--pgx-line);border-radius:var(--pgx-r-lg)}
.pg-store .trail-cart :is(h2,h3,.cart-head-row,.cart-head-row *){color:var(--pgx-text)}
.pg-store .trail-cart :is(small,.cart-note,p){color:var(--pgx-text-2)}
.pg-store .trail-cart-item,.pg-store .cart-item{border-radius:var(--pgx-r)}
/* Carts: one orange action per area. "Create another" and "View cart" are secondary. */
.pg-store #createAnotherMemory,.pg-store #confirmOrderBtn,.pg-store #cartoAnother{background:var(--pgx-raised)!important;color:var(--pgx-text)!important;border:1px solid var(--pgx-line-strong)!important;box-shadow:none!important}
.pg-store #createAnotherMemory:hover,.pg-store #confirmOrderBtn:hover,.pg-store #cartoAnother:hover{border-color:var(--pgx-orange)!important;color:var(--pgx-orange-text)!important}
.pg-store #cartoCart :is(#cartoAnother,#cartoCheckout){width:100%;min-height:48px;justify-content:center}
.pg-store .cart-count-badge{background:var(--pgx-orange)!important;color:var(--pgx-on-orange)!important;border-color:var(--pgx-orange)!important;font-weight:700}
/* Empty product photography slots read as intentional, not broken */
.pg-store .family-card .product-photo:not(:has(img[src],video,canvas,model-viewer,picture)),
.pg-store .product-photo.is-empty,.pgx-media-empty{background:#1f1f1f url('/assets/brand-contours.svg') center/160% no-repeat!important;background-blend-mode:luminosity}
.pgx-skeleton{position:relative;overflow:hidden;background:#202020}
.pgx-skeleton::after{content:"";position:absolute;inset:0;transform:translateX(-100%);background:linear-gradient(90deg,transparent,#ffffff10,transparent);animation:pgx-shimmer 1.4s infinite}
/* Clicker intro labels were #111 on #111 */
.pg-store .intro-icons span{color:var(--pgx-text-2)!important}
/* Footer copy on CREATE / MAKE / TANDA was #666 on #111 (3.3:1) */
.pg-theme :is(.home-footer,.tools-footer) :is(span,small,a,.footer-right,.footer-right *){color:var(--pgx-text-3)!important}
.pg-theme :is(.home-footer,.tools-footer) a:hover{color:var(--pgx-orange-text)!important}
/* Admin nav numbers and footnote contrast */
.admin-sidebar nav a span{color:#a19f98!important}
.admin-side-foot small,.admin-logo span{color:#a9a79f!important}
.admin-v44 .admin-topbar small{color:#a9a79f!important}
/* Attribution text on maps */
.pg-theme .maplibregl-ctrl-attrib{background:#111c!important;color:var(--pgx-text-2)!important}

/* ---------- 10. Editors ---------- */
/* After a route is loaded, the upload card becomes a compact "route" bar so the design is first */
body:has(#result.result:not(.hidden)) #uploadCard,
body:has(#composer.composer:not(.hidden)) #lakarStartPanel{display:flex!important;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px 16px;min-height:0!important;padding:12px 16px!important;margin-bottom:16px!important;border-style:solid!important;border-radius:var(--pgx-r)!important;background:var(--pgx-surface)!important}
body:has(#result.result:not(.hidden)) #uploadCard :is(.upload-copy,.upload-icon,.upload-prompt,.gpx-alternate),
body:has(#composer.composer:not(.hidden)) #lakarStartPanel :is(.upload-copy,.upload-icon,.upload-prompt,.gpx-alternate){display:none!important}
body:has(#result.result:not(.hidden)) #uploadCard .upload-actions,
body:has(#composer.composer:not(.hidden)) #lakarStartPanel .upload-actions{display:flex!important;flex-direction:row-reverse;align-items:center;justify-content:space-between;gap:12px;width:100%;padding:0!important;border:0!important;min-height:0!important;background:none!important}
body:has(#result.result:not(.hidden)) #uploadCard .upload-actions>small,
body:has(#composer.composer:not(.hidden)) #lakarStartPanel .upload-actions>small{margin:0!important;color:var(--pgx-text)!important;font:700 14px/1.3 var(--pgx-font)!important;display:flex;align-items:center;gap:8px;min-width:0}
body:has(#result.result:not(.hidden)) #uploadCard .upload-actions>small::before,
body:has(#composer.composer:not(.hidden)) #lakarStartPanel .upload-actions>small::before{content:"";flex:none;width:8px;height:8px;border-radius:50%;background:var(--pgx-success);box-shadow:0 0 0 3px #7fd49a26}
body:has(#result.result:not(.hidden)) #uploadCard .upload-actions>.button,
body:has(#composer.composer:not(.hidden)) #lakarStartPanel .upload-actions>.button{width:auto!important;min-width:0!important;min-height:40px!important;margin:0!important;padding:8px 14px!important;background:transparent!important;color:var(--pgx-text)!important;border:1px solid var(--pgx-line-strong)!important;font-size:0!important;box-shadow:none!important}
body:has(#result.result:not(.hidden)) #uploadCard .upload-actions>.button::after,
body:has(#composer.composer:not(.hidden)) #lakarStartPanel .upload-actions>.button::after{content:"Replace GPX";font:700 13px/1 var(--pgx-font)}
body:has(#result.result:not(.hidden)) #result.result{padding-top:8px!important}
/* Route data: a compact grid instead of eight tall rows */
@media(max-width:700px){
 .pg-store .route-data-table{display:grid!important;grid-template-columns:1fr 1fr;gap:1px!important;border-radius:var(--pgx-r);overflow:hidden}
 .pg-store .route-data-table>div{display:flex!important;flex-direction:column-reverse;align-items:flex-start!important;justify-content:center;gap:2px;min-height:0!important;padding:10px 14px!important}
 .pg-store .route-data-table>div strong{font-size:17px!important}
 .pg-store .route-data-table>div span{font-size:11px!important;letter-spacing:.04em}
}
/* Mobile preview tool rail: icons gain short labels, scroll edge hints, active stays orange */
@media(max-width:900px){
 .compact-preview-v63 .preview-tool-rail{gap:4px!important;padding:6px 2px 4px!important;scroll-snap-type:x proximity;scrollbar-width:none;-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 10px,#000 calc(100% - 22px),transparent);mask-image:linear-gradient(90deg,transparent 0,#000 10px,#000 calc(100% - 22px),transparent)}
 .compact-preview-v63 .preview-tool-rail::-webkit-scrollbar{display:none}
 .compact-preview-v63 .preview-tool-button{flex:0 0 58px!important;width:58px!important;height:54px!important;min-height:54px!important;padding:6px 2px 4px!important;gap:3px;display:flex!important;flex-direction:column;align-items:center;justify-content:center;scroll-snap-align:start}
 .compact-preview-v63 .preview-tool-button svg{width:20px!important;height:20px!important}
 .compact-preview-v63 .preview-tool-button::after{content:attr(data-pgx-short);display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font:600 9.5px/1.1 var(--pgx-font);letter-spacing:.01em;color:inherit;opacity:.85}
 /* Contextual sheet: compact and above the toolbar, the preview stays visible */
 .compact-preview-v63 .preview-tool-panel{max-height:min(34dvh,260px)!important;border-color:var(--pgx-line-strong)!important;border-radius:var(--pgx-r-lg)!important;animation:pgx-sheet var(--pgx-med) var(--pgx-ease)}
 .compact-preview-v63 .preview-tool-panel .product-segmented{display:grid!important;grid-template-columns:repeat(auto-fill,minmax(118px,1fr));gap:6px}
 .compact-preview-v63 .preview-tool-panel .product-segmented>button{min-height:40px;font-size:13px;padding:8px 26px 8px 10px;text-align:left}
}
/* Close controls: one consistent 44px round button in preview dialogs */
.pg-store :is(#closeProductPreview,.studio-preview-dialog>.product-head>button,.studio-preview-dialog>.preview-heading>button){min-width:44px;min-height:44px;border-radius:var(--pgx-r-pill)!important}
/* Frame title dialogs: identical action order on ALUR and LAKAR (secondary left, primary right) */
.pg-store .frame-title-actions{display:grid!important;grid-template-columns:1fr 1.4fr;gap:10px}
.pg-store .frame-title-actions>*{width:100%!important;margin:0!important;min-height:48px}
/* Overflowing editor section headings */
.pg-store :is(.customizer,.layout-editor,.result) h2{font-size:clamp(24px,6.4vw,40px)}

/* ---------- 11. Horizontal strips: snap, no scrollbar noise ---------- */
.pg-theme :is(.pglab-scroll-rail,.preset-strip,.preset-row,.media-thumbs,.thumb-strip,.chip-row,.step-tabs){scroll-behavior:smooth;overscroll-behavior-x:contain}
.pgx-strip-hint{-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 28px),transparent);mask-image:linear-gradient(90deg,#000 calc(100% - 28px),transparent)}
.pgx-strip-hint.pgx-at-end{-webkit-mask-image:none;mask-image:none}

/* ---------- 12. Swipeable galleries ---------- */
.pgx-swipe{touch-action:pan-y;cursor:grab}
.pgx-swipe:active{cursor:grabbing}

/* ---------- 13. Help bubble: never cover controls ---------- */
.pg-help{font-family:var(--pgx-font);transition:transform var(--pgx-med) var(--pgx-ease),opacity var(--pgx-med),bottom var(--pgx-med) var(--pgx-ease)}
.pg-help-toggle{border-color:#5b5048!important;background:#1d1d1d!important}
.pg-help.pgx-tucked:not(:has([aria-expanded=true])){transform:translateX(calc(100% - 18px));opacity:.82}
.pg-help.pgx-tucked:not(:has([aria-expanded=true])) .pg-help-toggle{border-radius:24px 0 0 24px;padding-right:22px}
.pg-help.pgx-tucked:not(:has([aria-expanded=true])):is(:hover,:focus-within){transform:none;opacity:1}
body.pgx-kb-open .pg-help,body.product-preview-open .pg-help,body:has(dialog[open]) .pg-help,body.pgx-overlay-open .pg-help{opacity:0;pointer-events:none;transform:translateY(20px)}
@media(max-width:640px){.pg-help{bottom:calc(var(--pgx-help-lift,16px) + var(--pgx-safe-b))!important}}

/* ---------- 14. Keyboard open on phones: hide non-essential bottom bars ---------- */
body.pgx-kb-open .pgx-kb-hide{visibility:hidden!important;opacity:0!important;pointer-events:none!important}

/* ---------- 15. Toasts / live feedback ---------- */
.pgx-toasts{position:fixed;left:50%;bottom:calc(20px + var(--pgx-toast-lift,0px) + var(--pgx-safe-b));z-index:2147483000;display:grid;gap:8px;width:min(440px,calc(100vw - 32px));transform:translateX(-50%);pointer-events:none}
.pgx-toast{display:flex;align-items:center;gap:12px;min-height:48px;padding:10px 10px 10px 14px;border:1px solid var(--pgx-line-strong);border-radius:var(--pgx-r);background:#202020f2;color:var(--pgx-text);box-shadow:var(--pgx-shadow);font:600 13.5px/1.4 var(--pgx-font);pointer-events:auto;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);animation:pgx-toast-in var(--pgx-med) var(--pgx-ease)}
.pgx-toast.is-leaving{animation:pgx-toast-out .2s ease forwards}
.pgx-toast-icon{flex:none;display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:var(--pgx-raised);color:var(--pgx-text)}
.pgx-toast-icon svg{width:14px;height:14px;stroke:currentColor;fill:none;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.pgx-toast[data-type=success] .pgx-toast-icon{background:#24402d;color:var(--pgx-success)}
.pgx-toast[data-type=success] .pgx-toast-icon{animation:pgx-tick-pop .45s cubic-bezier(.3,1.6,.5,1) both}
.pgx-toast[data-type=success] .pgx-toast-icon path{stroke-dasharray:20;stroke-dashoffset:20;animation:pgx-tick-draw .4s .12s ease-out forwards}
@keyframes pgx-tick-pop{from{transform:scale(.4);opacity:0}}
@keyframes pgx-tick-draw{to{stroke-dashoffset:0}}
.pgx-toast[data-type=error]{border-color:#7a3a31;background:#2a1a17f2}
.pgx-toast[data-type=error] .pgx-toast-icon{background:var(--pgx-danger);color:#111}
.pgx-toast[data-type=loading] .pgx-toast-icon::after{content:"";width:12px;height:12px;border-radius:50%;border:2px solid var(--pgx-orange);border-right-color:transparent;animation:pgx-spin .7s linear infinite}
.pgx-toast-msg{flex:1;min-width:0}
.pgx-toast-msg small{display:block;font-weight:500;color:var(--pgx-text-2);font-size:12px}
.pgx-toast-action{flex:none;min-height:36px;padding:8px 12px;border:0;border-radius:var(--pgx-r-sm);background:var(--pgx-orange);color:var(--pgx-on-orange);font:700 12.5px/1 var(--pgx-font);cursor:pointer}
.pgx-toast-close{flex:none;width:36px;height:36px;border:0;border-radius:var(--pgx-r-sm);background:transparent;color:var(--pgx-text-2);font-size:20px;line-height:1;cursor:pointer}
.pgx-toast-close:hover{background:#ffffff12;color:var(--pgx-text)}
/* Cart count pulse */
.pgx-pulse{animation:pgx-pulse .6s var(--pgx-ease)}
/* Upload progress shimmer on drop zones */
.pgx-reading{position:relative;overflow:hidden}
.pgx-reading::before{content:"";position:absolute;left:0;right:0;top:0;height:3px;background:linear-gradient(90deg,transparent,var(--pgx-orange),transparent);background-size:50% 100%;background-repeat:no-repeat;animation:pgx-bar 1s linear infinite;z-index:3}

/* ---------- 16. Touch comfort on phones ---------- */
@media(pointer:coarse),(max-width:640px){
 .pg-theme :is(input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=color]):not([type=file]),select,textarea){font-size:16px!important}
 .pg-theme :is(input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=color]):not([type=file]),select){min-height:44px}
 .pg-theme :is(.text-button,.mini-btn,.paut-step-tabs button,.step-tabs button,.steps button,.utility button,.gallery-arrows button){min-height:40px}
 .pg-theme .site-footer a,.pg-theme footer a{display:inline-block;padding-block:6px}
 .pg-theme :is(.paut-edition-nav,.paut-account-bar)>a{display:inline-flex;align-items:center;min-height:40px}
 .pg-theme .pe-sort>label{min-height:40px;display:flex;align-items:center;gap:8px}
 .pg-theme [data-remove-background]{min-height:40px}
 .pg-theme :is(.artwork-view-tools button,.stage-toolbar button,.preview-tools button){min-width:40px;min-height:40px}
 .admin-v44 :is(button,select,input:not([type=checkbox]):not([type=radio])){min-height:42px}
 .admin-v44 .admin-side-close{min-height:44px!important;min-width:44px;font-size:12px!important}
}
/* Safe area for fixed bottom bars */
.pg-theme :is(.mobile-dock,.mobile-panel-tabs,.dock,.bottom-nav,.tabbar){padding-bottom:max(var(--pgx-pad-b,0px),var(--pgx-safe-b))}

/* ---------- 17. Product-specific identity alignment ---------- */
/* FLUFFYTAG: wordmark was black on black */
body.pg-fluffy .brand img,body.pg-fluffy header img[src*=wordmark],body.pg-fluffy header img[src*=pgLAB],body.pg-fluffy header img[alt*=PGLAB]{filter:brightness(0) invert(1)}
body.pg-fluffy{--pgx-font-ui:var(--pgx-font)}
body.pg-fluffy :is(header,nav,button,label,input,select,.text-button,.count,.primary-button,.panel,.sheet){font-family:var(--pgx-font)}
/* LEMBAR: full studio theme lives in /create/lembar/pglab-theme.css */
body.pg-lembar{--sans:var(--pgx-font)}

/* LUME: when a tool tray is open on a phone, the pinned photo gives more room to the controls */
@media(max-width:900px){body.pg-lume.has-image .workspace{background:#151515!important;box-shadow:0 14px 28px #0009!important}body.pg-lume .workspace-footer :is(p,span){color:var(--pgx-text-2)!important}}
@media(max-width:900px) and (min-height:600px){body.pg-lume.has-image.mobile-tray-open .stage{height:clamp(240px,46dvh,560px)!important}}
/* CREATE tools: shared interface type */
body.pg-create-tool :is(.topbar,.toolbar,.panel,.dock,.tool-panel,.mobile-dock,button,label,select,input){font-family:var(--pgx-font)}

/* ---------- 18. Motion ---------- */
@keyframes pgx-spin{to{transform:rotate(360deg)}}
@keyframes pgx-shimmer{to{transform:translateX(100%)}}
@keyframes pgx-toast-in{from{opacity:0;transform:translateY(10px) scale(.98)}}
@keyframes pgx-toast-out{to{opacity:0;transform:translateY(8px)}}
@keyframes pgx-pulse{0%{transform:scale(1)}35%{transform:scale(1.18)}100%{transform:scale(1)}}
@keyframes pgx-bar{from{background-position:-50% 0}to{background-position:150% 0}}
@keyframes pgx-sheet{from{opacity:0;transform:translateY(8px)}}
@keyframes pgx-drop{from{opacity:0;transform:translateY(-6px)}}
@media(prefers-reduced-motion:reduce){
 .pgx-toast-icon path{stroke-dashoffset:0!important;animation:none!important}
 .pgx-toast,.pgx-toast.is-leaving,.pgx-pulse,.pgx-toast-icon,.compact-preview-v63 .preview-tool-panel,.site-navigation.is-open{animation:none!important}
 .pgx-busy::after{animation-duration:2s}
 .pgx-skeleton::after,.pgx-reading::before{animation:none}
 .pg-theme :is(button,[role=button],.button):active,.admin-v44 button:active{scale:none!important}
 .pg-help{transition:none}
}
