/* Precision / Material edition: product studio, layered surfaces and tactile controls. */
[data-shop-template="precision"] {
    --p-paper: #f2f4f6;
    --p-depth: #102538;
    --p-soft: #d5e3ef;
    font-family: Manrope, Inter, sans-serif;
}
[data-shop-template="precision"] .p-header { box-shadow: 0 8px 40px #10253806; }
[data-shop-template="precision"] .p-hero { border: 0; border-radius: 20px; box-shadow: 0 24px 70px #1025380e; }
[data-shop-template="precision"] .p-hero-copy { background: #112b40; color: #fff; }
[data-shop-template="precision"] .p-hero h1 { color: #fff; font-weight: 600; }
[data-shop-template="precision"] .p-hero h1 span { color: #94c4e8; }
[data-shop-template="precision"] .p-hero-copy .p-eyebrow,
[data-shop-template="precision"] .p-hero-copy > p { color: #c1d0dc; }
[data-shop-template="precision"] .p-hero-copy .p-text-button { color: #fff; }
[data-shop-template="precision"] .p-hero-steps { border-color: #ffffff25; color: #c1d0dc; }
[data-shop-template="precision"] .p-hero-steps b { color: var(--p-accent); }
[data-shop-template="precision"] .p-hero-product { background: radial-gradient(ellipse at 65% 30%, #fff, #e4ebf0); }
[data-shop-template="precision"] .p-button { border-radius: 8px; transition: transform .25s ease, box-shadow .25s ease; }
[data-shop-template="precision"] .p-button-accent { box-shadow: 0 6px 18px color-mix(in srgb, var(--p-accent) 20%, transparent); }
[data-shop-template="precision"] .p-tile { border-radius: 12px; transition: transform .3s ease, box-shadow .3s ease, border-color .3s ease; }
[data-shop-template="precision"] .p-tile-image { background: radial-gradient(ellipse, #fff, #edf1f4); overflow: hidden; }
[data-shop-template="precision"] .p-tile-image img { transition: transform .5s cubic-bezier(.2,.7,.2,1); }
[data-shop-template="precision"] .p-category { transition: background .25s ease, box-shadow .25s ease; }
[data-shop-template="precision"] .p-category-arrow { transition: transform .25s ease; }
.precision-product .p-product-heading { max-width: 1000px; margin: 12px 0 36px; }
.precision-product .p-product-heading h1 { font-family: Manrope, Inter, sans-serif; font-weight: 600; letter-spacing: -.045em; }
.precision-product .pc-grid { gap: 24px; align-items: start; }
.p-studio { --studio-surface: #eef2f5; --studio-text: #213b50; --studio-rule: #10253815; --studio-glow: #fff; border: 1px solid #dae2e8; border-radius: 18px; overflow: hidden; background: var(--studio-surface); color: var(--studio-text); box-shadow: 0 24px 70px #1025380b; scroll-margin-top: 20px; }
.p-studio.is-dark { --studio-surface: #172b3d; --studio-text: #dde9f3; --studio-rule: #ffffff15; --studio-glow: #34526a; border-color: #304b61; }
.p-studio-toolbar { padding: 16px; display: flex; justify-content: space-between; align-items: center; gap: 12px; border-bottom: 1px solid var(--studio-rule); }
.p-studio-modes { display: flex; gap: 4px; padding: 4px; background: var(--studio-rule); border-radius: 10px; }
.p-studio-modes button { border: 0; border-radius: 7px; color: var(--studio-text); background: transparent; padding: 10px 14px; min-height: 44px; font-size: 13px; transition: background .25s, box-shadow .25s; }
.p-studio-modes button.active { background: var(--studio-surface); box-shadow: 0 3px 10px #10253812; }
.p-studio-modes span { font: 10px 'JetBrains Mono', monospace; opacity: .6; margin-left: 5px; }
.p-studio-icon { width: 44px; height: 44px; border: 1px solid var(--studio-rule); background: transparent; color: var(--studio-text); border-radius: 50%; font-size: 24px!important; }
.p-studio-photo { position: relative; height: 340px; display: flex; align-items: center; justify-content: center; overflow: hidden; isolation: isolate; background: radial-gradient(ellipse at var(--studio-x,50%) var(--studio-y,50%), var(--studio-glow), transparent 75%); }
.p-studio-grid { position: absolute; inset: 0; z-index: -1; opacity: .6; background-image: linear-gradient(var(--studio-rule) 1px, transparent 1px), linear-gradient(90deg,var(--studio-rule) 1px,transparent 1px); background-size: 48px 48px; mask-image: linear-gradient(transparent 20%,#000); }
.p-studio-watermark { position: absolute; z-index: -1; font-size: 150px; font-weight: 800; letter-spacing: -.08em; color: var(--studio-text); opacity: .045; user-select: none; }
.p-studio-object { max-width: 78%; max-height: 72%; object-fit: contain; transition: transform .35s ease; filter: drop-shadow(0 22px 15px #10253825); will-change: transform; }
.p-studio-coordinate { position: absolute; left: 20px; top: 20px; font: 10px 'JetBrains Mono', monospace; letter-spacing: .08em; opacity: .6; }
.p-studio-tools { position: absolute; bottom: 18px; display: flex; align-items: center; gap: 3px; background: var(--studio-surface); border: 1px solid var(--studio-rule); padding: 4px; border-radius: 12px; box-shadow: 0 8px 28px #10253815; }
.p-studio-tools button { border: 0; background: transparent; color: var(--studio-text); min-width: 44px; height: 44px; font-size: 22px!important; border-radius: 8px; }
.p-studio-tools button:hover { background: var(--studio-rule); }
.p-studio-tools span { min-width: 50px; font: 11px 'JetBrains Mono', monospace; text-align: center; }
.p-studio-empty { padding: 45px; text-align: center; max-width: 380px; }
.p-studio-empty > span { font-size: 60px; display: block; opacity: .4; }
.p-studio-empty strong { display: block; font-size: 20px; }
.p-studio-empty p { font-size: 14px; opacity: .7; margin-top: 12px; }
.p-studio-bottom { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; padding: 16px 20px; border-top: 1px solid var(--studio-rule); gap: 14px; }
.p-studio-thumbs { display: flex; gap: 8px; max-width: 100%; overflow: auto; }
.p-studio-thumbs button { width: 56px; height: 56px; flex-shrink: 0; padding: 6px; background: #fff; border: 1px solid transparent; border-radius: 8px; transition: border-color .2s, opacity .2s; opacity: .6; }
.p-studio-thumbs button.active { border-color: var(--p-brand); opacity: 1; }
.p-studio-thumbs img { width: 100%; height: 100%; object-fit: contain; }
.p-studio-caption { font-size: 11px; opacity: .65; max-width: 220px; }
.p-studio-shortcuts { display: grid; grid-template-columns: 1fr; border-top: 1px solid var(--studio-rule); }
.p-studio-shortcuts button { display: flex; align-items: center; gap: 10px; min-height: 58px; text-align: left; border: 0; border-bottom: 1px solid var(--studio-rule); background: transparent; color: var(--studio-text); padding: 16px 20px; font-size: 13px; }
.p-studio-shortcuts button:hover { background: var(--studio-rule); }
.p-studio-shortcuts span { font: 10px 'JetBrains Mono', monospace; opacity: .4; }
.p-studio.is-expanded { position: fixed!important; inset: 12px; z-index: 1000; overflow: auto; }
.p-studio.is-expanded .p-studio-photo { height: calc(100dvh - 260px); }
.precision-product .p-studio-model .viewer-3d-wrap { margin: 0; border: 0; border-radius: 0; }
.precision-product .p-studio-model select { margin: 12px; width: calc(100% - 24px); }
.precision-product .p-studio-model .viewer-3d-ctrl button { min-width: 44px; min-height: 44px; border-radius: 8px; }
.precision-product .p-product-console { background: #102538; color: #eff5fa; padding: 24px; border-radius: 18px; box-shadow: 0 18px 50px #10253820; }
.p-console-heading { display: flex; justify-content: space-between; align-items: center; margin-bottom: 20px; }
.p-console-heading .p-eyebrow { color: #a7bdce; margin: 0; }
.p-console-dot { width: 7px; height: 7px; border-radius: 50%; background: var(--p-accent); box-shadow: 0 0 0 5px #ffffff08; }
.p-copy-sku { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; font-size: 12px; gap: 10px; padding-bottom: 15px; border-bottom: 1px solid #ffffff1a; }
.p-copy-sku b { font-family: 'JetBrains Mono',monospace; font-weight: 400; margin-left: 8px; }
.p-copy-sku button { min-height: 44px; background: #ffffff0c; border: 1px solid #ffffff15; border-radius: 6px; color: #d4e5f0; padding: 8px 12px; font-size: 11px!important; }
.precision-product .p-product-console .pc-meta { margin: 20px 0; }
.precision-product .p-product-console .pc-meta__row:first-child { display: none; }
.precision-product .p-product-console .pc-meta__label { color: #a7bdce; }
.precision-product .p-product-console .pc-meta a,.precision-product .p-product-console .pc-meta button { color: #c7deef; border-color: #ffffff30; }
.precision-product .p-product-console .p-key-specs .p-eyebrow { color: #91afc5; }
.precision-product .p-product-console .p-key-specs dt { color: #acc1d1; }
.precision-product .p-product-console .p-key-specs dl>div { border-color: #ffffff15; padding: 13px 0; }
.precision-product .p-product-console .p-key-specs>a { color: #b8daf4; }
.precision-product .p-product-console .pc-price-block { background: #fff; color: #192b38; padding: 22px; border: 0; border-radius: 12px; margin-bottom: 0; }
.precision-product .p-product-console .pc-price-block::before { display: none; }
.precision-product .p-product-console .btn-accent { border-radius: 8px; box-shadow: 0 8px 20px color-mix(in srgb,var(--p-accent) 20%,transparent); font-weight: 650; transition: transform .2s; }
.precision-product .p-product-console .variant-item { color: #192b38; border-radius: 8px; margin-top: 8px; }
.precision-product .p-section-nav { background: #fff; border: 1px solid #dde5eb; border-radius: 12px; padding: 0 20px; box-shadow: 0 8px 28px #10253808; }
.precision-product .p-compare-table thead th { background: #102538; color: #eff5fa; padding-top: 26px; padding-bottom: 26px; }
.precision-product .p-compare-table thead small,.precision-product .p-compare-table thead .p-sku { color: #b5cddd; }
.precision-product .p-table-scroll { border-radius: 14px; }
.precision-product .p-compare-table tbody tr:hover td,.precision-product .p-compare-table tbody tr:hover th { box-shadow: inset 0 0 0 999px #0054a607; }
.p-compare-search { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; margin-bottom: 18px; }
.p-compare-search input { border: 1px solid #ccd8e0; border-radius: 8px; padding: 12px 16px; min-height: 46px; min-width: 0; width: 100%; font-size: 16px; }
@media(min-width:760px) {
    .p-studio-photo { height: 490px; }
    .p-studio-watermark { font-size: 230px; }
    .p-studio-shortcuts { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .precision-product .pc-grid { grid-template-columns: minmax(0,1.35fr) minmax(350px,.85fr); }
    .precision-product .p-product-console { padding: 30px; }
    .p-compare-search input { width: 340px; }
}
@media(min-width:1100px) {
    .p-studio-photo { height: 540px; }
    .precision-product .p-product-heading h1 { font-size: 44px; }
}
@media(hover:hover) and (prefers-reduced-motion:no-preference) {
    [data-shop-template="precision"] .p-tile:hover { transform: translateY(-6px); box-shadow: 0 22px 44px #10253813; }
    [data-shop-template="precision"] .p-tile:hover .p-tile-image img { transform: scale(1.08) rotate(-2deg); }
    [data-shop-template="precision"] .p-category:hover { box-shadow: inset 0 3px var(--p-brand); }
    [data-shop-template="precision"] .p-category:hover .p-category-arrow { transform: translate(3px,-3px); }
    [data-shop-template="precision"] .p-button:hover { transform: translateY(-2px); }
    .precision-product .p-product-console .btn-accent:hover { transform: translateY(-2px); }
}
@media(prefers-reduced-motion:reduce) {
    [data-shop-template="precision"] *,[data-shop-template="precision"] *::before,[data-shop-template="precision"] *::after { transition: none!important; animation: none!important; scroll-behavior: auto!important; }
}
.precision-product .p-studio-model #btnAutoRotate { background: #fff!important; color: var(--p-brand); }
.precision-product .p-studio-model #btnAutoRotate[aria-pressed="true"] { background: var(--p-brand)!important; color: #fff; }
.p-mobile-menu { display: block; border-top: 1px solid #e1e7ed; }
.p-mobile-menu summary { display: flex; justify-content: space-between; align-items: center; min-height: 52px; cursor: pointer; font-size: 14px; color: var(--p-brand); list-style: none; }
.p-mobile-menu summary::-webkit-details-marker { display: none; }
.p-mobile-menu summary span { font-size: 24px; transition: transform .2s; }
.p-mobile-menu[open] summary span { transform: rotate(45deg); }
.p-mobile-menu nav { display: flex; flex-direction: column; padding: 0 0 16px; }
.p-mobile-menu nav a,.p-mobile-menu nav button { min-height: 48px; padding: 12px 0; text-align: left; color: var(--p-ink); border: 0; border-top: 1px solid #e1e7ed; background: transparent; font-size: 14px; }
[data-shop-template="precision"] .p-nav { display: none; }
@media(min-width:761px) {
    .p-mobile-menu { display: none; }
    [data-shop-template="precision"] .p-nav { display: flex; }
}
.precision-product .pc-grid > * { min-width: 0; max-width: 100%; }
.precision-product .p-product-console .pc-qty-row { flex-wrap: wrap; }
.precision-product .p-product-console .pc-qty-row > .btn { min-width: 140px; }
.p-studio-shortcuts button { min-width: 0; overflow-wrap: anywhere; }
@media(min-width:1100px) {
    .precision-product .p-product-console .pc-qty-row { flex-wrap: nowrap; }
}

.precision-product .p-product-console .pc-price-row { flex-wrap:wrap; align-items:center; }
.precision-product .p-product-console .pc-price-vals { flex:1 0 auto; max-width:100%; }
.precision-product .p-product-console .pc-price:not(.p-price-request) { white-space:nowrap; font-size:clamp(22px,2.6vw,36px); }
