/* Native AngarTheme: custom.css commerce tokens and atomx-page-product.css CTA/price scale. */
[data-axpf], .axpf-entry, .axpf-prepared { font:inherit; color:inherit; }
[data-axpf] *, .axpf-entry *, .axpf-prepared * { box-sizing:border-box; }
[data-axpf] [hidden] { display:none !important; }
[data-axpf] button, [data-axpf] input, [data-axpf] select { font:inherit; }
[data-axpf] button, [data-axpf] select, [data-axpf] input[type=number] { min-height:44px; }
[data-axpf] .btn-primary, .axpf-entry .btn-primary { background:var(--atomx-lower-ink,#111); border-color:var(--atomx-lower-ink,#111); color:#fff; font-weight:900; border-radius:5px; }
[data-axpf] .btn-primary:not(:disabled):hover, [data-axpf] .btn-primary:not(:disabled):focus-visible, .axpf-entry .btn-primary:hover, .axpf-entry .btn-primary:focus-visible { background:var(--atomx-lower-yellow,#f3c102); border-color:var(--atomx-lower-yellow,#f3c102); color:var(--atomx-lower-ink,#111); }
[data-axpf] button:focus-visible, [data-axpf] input:focus-visible, [data-axpf] select:focus-visible, [data-axpf] textarea:focus-visible, [data-axpf] summary:focus-visible, [data-axpf] .axpf-photo-grid:focus-visible, .axpf-entry a:focus-visible, .axpf-prepared a:focus-visible { outline:2px solid currentColor; outline-offset:3px; }
[data-axpf] .axpf-intro { margin:0 0 20px; }
[data-axpf] .axpf-steps { display:flex; gap:8px; padding:0 0 12px; margin:0 0 20px; list-style:none; overflow:auto; }
[data-axpf] .axpf-steps li { flex:1; min-width:max-content; }
[data-axpf] .axpf-steps button { width:100%; padding:8px 12px; border:1px solid var(--axpf-divider,#ddd); border-radius:var(--axpf-radius,0); color:inherit; background:var(--axpf-background,Canvas); text-align:left; }
[data-axpf] .axpf-steps button[aria-current=step] { border-color:currentColor; box-shadow:inset 0 0 0 1px currentColor; font-weight:700; }
[data-axpf] .axpf-layout { display:grid; grid-template-columns:minmax(0,1fr) minmax(260px,.65fr); gap:28px; align-items:start; }
[data-axpf] .axpf-stage h2, [data-axpf] .axpf-preview h2 { margin:0 0 8px; }
[data-axpf] .axpf-stage-note { margin:0 0 16px; font-size:.92em; }
[data-axpf] [data-axpf-stage] { max-height:min(600px,65dvh); overflow:auto; overscroll-behavior:contain; padding-right:4px; }
[data-axpf] .axpf-family { padding:16px 0; border-top:1px solid var(--axpf-divider,#ddd); }
[data-axpf] .axpf-family-heading { display:flex; justify-content:space-between; align-items:center; gap:12px; }
[data-axpf] .axpf-family-heading h3 { margin:0; }
[data-axpf] .axpf-family-heading small { display:block; font-size:.85em; margin-top:5px; }
[data-axpf] .axpf-lines { list-style:none; padding:0; margin:0; }
[data-axpf] .axpf-line { display:flex; align-items:center; gap:12px; padding:12px 0; border-bottom:1px solid var(--axpf-divider,#ddd); }
[data-axpf] .axpf-line-image { width:52px; height:64px; object-fit:contain; flex-shrink:0; }
[data-axpf] .axpf-component-photo { display:inline-flex; flex-direction:column; align-items:center; gap:4px; width:64px; flex-shrink:0; }
[data-axpf] .axpf-line .axpf-component-photo { width:52px; }
[data-axpf] .axpf-box-badge { display:inline-block; padding:3px 4px; background:var(--atomx-lower-ink,#111); color:#fff; font-size:9px; font-weight:900; line-height:1.25; text-align:center; border-radius:3px; }
[data-axpf] .axpf-component-photo .axpf-box-badge { width:100%; }
[data-axpf] .axpf-line .axpf-box-badge { display:none; }
[data-axpf] .axpf-line-copy { flex:1; min-width:0; }
[data-axpf] .axpf-line-copy strong, [data-axpf] .axpf-line-copy small { display:block; overflow-wrap:anywhere; }
[data-axpf] .axpf-line-copy small { font-size:.85em; margin-top:3px; }
[data-axpf] .axpf-line-actions { display:flex; align-items:center; gap:4px; flex-shrink:0; }
[data-axpf] .axpf-line-actions button { min-width:36px; padding:4px 8px; }
[data-axpf] .axpf-line-actions .axpf-remove { min-width:44px; }
[data-axpf] .axpf-navigation { display:flex; align-items:center; justify-content:space-between; gap:12px; margin:20px 0; }
[data-axpf] .axpf-preview { border:1px solid var(--axpf-divider,#ddd); border-radius:var(--axpf-radius,0); padding:16px; }
[data-axpf] .axpf-preview small { display:block; font-size:.85em; }
[data-axpf] .axpf-photo-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; margin:16px 0; max-height:min(480px,50dvh); overflow:auto; overscroll-behavior:contain; padding:2px; }
[data-axpf] .axpf-photo-grid:empty { display:none; }
[data-axpf] .axpf-photo-grid figure { position:relative; margin:0; min-width:0; padding:8px; border:1px solid var(--axpf-divider,#ddd); }
[data-axpf] .axpf-photo-grid img { display:block; width:100%; aspect-ratio:1; object-fit:contain; }
[data-axpf] .axpf-photo-frame { display:block; width:100%; aspect-ratio:1; }
[data-axpf] .axpf-photo-frame img { width:100%; height:100%; }
[data-axpf] .axpf-photo-grid figcaption { font-size:.72em; overflow-wrap:anywhere; line-height:1.35; margin-top:6px; }
[data-axpf] .axpf-photo-grid b { display:block; font-size:.8em; margin-top:4px; }
[data-axpf] .axpf-photo-grid .axpf-box-badge { margin-top:6px; font-size:10px; }
[data-axpf] .axpf-photo-empty { padding:28px 8px; text-align:center; margin:0; }
[data-axpf] .axpf-photo-notice { margin:8px 0; font-size:.8em; }
[data-axpf] .axpf-summary { border-top:1px solid var(--axpf-divider,#ddd); padding-top:12px; }
[data-axpf] .axpf-price { min-height:84px; margin:8px 0; font-variant-numeric:tabular-nums; }
[data-axpf] .axpf-price .current-price { margin:6px 0; line-height:1.2; }
[data-axpf] .axpf-price .current-price .price { color:var(--atomx-lower-ink,#111); font-size:24px; font-weight:950; line-height:1; }
[data-axpf] .axpf-price .current-price-vat { color:var(--atomx-lower-ink,#111); font-size:15px; font-weight:900; line-height:1.2; margin:6px 0; }
[data-axpf] .axpf-price .current-price-vat .price { font-weight:900; }
[data-axpf] .axpf-price .vat-excl-label, [data-axpf] .axpf-price .current-price-vat > span:not(.price) { font-size:11px; font-weight:700; line-height:1.3; }
[data-axpf] .axpf-status { margin:12px 0; overflow-wrap:anywhere; }
[data-axpf] .axpf-status[role=alert] { font-weight:700; }
[data-axpf] .axpf-issues { padding-left:20px; }
[data-axpf] .axpf-quantity { display:flex; align-items:center; gap:12px; margin:12px 0; }
[data-axpf] .axpf-quantity input { width:76px; }
[data-axpf] [data-axpf-add], [data-axpf] [data-axpf-recover] { width:100%; margin-top:8px; }
[data-axpf] .axpf-mobile-summary, .axpf-mobile-summary-space { display:none; }
[data-axpf] .axpf-share { margin-top:16px; border-top:1px solid var(--axpf-divider,#ddd); }
[data-axpf] .axpf-share > summary { min-height:44px; padding:12px 0; font-weight:700; cursor:pointer; }
[data-axpf] .axpf-share-actions { display:flex; flex-wrap:wrap; gap:8px; }
[data-axpf] .axpf-share-actions .btn { display:inline-flex; align-items:center; justify-content:center; flex:1 1 140px; min-width:0; max-width:100%; min-height:44px; padding:8px 10px; font-size:12px; line-height:1.3; text-transform:none; white-space:normal; overflow-wrap:anywhere; }
[data-axpf] .axpf-share-status { margin:10px 0; font-size:.85em; overflow-wrap:anywhere; }
[data-axpf] .axpf-share-status:empty { display:none; }
[data-axpf] .axpf-share-manual { margin-top:12px; }
[data-axpf] .axpf-share-manual label { display:block; margin-bottom:6px; }
[data-axpf] .axpf-share-manual textarea { display:block; width:100%; max-width:100%; min-height:104px; margin-bottom:8px; font:inherit; resize:vertical; overflow-wrap:anywhere; }
[data-axpf]:has(dialog[open]) .axpf-mobile-summary { display:none; }
[data-axpf] .axpf-review-list { max-height:min(440px,55dvh); overflow:auto; overscroll-behavior:contain; padding-right:4px; }
[data-axpf] .axpf-dialog { position:fixed; inset:0; margin:auto; width:min(580px,calc(100% - 24px)); max-width:none; max-height:calc(100vh - 24px); max-height:calc(100dvh - 24px); padding:0; font:inherit; border:1px solid var(--axpf-divider,#ddd); border-radius:var(--axpf-radius,0); background:var(--axpf-background,Canvas); color:inherit; overflow:hidden; }
[data-axpf] .axpf-dialog[open] { display:flex; flex-direction:column; }
[data-axpf] .axpf-dialog::backdrop { background:rgb(0 0 0 / .38); }
[data-axpf] .axpf-dialog-header { display:flex; justify-content:space-between; align-items:center; gap:12px; padding:16px; border-bottom:1px solid var(--axpf-divider,#ddd); flex-shrink:0; }
[data-axpf] .axpf-dialog-header h2 { margin:0; }
[data-axpf] .axpf-dialog-products { padding:12px 16px; flex-shrink:0; }
[data-axpf] .axpf-dialog-products label { display:block; margin:0; }
[data-axpf] .axpf-dialog-products select { display:block; width:100%; margin-top:4px; }
[data-axpf] .axpf-dialog-scroll { padding:0 16px; min-height:0; overflow:auto; overscroll-behavior:contain; }
[data-axpf] .axpf-options { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; margin:0; padding:0 0 16px; border:0; }
[data-axpf] .axpf-options legend { position:absolute; width:1px; height:1px; clip-path:inset(50%); overflow:hidden; }
[data-axpf] .axpf-option { display:grid; grid-template-columns:20px minmax(0,1fr); gap:8px; align-content:start; padding:12px; margin:0; border:1px solid var(--axpf-divider,#ddd); border-radius:var(--axpf-radius,0); cursor:pointer; }
[data-axpf] .axpf-option:has(input:checked) { border-color:currentColor; box-shadow:inset 0 0 0 1px currentColor; }
[data-axpf] .axpf-option input { width:18px; height:18px; margin:0; accent-color:currentColor; }
[data-axpf] .axpf-option img { width:64px; height:72px; object-fit:contain; grid-column:2; }
[data-axpf] .axpf-option > .axpf-component-photo { grid-column:2; }
[data-axpf] .axpf-option strong, [data-axpf] .axpf-option small { display:block; grid-column:1 / -1; overflow-wrap:anywhere; }
[data-axpf] .axpf-option small { font-size:.85em; }
[data-axpf] .axpf-color { width:28px; height:28px; border-radius:50%; border:1px solid var(--axpf-divider,#ddd); grid-column:2; }
[data-axpf] .axpf-option-unavailable { opacity:.55; cursor:not-allowed; }
[data-axpf] .axpf-dialog-footer { padding:16px; border-top:1px solid var(--axpf-divider,#ddd); flex-shrink:0; }
[data-axpf] .axpf-dialog-footer .btn { width:100%; }
.axpf-entry { margin:0 0 28px; }
.axpf-create-tile:not([data-axpf-in-list]) { max-width:360px; }
.axpf-create-tile .product-thumbnail img { width:100%; height:auto; object-fit:contain; }
.axpf-create-tile [data-axpf-create-cta] { display:inline-flex; align-items:center; justify-content:center; width:100%; min-height:44px; padding:10px 11px; font-size:12px; line-height:1.15; text-transform:none; white-space:normal; }
.axpf-create-tile .axpf-tile-prepared { clear:both; padding:0 12px 12px; font-size:.85em; }
.axpf-create-tile .axpf-tile-prepared > summary { min-height:36px; cursor:pointer; padding:8px 0; }
.axpf-create-tile .axpf-tile-prepared ul { margin:0; padding:0 0 0 16px; }
.axpf-create-tile .axpf-tile-prepared li { padding:4px 0; }
.axpf-create-tile .axpf-tile-prepared a { color:inherit; }
.axpf-entry-main { display:flex; align-items:center; justify-content:space-between; gap:24px; padding:24px; border:1px solid #ddd; margin-bottom:24px; }
.axpf-entry-main h2 { margin:0 0 8px; }
.axpf-entry-main p { margin:0; }
.axpf-entry-main .btn { flex-shrink:0; }
.axpf-prepared { margin-top:32px; }
.axpf-prepared-list { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; }
.axpf-prepared-card { display:flex; align-items:center; gap:12px; color:inherit; border:1px solid #ddd; padding:12px; font-weight:700; }
.axpf-prepared-card img { width:72px; height:72px; object-fit:contain; flex-shrink:0; }
.axpf-prepared-card span { overflow-wrap:anywhere; }
@media (max-width:991px) {
  [data-axpf] .axpf-layout { grid-template-columns:minmax(0,1fr); gap:20px; }
  [data-axpf] .axpf-photo-grid { grid-template-columns:repeat(4,minmax(0,1fr)); }
  [data-axpf] .axpf-mobile-summary { position:fixed; inset:auto 0 0; z-index:90; display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:12px; min-height:84px; padding:10px 12px; padding-bottom:calc(10px + env(safe-area-inset-bottom,0px)); border-top:1px solid var(--axpf-divider,#ddd); background:var(--axpf-background,#fff); color:var(--atomx-lower-ink,#111); }
  [data-axpf] .axpf-mobile-price { min-width:0; font-size:13px; line-height:1.3; font-variant-numeric:tabular-nums; overflow-wrap:anywhere; }
  [data-axpf] .axpf-mobile-price > small { display:block; font-size:11px; line-height:1.2; }
  [data-axpf] .axpf-mobile-price .current-price { margin:3px 0; line-height:1.2; }
  [data-axpf] .axpf-mobile-price .current-price .price { font-size:18px; font-weight:950; }
  [data-axpf] .axpf-mobile-price .current-price-vat { margin:0; font-size:12px; font-weight:900; line-height:1.3; }
  [data-axpf] .axpf-mobile-price .vat-excl-label, [data-axpf] .axpf-mobile-price .current-price-vat > span:not(.price) { font-size:10px; font-weight:700; }
  [data-axpf] .axpf-mobile-summary > .btn { width:clamp(112px,36vw,150px); max-width:100%; min-height:44px; padding:10px 12px; font-size:12px; line-height:1.25; text-transform:none; white-space:normal; }
  .axpf-mobile-summary-space { display:block; height:calc(104px + env(safe-area-inset-bottom,0px)); }
  .axpf-prepared-list { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:575px) {
  [data-axpf] .axpf-steps { gap:5px; }
  [data-axpf] .axpf-steps button { padding:8px; font-size:.85em; }
  [data-axpf] .axpf-family-heading { align-items:flex-start; }
  [data-axpf] .axpf-family-heading .btn { font-size:.85em; padding:8px 10px; }
  [data-axpf] .axpf-line { flex-wrap:wrap; gap:8px; }
  [data-axpf] .axpf-line-copy { flex-basis:calc(100% - 64px); }
  [data-axpf] .axpf-line-actions { margin-left:60px; }
  [data-axpf] .axpf-photo-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .axpf-entry-main { padding:18px; flex-direction:column; align-items:flex-start; gap:16px; }
  .axpf-prepared-list { display:flex; overflow:auto; padding-bottom:8px; }
  .axpf-prepared-card { flex:0 0 240px; }
}
