/* Shared rich-text editor and public formatted-content presentation. */
.admin-description__toolbar { display: flex; flex-wrap: wrap; gap: 7px; align-items: center; padding: 8px; border: 1px solid var(--line); border-bottom: 0; border-radius: 5px 5px 0 0; background: var(--paper-deep); }
.admin-description__toolbar-group { display: inline-flex; gap: 5px; align-items: center; padding-right: 7px; border-right: 1px solid var(--line); }
.admin-description__toolbar-group:last-child { padding-right: 0; border-right: 0; }
.admin-description__toolbar button, .admin-description__toolbar select { min-height: 32px; border: 1px solid var(--line); border-radius: 4px; background: var(--white); color: var(--ink); font: inherit; font-size: .74rem; font-weight: 760; }
.admin-description__toolbar button { min-width: 35px; padding: 0 8px; cursor: pointer; }
.admin-description__toolbar select { min-width: 110px; padding: 0 27px 0 9px; cursor: pointer; }
.admin-description__toolbar button:hover:not(:disabled), .admin-description__toolbar button:focus-visible, .admin-description__toolbar select:hover, .admin-description__toolbar select:focus-visible { border-color: var(--teal-deep); color: var(--teal-deep); outline: none; }
.admin-description__toolbar button.is-active { border-color: var(--teal-deep); background: var(--teal-deep); color: var(--white); }
.admin-description__toolbar button:disabled { cursor: not-allowed; opacity: .48; }
.admin-description__toolbar button[data-description-icon-button] { display: inline-grid; width: 32px; min-width: 32px; height: 32px; min-height: 32px; padding: 0; place-items: center; }.admin-description__toolbar-icon { display: block; width: 17px; height: 17px; overflow: visible; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.75; }
.admin-description__surface { border-color: var(--line); background: var(--white); }
.admin-description__surface h2, .admin-description__surface h3 { margin: 1.1em 0 .5em; color: var(--ink); line-height: 1.25; }
.admin-description__surface h2 { font-size: 1.35rem; }.admin-description__surface h3 { font-size: 1.1rem; }
.admin-description__surface blockquote { margin: 0 0 12px; padding: 7px 0 7px 13px; border-left: 3px solid var(--teal-deep); color: var(--slate); }
.admin-description__surface hr { height: 1px; margin: 16px 0; border: 0; background: var(--line); }
.admin-description__surface a { color: var(--teal-deep); text-decoration: underline; text-underline-offset: 3px; }
.theme-logo-dark .admin-description__toolbar, .theme-logo-dark .admin-description__surface { border-color: var(--line); background: var(--theme-surface-input); color: var(--ink); }
.theme-logo-dark .admin-description__toolbar-group { border-color: var(--line); }
.theme-logo-dark .admin-description__toolbar button, .theme-logo-dark .admin-description__toolbar select { border-color: var(--line); background: var(--theme-surface); color: var(--ink); }
.theme-logo-dark .admin-description__toolbar button:hover:not(:disabled), .theme-logo-dark .admin-description__toolbar button:focus-visible, .theme-logo-dark .admin-description__toolbar select:hover, .theme-logo-dark .admin-description__toolbar select:focus-visible { border-color: var(--teal); color: var(--teal); }
.theme-logo-dark .admin-description__toolbar button.is-active { border-color: var(--teal-deep); background: var(--teal-deep); color: var(--theme-header-bg); }
.description-content h2, .product-detail__description h2, .custom-page-content .description-content h2 { margin: 1.55em 0 .55em; color: var(--ink); font-size: 1.42em; line-height: 1.25; }
.description-content h3, .product-detail__description h3, .custom-page-content .description-content h3 { margin: 1.4em 0 .5em; color: var(--ink); font-size: 1.16em; line-height: 1.3; }
.description-content blockquote, .product-detail__description blockquote { margin: 1.1em 0; padding: 4px 0 4px 15px; border-left: 3px solid var(--teal-deep); color: var(--slate); font-style: italic; }
.description-content hr, .product-detail__description hr { height: 1px; margin: 1.5em 0; border: 0; background: var(--line); }
.description-content a, .product-detail__description a { color: var(--teal-deep); font-weight: 760; text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; }
.description-content a:hover, .product-detail__description a:hover { color: var(--teal); }
.admin-description__image-picker { margin: 0; padding: 12px; border: 1px solid var(--line); border-top: 0; background: var(--paper-deep); }
.admin-description__image-picker-heading { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 10px; color: var(--ink); }
.admin-description__image-picker-heading strong { font-size: .82rem; }
.admin-description__image-picker-heading button { width: 30px; min-width: 30px; height: 30px; padding: 0; border: 1px solid var(--line); border-radius: 4px; background: var(--white); color: var(--ink); font: inherit; font-size: 1.25rem; line-height: 1; cursor: pointer; }
.admin-description__image-picker-options { display: grid; grid-template-columns: 110px 120px minmax(180px, 1fr); gap: 9px; align-items: end; margin-bottom: 11px; }
.admin-description__image-picker-options label { display: grid; gap: 4px; color: var(--ink); font-size: .72rem; font-weight: 760; }
.admin-description__image-picker-options select, .admin-description__image-picker-options input { min-height: 34px; border: 1px solid var(--line); border-radius: 4px; background: var(--white); color: var(--ink); font: inherit; font-size: .78rem; }
.admin-description__image-picker-options select { padding: 0 24px 0 8px; }.admin-description__image-picker-options input { padding: 0 8px; }
.admin-description__image-picker-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(92px, 1fr)); gap: 8px; max-height: 270px; overflow-y: auto; padding-right: 2px; }
.admin-description__image-picker-grid button { display: grid; gap: 5px; width: 100%; min-width: 0; padding: 5px; border: 1px solid var(--line); border-radius: 5px; background: var(--theme-surface); color: var(--ink); font: inherit; font-size: .65rem; font-weight: 760; text-align: left; cursor: pointer; }
.admin-description__image-picker-grid button:hover, .admin-description__image-picker-grid button:focus-visible { border-color: var(--teal-deep); outline: none; }
.admin-description__image-picker-grid img { display: block; width: 100%; aspect-ratio: 4 / 3; border-radius: 3px; object-fit: cover; }.admin-description__image-picker-grid span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.admin-description__image-picker > p { margin: 0; color: var(--slate); font-size: .8rem; }
.theme-logo-dark .admin-description__image-picker { border-color: var(--line); background: var(--theme-surface-input); }.theme-logo-dark .admin-description__image-picker-heading button, .theme-logo-dark .admin-description__image-picker-options select, .theme-logo-dark .admin-description__image-picker-options input, .theme-logo-dark .admin-description__image-picker-grid button { border-color: var(--line); background: var(--theme-surface); color: var(--ink); }
.admin-description__media-picker .admin-description__image-picker-options { grid-template-columns: 110px 120px minmax(180px, 1fr); }.admin-description__media-picker .admin-description__image-picker-options > p { align-self: end; margin: 0; color: var(--slate); font-size: .74rem; font-weight: 600; line-height: 1.35; }.admin-description__media-option { grid-template-columns: auto minmax(0, 1fr); align-items: center; }.admin-description__media-option b { display: grid; grid-row: span 2; place-items: center; width: 34px; aspect-ratio: 1; border-radius: 4px; background: var(--teal-deep); color: var(--white); font-size: .68rem; }.admin-description__media-option small { overflow: hidden; color: var(--slate); font-size: .58rem; font-weight: 650; text-overflow: ellipsis; white-space: nowrap; }
.rich-image { box-sizing: border-box; display: block; clear: both; width: min(46%, 360px); max-width: 100%; margin: 1rem auto; padding: 7px; overflow: hidden; border: 1px solid var(--line); border-radius: 6px; background: var(--paper-deep); box-shadow: 0 8px 20px rgba(0, 0, 0, .08); }
.rich-image img { display: block; width: 100%; max-height: 520px; margin: 0; border-radius: 3px; object-fit: contain; }.rich-image figcaption { margin: 7px 2px 1px; color: var(--slate); font-size: .76rem; line-height: 1.4; }
.rich-image--small { width: min(31%, 235px); }.rich-image--medium { width: min(46%, 360px); }.rich-image--large { width: min(70%, 560px); }.rich-image--full { width: min(100%, 760px); }
.rich-image--align-left { clear: left; float: left; margin: .25rem 1.25rem .75rem 0; }.rich-image--align-right { clear: right; float: right; margin: .25rem 0 .75rem 1.25rem; }.rich-image--align-centre { clear: both; margin-right: auto; margin-left: auto; }
.description-content::after, .product-detail__description::after, .custom-page-content article::after { display: table; clear: both; content: ''; }
.theme-logo-dark .rich-image { border-color: var(--line); background: var(--theme-surface); }
.rich-media { box-sizing: border-box; display: block; clear: both; width: min(46%, 420px); max-width: 100%; margin: 1rem auto; padding: 7px; overflow: hidden; border: 1px solid var(--line); border-radius: 6px; background: var(--paper-deep); box-shadow: 0 8px 20px rgba(0, 0, 0, .08); }.rich-media__stage, .rich-media__viewer { width: 100%; aspect-ratio: 4 / 3; }.rich-media .stl-viewer, .rich-media .turntable-viewer { min-height: 0; }.rich-media--small { width: min(34%, 265px); }.rich-media--medium { width: min(46%, 420px); }.rich-media--large { width: min(70%, 700px); }.rich-media--full { width: min(100%, 960px); }.rich-media--align-left { clear: left; float: left; margin: .25rem 1.25rem .75rem 0; }.rich-media--align-right { clear: right; float: right; margin: .25rem 0 .75rem 1.25rem; }.rich-media--align-centre { clear: both; margin-right: auto; margin-left: auto; }.theme-logo-dark .rich-media { border-color: var(--line); background: var(--theme-surface); }
.rich-media--pdf { width: min(46%, 420px); }.rich-media--pdf.rich-media--small { width: min(34%, 265px); }.rich-media--pdf.rich-media--medium { width: min(46%, 420px); }.rich-media--pdf.rich-media--large { width: min(70%, 700px); }.rich-media--pdf.rich-media--full { width: min(100%, 960px); }.rich-media__stage--pdf { position: relative; aspect-ratio: 3 / 4; min-height: 290px; overflow: hidden; background: #22282b; }.rich-media__embedded-reader { position: absolute; inset: 0; width: 100%; height: 100%; }.rich-media--pdf .protected-pdf-reader { height: 100%; min-height: 0; }.rich-media--pdf .protected-pdf-reader__toolbar { padding: .34rem .45rem; }.rich-media--pdf .protected-pdf-reader__toolbar button { min-height: 25px; min-width: 25px; }.rich-media--pdf .protected-pdf-reader__canvas-scroll { padding: .4rem; }.rich-media--pdf .protected-pdf-reader__page-display { padding: .35rem; }.rich-media__stage--video { position: relative; aspect-ratio: 16 / 9; background: #10171b; }.rich-media__embedded-video { display: block; width: 100%; height: 100%; background: #10171b; object-fit: contain; }.rich-media__view-larger { position: absolute; z-index: 3; right: .5rem; bottom: .5rem; min-height: 30px; padding: 5px 8px; border: 1px solid color-mix(in srgb, var(--orange) 65%, var(--line)); border-radius: 5px; background: color-mix(in srgb, var(--ink-soft) 82%, transparent); color: var(--white); font: 800 .67rem/1 var(--font-body); cursor: pointer; backdrop-filter: blur(7px); }.rich-media__view-larger:hover, .rich-media__view-larger:focus-visible { border-color: var(--orange); background: var(--orange); color: var(--ink-soft); outline: none; }.rich-media__caption { margin: .5rem .25rem .1rem; color: var(--slate); font-size: .78rem; line-height: 1.4; }
.admin-description__surface .rich-media { display: grid; min-height: 118px; place-items: center; border-style: dashed; background: var(--theme-surface); box-shadow: none; cursor: default; }.admin-description__surface .rich-media::before { color: var(--teal-deep); font-size: .78rem; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; content: 'Interactive media'; }.admin-description__surface .rich-media[data-rich-media-type="model"]::before { content: '3D model viewer'; }.admin-description__surface .rich-media[data-rich-media-type="turntable"]::before { content: '360° turntable'; }
.rich-media-dialog { width: min(1200px, calc(100vw - 32px)); max-width: none; max-height: none; padding: 0; overflow: visible; border: 0; background: transparent; }.rich-media-dialog::backdrop { background: rgba(0, 0, 0, .78); }.rich-media-dialog__panel { position: relative; width: 100%; padding: 12px; border: 1px solid var(--line); border-radius: 8px; background: var(--paper-deep); box-shadow: 0 22px 60px rgba(0, 0, 0, .45); }.rich-media-dialog__content > .rich-media__viewer { width: 100%; aspect-ratio: 4 / 3; }.rich-media-dialog__close { position: absolute; z-index: 2; top: 20px; right: 20px; display: grid; place-items: center; width: 34px; height: 34px; padding: 0; border: 1px solid var(--line); border-radius: 50%; background: var(--theme-surface); color: var(--ink); font: inherit; font-size: 1.35rem; line-height: 1; cursor: pointer; }.rich-media-dialog__close:hover, .rich-media-dialog__close:focus-visible { border-color: var(--teal-deep); color: var(--teal-deep); outline: none; }
.custom-page-gallery .product-gallery { width: min(100%, 960px); margin: 0 auto; }.admin-page-gallery-editor__controls { display: flex; flex-wrap: wrap; align-items: end; gap: 12px 20px; margin: 12px 0; }.admin-page-gallery-editor__controls label { display: grid; gap: 5px; min-width: 190px; color: var(--ink); font-size: .78rem; font-weight: 760; }.admin-page-gallery-editor__controls select { min-height: 36px; border: 1px solid var(--line); border-radius: 4px; background: var(--white); color: var(--ink); font: inherit; }.admin-page-gallery-editor__controls > span { max-width: 480px; color: var(--slate); font-size: .78rem; }.admin-page-gallery-editor__media { margin-top: 20px; padding-top: 18px; border-top: 1px solid var(--line); }
.custom-page-content--standard .description-content { max-width: 820px; margin: 0 auto; }.custom-page-content--wide .container { width: min(calc(100% - 48px), 1240px); }.custom-page-content--wide .description-content { max-width: 1120px; margin: 0 auto; }.custom-page-content--wide .rich-image--full, .custom-page-content--wide .rich-media--full { width: min(100%, 1080px); }
.page-layout-editor { display: grid; gap: 0; }.page-layout-editor__heading { display: flex; justify-content: space-between; gap: 22px; align-items: end; margin-bottom: 10px; }.page-layout-editor__heading > div { max-width: 730px; }.page-layout-editor__heading .admin-description__label { display: block; }.page-layout-editor__heading p { margin: 6px 0 0; color: var(--slate); font-size: .78rem; line-height: 1.5; }.page-layout-editor__heading > label { display: grid; min-width: 186px; gap: 5px; color: var(--ink); font-size: .74rem; font-weight: 800; }.page-layout-editor__heading select, .page-layout-editor__inspector select, .page-layout-editor__inspector input, .page-layout-editor__picker select, .page-layout-editor__picker input { min-height: 35px; border: 1px solid var(--line); border-radius: 4px; background: var(--white); color: var(--ink); font: inherit; font-size: .78rem; }.page-layout-editor__heading select, .page-layout-editor__inspector select, .page-layout-editor__picker select { padding: 0 25px 0 8px; }.page-layout-editor__inspector input, .page-layout-editor__picker input { padding: 0 8px; }.page-layout-editor__toolbar { display: flex; flex-wrap: wrap; gap: 7px; align-items: center; padding: 8px; border: 1px solid var(--line); border-radius: 6px 6px 0 0; background: var(--paper-deep); }.page-layout-editor__tool-group { display: inline-flex; align-items: center; gap: 5px; padding-right: 7px; border-right: 1px solid var(--line); }.page-layout-editor__tool-group:last-child { padding-right: 0; border-right: 0; }.page-layout-editor__toolbar button, .page-layout-editor__toolbar select { min-height: 32px; border: 1px solid var(--line); border-radius: 4px; background: var(--white); color: var(--ink); font: inherit; font-size: .74rem; font-weight: 760; }.page-layout-editor__toolbar button { min-width: 35px; padding: 0 8px; cursor: pointer; }.page-layout-editor__toolbar select { min-width: 110px; padding: 0 25px 0 8px; cursor: pointer; }.page-layout-editor__toolbar button:hover, .page-layout-editor__toolbar button:focus-visible, .page-layout-editor__toolbar select:hover, .page-layout-editor__toolbar select:focus-visible { border-color: var(--teal-deep); color: var(--teal-deep); outline: none; }.page-layout-editor__toolbar button.is-active { border-color: var(--teal-deep); background: var(--teal-deep); color: var(--white); }.page-layout-editor__canvas { min-height: 520px; padding: 22px; resize: vertical; overflow: auto; border: 1px solid var(--line); border-top: 0; background: var(--white); color: var(--ink); font-size: .96rem; line-height: 1.68; outline: none; }.page-layout-editor__canvas:focus { box-shadow: inset 0 0 0 2px color-mix(in srgb, var(--teal-deep) 18%, transparent); }.page-layout-editor__canvas > :first-child { margin-top: 0; }.page-layout-editor__canvas > :last-child { margin-bottom: 0; }.page-layout-editor__canvas p { margin: 0 0 1.05rem; }.page-layout-editor__canvas h2, .page-layout-editor__canvas h3 { color: var(--ink); line-height: 1.28; }.page-layout-editor__canvas h2 { margin: 1.4em 0 .55em; font-size: 1.48em; }.page-layout-editor__canvas h3 { margin: 1.3em 0 .5em; font-size: 1.17em; }.page-layout-editor__canvas blockquote { margin: 1.1em 0; padding: 5px 0 5px 15px; border-left: 3px solid var(--teal-deep); color: var(--slate); }.page-layout-editor__canvas .rich-image, .page-layout-editor__canvas .rich-media { position: relative; cursor: pointer; }.page-layout-editor__canvas .rich-image { min-height: 70px; }.page-layout-editor__canvas .rich-image img { pointer-events: none; }.page-layout-editor__canvas [data-page-layout-block].is-selected { border-color: var(--teal-deep); box-shadow: 0 0 0 3px color-mix(in srgb, var(--teal-deep) 24%, transparent); }.page-layout-editor__canvas [data-page-layout-block].is-dragging { opacity: .42; }.page-layout-editor__canvas [data-page-layout-block].is-drop-target { outline: 3px dashed var(--teal-deep); outline-offset: 5px; }.page-layout-editor__block-controls { position: absolute; z-index: 3; top: 7px; right: 7px; display: flex; gap: 4px; padding: 4px; border: 1px solid var(--line); border-radius: 5px; background: var(--paper-deep); box-shadow: 0 4px 14px rgba(0,0,0,.18); opacity: 0; transition: opacity .15s ease; }.page-layout-editor__canvas [data-page-layout-block]:hover .page-layout-editor__block-controls, .page-layout-editor__canvas [data-page-layout-block].is-selected .page-layout-editor__block-controls { opacity: 1; }.page-layout-editor__block-controls button { display: grid; width: 24px; height: 24px; padding: 0; border: 1px solid var(--line); border-radius: 3px; background: var(--white); color: var(--ink); font: inherit; line-height: 1; place-items: center; cursor: pointer; }.page-layout-editor__block-controls button:hover, .page-layout-editor__block-controls button:focus-visible { border-color: var(--teal-deep); color: var(--teal-deep); outline: none; }.page-layout-editor__drag-handle { display: grid; width: 19px; color: var(--slate); font-size: 1rem; line-height: 1; place-items: center; cursor: grab; }.page-layout-editor__media-preview { display: grid; min-height: 150px; padding: 18px; border-radius: 4px; background: linear-gradient(135deg, color-mix(in srgb, var(--teal-deep) 16%, var(--theme-surface)), var(--theme-surface)); color: var(--ink); place-content: center; text-align: center; }.page-layout-editor__media-preview b { display: grid; width: 48px; height: 48px; margin: 0 auto 10px; border-radius: 50%; background: var(--teal-deep); color: var(--white); font-size: .85rem; place-items: center; }.page-layout-editor__media-preview span { font-weight: 850; }.page-layout-editor__media-preview small { margin-top: 3px; color: var(--slate); font-size: .69rem; }.page-layout-editor__inspector { display: grid; grid-template-columns: 140px 150px minmax(170px, 1fr) minmax(170px, 1fr) auto; gap: 10px; align-items: end; padding: 12px; border: 1px solid var(--line); border-top: 0; background: var(--paper-deep); }.page-layout-editor__inspector-heading { align-self: center; }.page-layout-editor__inspector-heading strong { display: block; color: var(--ink); font-size: .78rem; }.page-layout-editor__inspector-heading span, .page-layout-editor__inspector > p { display: block; margin: 3px 0 0; color: var(--slate); font-size: .69rem; line-height: 1.35; }.page-layout-editor__inspector label { display: grid; gap: 4px; color: var(--ink); font-size: .7rem; font-weight: 780; }.page-layout-editor__inspector button { min-height: 35px; padding: 0 10px; border: 1px solid #b94435; border-radius: 4px; background: transparent; color: #b94435; font: inherit; font-size: .74rem; font-weight: 800; cursor: pointer; }.page-layout-editor__picker { padding: 12px; border: 1px solid var(--line); border-top: 0; background: var(--paper-deep); }.page-layout-editor__picker-heading { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin-bottom: 10px; color: var(--ink); }.page-layout-editor__picker-heading strong { font-size: .8rem; }.page-layout-editor__picker-heading button { display: grid; width: 29px; height: 29px; padding: 0; border: 1px solid var(--line); border-radius: 4px; background: var(--white); color: var(--ink); font: inherit; font-size: 1.15rem; line-height: 1; place-items: center; cursor: pointer; }.page-layout-editor__picker-options { display: grid; grid-template-columns: 110px 130px minmax(190px, 1fr); gap: 10px; align-items: end; margin-bottom: 10px; }.page-layout-editor__picker-options label { display: grid; gap: 4px; color: var(--ink); font-size: .7rem; font-weight: 780; }.page-layout-editor__picker-options > p { margin: 0; color: var(--slate); font-size: .73rem; line-height: 1.4; }.page-layout-editor__picker-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(105px, 1fr)); gap: 8px; max-height: 270px; overflow-y: auto; }.page-layout-editor__picker-grid button { display: grid; gap: 5px; padding: 5px; border: 1px solid var(--line); border-radius: 5px; background: var(--theme-surface); color: var(--ink); font: inherit; font-size: .66rem; font-weight: 760; text-align: left; cursor: pointer; }.page-layout-editor__picker-grid button:hover, .page-layout-editor__picker-grid button:focus-visible { border-color: var(--teal-deep); outline: none; }.page-layout-editor__picker-grid img { display: block; width: 100%; aspect-ratio: 4 / 3; border-radius: 3px; object-fit: cover; }.page-layout-editor__picker-grid span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }.page-layout-editor__picker-grid .page-layout-editor__media-option { grid-template-columns: 34px minmax(0, 1fr); align-items: center; }.page-layout-editor__picker-grid .page-layout-editor__media-option b { display: grid; grid-row: span 2; width: 34px; aspect-ratio: 1; border-radius: 4px; background: var(--teal-deep); color: var(--white); font-size: .67rem; place-items: center; }.page-layout-editor__picker-grid .page-layout-editor__media-option small { overflow: hidden; color: var(--slate); font-size: .58rem; text-overflow: ellipsis; white-space: nowrap; }.page-layout-editor__picker > p { margin: 0; color: var(--slate); font-size: .78rem; }.theme-logo-dark .page-layout-editor__toolbar, .theme-logo-dark .page-layout-editor__canvas, .theme-logo-dark .page-layout-editor__inspector, .theme-logo-dark .page-layout-editor__picker { border-color: var(--line); background: var(--theme-surface-input); color: var(--ink); }.theme-logo-dark .page-layout-editor__toolbar button, .theme-logo-dark .page-layout-editor__toolbar select, .theme-logo-dark .page-layout-editor__heading select, .theme-logo-dark .page-layout-editor__inspector select, .theme-logo-dark .page-layout-editor__inspector input, .theme-logo-dark .page-layout-editor__picker select, .theme-logo-dark .page-layout-editor__picker input, .theme-logo-dark .page-layout-editor__picker-heading button, .theme-logo-dark .page-layout-editor__block-controls, .theme-logo-dark .page-layout-editor__block-controls button { border-color: var(--line); background: var(--theme-surface); color: var(--ink); }.theme-logo-dark .page-layout-editor__toolbar button:hover, .theme-logo-dark .page-layout-editor__toolbar button:focus-visible, .theme-logo-dark .page-layout-editor__toolbar select:hover, .theme-logo-dark .page-layout-editor__toolbar select:focus-visible { border-color: var(--teal); color: var(--teal); }
@media (max-width: 900px) { .page-layout-editor__heading { align-items: start; flex-direction: column; }.page-layout-editor__heading > label { width: min(100%, 280px); }.page-layout-editor__inspector { grid-template-columns: repeat(2, minmax(0, 1fr)); }.page-layout-editor__inspector-heading, .page-layout-editor__inspector > p { grid-column: 1 / -1; } }
@media (max-width: 620px) { .custom-page-content--wide .container { width: min(calc(100% - 32px), 1240px); }.page-layout-editor__canvas { min-height: 420px; padding: 16px; }.page-layout-editor__toolbar { gap: 5px; }.page-layout-editor__tool-group { gap: 4px; padding-right: 5px; }.page-layout-editor__toolbar button { min-width: 32px; padding: 0 7px; }.page-layout-editor__toolbar select { min-width: 94px; max-width: 118px; }.page-layout-editor__picker-options, .page-layout-editor__inspector { grid-template-columns: 1fr; }.page-layout-editor__inspector-heading, .page-layout-editor__inspector > p { grid-column: auto; }.page-layout-editor__picker-options > p { grid-column: auto; }.page-layout-editor__block-controls { opacity: 1; }.page-layout-editor__canvas .rich-image, .page-layout-editor__canvas .rich-media { float: none; clear: both; width: min(100%, 560px); margin: 1rem auto; } }
.page-layout-editor__canvas .rich-media { min-height: 0; padding: 7px; }.page-layout-editor__media-preview { width: 100%; min-height: 0; aspect-ratio: 4 / 3; }.page-layout-editor__tool-group[aria-label="Paragraph alignment"] button:nth-child(1) { text-align: left; }.page-layout-editor__tool-group[aria-label="Paragraph alignment"] button:nth-child(2) { text-align: center; }.page-layout-editor__tool-group[aria-label="Paragraph alignment"] button:nth-child(3) { text-align: right; }.rich-media-dialog [data-rich-media-expand], .rich-media-dialog .stl-viewer__expand, .rich-media-dialog .turntable-viewer__expand { display: none !important; }
.page-layout-editor__preview { padding: 28px 24px; border: 1px solid var(--line); border-top: 0; background: var(--paper); }.page-layout-editor__preview-container { width: 100%; margin: 0 auto; }.page-layout-editor__preview.custom-page-content--standard .page-layout-editor__preview-container { max-width: 820px; }.page-layout-editor__preview.custom-page-content--wide .page-layout-editor__preview-container { max-width: 1120px; }.page-layout-editor__canvas.description-content { min-height: 520px; padding: 0; resize: vertical; overflow: auto; border: 0; background: transparent; color: var(--ink); font-size: 1rem; line-height: 1.55; }.page-layout-editor__canvas.description-content:focus { box-shadow: inset 0 0 0 2px color-mix(in srgb, var(--teal-deep) 18%, transparent); }.page-layout-editor__canvas.description-content p { margin: 0 0 15px; }.page-layout-editor__canvas.description-content ul, .page-layout-editor__canvas.description-content ol { margin: 0 0 16px; padding-left: 24px; }.page-layout-editor__canvas.description-content li + li { margin-top: 5px; }.page-layout-editor__canvas.description-content h2 { margin: 1.55em 0 .55em; color: var(--ink); font-size: 1.42em; line-height: 1.25; }.page-layout-editor__canvas.description-content h3 { margin: 1.4em 0 .5em; color: var(--ink); font-size: 1.16em; line-height: 1.3; }.page-layout-editor__canvas.description-content blockquote { margin: 1.1em 0; padding: 4px 0 4px 15px; border-left: 3px solid var(--teal-deep); color: var(--slate); }.theme-logo-dark .page-layout-editor__preview { border-color: var(--line); background: var(--paper); }.theme-logo-dark .page-layout-editor__canvas.description-content { background: transparent; color: var(--ink); }@media (max-width: 620px) { .page-layout-editor__preview { padding: 22px 16px; }.page-layout-editor__canvas.description-content { min-height: 420px; } }
@media (max-width: 620px) { .admin-description__toolbar { gap: 5px; }.admin-description__toolbar-group { gap: 4px; padding-right: 5px; }.admin-description__toolbar button { min-width: 32px; padding: 0 7px; }.admin-description__toolbar select { min-width: 96px; max-width: 118px; }.admin-description__image-picker-options, .admin-description__media-picker .admin-description__image-picker-options { grid-template-columns: 1fr 1fr; }.admin-description__image-picker-alt, .admin-description__media-picker .admin-description__image-picker-options > p { grid-column: 1 / -1; }.rich-image, .rich-image--small, .rich-image--medium, .rich-image--large, .rich-image--full, .rich-media, .rich-media--small, .rich-media--medium, .rich-media--large, .rich-media--full { float: none; clear: both; width: min(100%, 560px); margin: 1rem auto; }.rich-media-dialog { width: calc(100vw - 18px); }.rich-media-dialog__panel { padding: 5px; }.rich-media-dialog__close { top: 12px; right: 12px; } }
.page-layout-editor--listing .page-layout-editor__preview-container { max-width: 470px; }.page-layout-editor.is-over-limit .page-layout-editor__preview { border-color: #b94435; }.page-layout-editor.is-over-limit .admin-description__meta { color: #b94435; }.theme-logo-dark .page-layout-editor.is-over-limit .page-layout-editor__preview { border-color: #d76a58; }.theme-logo-dark .page-layout-editor.is-over-limit .admin-description__meta { color: #ffd0c5; }

.page-layout-editor__preview-container { position: relative; }
.page-layout-editor__preview-container::before,
.page-layout-editor__preview-container::after {
    position: absolute;
    z-index: 4;
    top: 0;
    bottom: 0;
    width: 8px;
    border-left: 1px dashed color-mix(in srgb, var(--teal-deep) 66%, transparent);
    content: '';
    opacity: .78;
    pointer-events: none;
}
.page-layout-editor__preview-container::before { left: -12px; }
.page-layout-editor__preview-container::after { right: -12px; }
.page-layout-editor__preview:focus-within .page-layout-editor__preview-container::before,
.page-layout-editor__preview:focus-within .page-layout-editor__preview-container::after {
    border-color: var(--teal-deep);
    opacity: 1;
}

.page-layout-editor__picker-popover {
    position: relative;
    z-index: 6;
    width: 100%;
    border: 1px solid var(--line);
    border-top: 0;
    border-radius: 0 0 7px 7px;
    background: var(--paper-deep);
    box-shadow: 0 14px 28px rgba(0, 0, 0, .16);
}
.page-layout-editor__picker-popover[hidden] {
    display: none !important;
}
.page-layout-editor__picker-popover .page-layout-editor__picker {
    max-height: min(430px, calc(100vh - 150px));
    overflow: auto;
    border: 0;
    background: transparent;
}
.theme-logo-dark .page-layout-editor__picker-popover {
    border-color: var(--line);
    background: var(--theme-surface-input);
    box-shadow: 0 16px 32px rgba(0, 0, 0, .34);
}
@media (max-width: 620px) {
    .page-layout-editor__picker-popover .page-layout-editor__picker {
        max-height: min(470px, calc(100vh - 110px));
    }
}

.admin-page-editor__tags {
    display: grid;
    gap: 5px;
    margin-top: 14px;
    color: var(--ink);
    font-size: .78rem;
    font-weight: 800;
}
.admin-page-editor__tags span {
    color: var(--slate);
    font-size: .72rem;
    font-weight: 650;
}
.admin-page-editor__tags input {
    min-height: 40px;
    border: 1px solid var(--line);
    border-radius: 4px;
    background: var(--white);
    color: var(--ink);
    font: inherit;
    font-weight: 650;
    padding: 0 10px;
}
.theme-logo-dark .admin-page-editor__tags input {
    border-color: var(--line);
    background: var(--theme-surface-input);
    color: var(--ink);
}
.custom-page-tags {
    padding: 0 0 20px;
}
.custom-page-tags__inner {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 12px;
    align-items: center;
    max-width: 1120px;
    margin: 0 auto;
    padding-top: 18px;
    border-top: 1px solid var(--line);
}
.custom-page-tags__inner > p {
    margin: 0;
    color: var(--slate);
    font-size: .72rem;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}
.custom-page-tags__inner ul {
    display: flex;
    flex: 1 1 280px;
    flex-wrap: wrap;
    gap: 6px;
    margin: 0;
    padding: 0;
    list-style: none;
}
.custom-page-tags__inner li {
    padding: 4px 8px;
    border: 1px solid var(--line);
    border-radius: 999px;
    color: var(--slate);
    font-size: .72rem;
    line-height: 1.25;
}
.theme-logo-dark .custom-page-tags__inner {
    border-color: var(--line);
}
.theme-logo-dark .custom-page-tags__inner li {
    border-color: var(--line);
    color: var(--slate);
}

.page-layout-editor__toolbar {
    display: grid;
    grid-template-columns: 44px 160px 76px 80px 80px 40px minmax(0, 1fr) 60px;
    grid-template-rows: repeat(2, 32px);
    gap: 5px 8px;
    align-items: stretch;
    overflow-x: auto;
    overscroll-behavior-inline: contain;
    scrollbar-width: thin;
}

.page-layout-editor__tool-group {
    display: grid;
    grid-row: 1 / -1;
    min-width: 0;
    gap: 5px;
    align-items: stretch;
    padding-right: 8px;
}

.page-layout-editor__toolbar button,
.page-layout-editor__toolbar select {
    width: 100%;
    min-width: 0;
    min-height: 32px;
    height: 32px;
}

.page-layout-editor__toolbar button[data-page-layout-icon-button] {
    display: inline-grid;
    width: 32px;
    min-width: 32px;
    height: 32px;
    min-height: 32px;
    padding: 0;
    justify-self: center;
    place-items: center;
}

.page-layout-editor__toolbar-icon {
    display: block;
    width: 17px;
    height: 17px;
    overflow: visible;
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 1.75;
}

.page-layout-editor__tool-group--history {
    grid-template-columns: 1fr;
    grid-template-rows: repeat(2, 32px);
}

.page-layout-editor__tool-group--lists {
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: repeat(2, 32px);
}

.page-layout-editor__tool-group--paragraph {
    grid-template-columns: repeat(4, 1fr);
    grid-template-rows: repeat(2, 32px);
}

.page-layout-editor__tool-group--paragraph select {
    grid-column: 1 / -1;
}

.page-layout-editor__tool-group--paragraph button[data-page-layout-command="justifyLeft"] {
    text-align: left;
}

.page-layout-editor__tool-group--paragraph button[data-page-layout-command="justifyCenter"] {
    text-align: center;
}

.page-layout-editor__tool-group--paragraph button[data-page-layout-command="justifyRight"] {
    text-align: right;
}

.page-layout-editor__tool-group--formatting,
.page-layout-editor__tool-group--insert,
.page-layout-editor__tool-group--links {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-template-rows: repeat(2, 32px);
}

.page-layout-editor__tool-group--insert > :last-child {
    grid-column: auto;
}

.page-layout-editor__tool-group--links {
    grid-template-columns: 1fr;
    grid-template-rows: repeat(2, 32px);
}

.page-layout-editor__tool-group--links button[data-page-layout-icon-button] {
    justify-self: start;
}

/* ui-exception: helix-toolbar-action — branded full-height entry point in the rich-text toolbar. */
.page-layout-editor__tool-group--assistant {
    grid-column: 8;
    grid-template: 1fr / minmax(58px, 1fr);
    padding-right: 0;
    border-right: 0;
}

.page-layout-editor__tool-group--assistant button {
    height: 69px;
    padding: 0;
}

.page-layout-editor__helix-icon {
    display: block;
    width: 42px;
    height: 59px;
    margin: auto;
    object-fit: contain;
}

.page-layout-editor__tool-group--assistant button:hover .page-layout-editor__helix-icon,
.page-layout-editor__tool-group--assistant button:focus-visible .page-layout-editor__helix-icon,
.page-layout-editor__tool-group--assistant button[aria-expanded="true"] .page-layout-editor__helix-icon {
    filter: drop-shadow(0 0 6px color-mix(in srgb, #38d9ff 75%, transparent));
}

@media (max-width: 620px) {
    .page-layout-editor__toolbar {
        grid-template-columns: 40px 148px 76px 80px 80px 40px minmax(0, 1fr) 60px;
        gap: 5px 6px;
    }

    .page-layout-editor__tool-group {
        gap: 5px;
        padding-right: 6px;
    }
}

/* Listing editors live inside resizable Desktop windows. Keep each control
   group intact and wrap groups instead of squeezing the fixed page toolbar
   grid into unusable slivers. This belongs after the full toolbar grid rules. */
.page-layout-editor--listing .page-layout-editor__toolbar {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: flex-start;
    overflow-x: visible;
}

.page-layout-editor--listing .page-layout-editor__tool-group {
    flex: 0 0 auto;
    grid-row: auto;
    padding-right: 0;
}

.page-layout-editor--listing .page-layout-editor__tool-group--history {
    flex-basis: 40px;
}

.page-layout-editor--listing .page-layout-editor__tool-group--paragraph {
    flex-basis: 160px;
}

.page-layout-editor--listing .page-layout-editor__tool-group--formatting {
    flex-basis: 76px;
}

.page-layout-editor--listing .page-layout-editor__tool-group--lists,
.page-layout-editor--listing .page-layout-editor__tool-group--insert {
    flex-basis: 80px;
}

.page-layout-editor--listing .page-layout-editor__tool-group--links {
    flex-basis: 40px;
}
