/* Shared foundation: reset, typography, navigation, footer, dialogs, inquiry and photo studio. */

:root { font-family: var(--font-body); font-synthesis: none; --quick-actions-height:0px; --compare-tray-height:66px; --product-action-height:69px; }
* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 110px; scroll-padding-bottom: calc(var(--quick-actions-height) + var(--focus-compare-space,0px) + var(--focus-product-space,0px) + 20px); }
body { margin: 0; padding-bottom: var(--quick-actions-height); background: var(--bg); color: var(--ink); font-size: 16px; line-height: 1.6; }
main { overflow: clip; }
a { color: inherit; text-decoration: none; }
button, input, select, textarea { font: inherit; }
button { color: inherit; cursor: pointer; background: none; border: 0; }
button:disabled { cursor: default; opacity: .45; }

:where(button,a,input,select,textarea,summary):focus-visible { outline: var(--focus-width) solid var(--focus-color); outline-offset: var(--focus-offset); }
img { max-width: 100%; display: block; }
/* Original-photo caption shared by the home composition and exact-SKU pages. */
body[data-page] .signature-photo-note { position: absolute; left: 0; right: 80px; bottom: 18px; font: 10px/1.8 var(--font-mono); color: #a4ab9e; letter-spacing: .04em; border-top: 1px solid var(--line); padding-top: 18px; }
@media (max-width:760px) {
  body[data-page] .signature-photo-note { bottom: 7px; padding-top: 8px; font-size: 8px; right: 60px; }
}
p, h1, h2, h3 { margin: 0; }
h1, h2, h3 { line-height: 1.08; font-family: var(--font-display); }
h1 { font-size: clamp(48px,5.8vw,104px); }
h2 { font-size: clamp(38px,4vw,72px); }
h3 { font-size: clamp(28px,2.5vw,42px); }
p { color: var(--muted); }
body[data-page] :is(h1,h2,h3) { font-weight: 400; letter-spacing: -.045em; }
body[data-page] .eyebrow { color: var(--eyebrow-ink); letter-spacing: .11em; }
body[data-page] :is(.breadcrumb,.fineprint) { color: var(--muted); }

[hidden] { display: none!important; }
.wrap { width: calc(100% - 112px); max-width: var(--wrap); margin-inline: auto; }
.eyebrow { margin-bottom: 26px; font: 11px/1.8 var(--font-mono); }
.signal { display: inline-block; width: 7px; height: 7px; background: var(--accent); border-radius: 50%; margin-right: 9px; box-shadow: 0 0 16px #ff713e77; }
.fineprint { line-height: 1.7; font-size: 12px; margin-top: 24px; }
.section-heading { display: flex; align-items: end; justify-content: space-between; gap: 40px; margin-bottom: 56px; }
.section-heading>p { max-width: 420px; font-size: 16px; line-height: 1.8; }
.section-heading h2 span { color: #8491a5; }
.skip { position: fixed; top: -100px; left: 20px; z-index: 200; background: var(--accent); color: black; padding: 10px; }
.skip:focus { top: 10px; }
.sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.site-header { top: 0; z-index: 40; position: relative; background: #111313f5; border-bottom: 1px solid var(--line); }
.header-inner { display: flex; align-items: center; gap: 30px; height: 84px; }
.brand { display: flex; align-items: center; gap: 13px; flex-shrink: 0; }
.brand-mark { font-family: var(--font-display); font-size: 31px; font-weight: 700; letter-spacing: -.07em; line-height: 1; }
.brand-mark i { display: inline-block; width: 9px; height: 25px; margin-right: 4px; transform: skew(-15deg); background: var(--accent); }
.brand small { letter-spacing: .14em; line-height: 1.6; color: var(--muted); border-left: 1px solid #ffffff28; padding-left: 13px; font-size: 9px; }
.header-nav { display: flex; margin: auto; color: #b6bfcd; font-size: 13px; gap: 27px; }
.header-nav a { position: relative; padding-block: 12px; }
.header-nav a:hover, .header-nav a[aria-current] { color: white; }
.header-nav a[aria-current]:after { content: ""; position: absolute; left: 0; right: 0; bottom: 4px; height: 2px; background: var(--accent); }
.header-contacts { display: flex; align-items: center; gap: 16px; white-space: nowrap; font-size: 13px; }
.contact-channels { display: flex; align-items: center; gap: 8px; }
.contact-channels>a { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 44px; padding: 9px 12px; border: 1px solid #82948755; border-radius: 4px; background: #ffffff04; color: var(--ink); font-size: 13px; line-height: 1.4; white-space: nowrap; transition: background .2s,border-color .2s,color .2s; }
.contact-channels>a:hover { background: #ffffff0c; border-color: #a3b1a5; color: #fff; }
.contact-icon { width: 20px; height: 20px; flex-shrink: 0; }
.contact-phone { display: inline-flex; align-items: center; gap: 10px; }
.menu-contacts { display: none; }
.menu-toggle { display: none; min-height: var(--control-icon-size); min-width: var(--control-icon-size); }
.reading-progress { position: absolute; bottom: -1px; left: 0; height: 1px; background: var(--accent); width: var(--progress,0%); }
.disclosure { border-bottom: 1px solid var(--line); }
:where(.disclosure)>summary { display: flex; justify-content: space-between; align-items: center; gap: 25px; list-style: none; cursor: pointer; font-size: 18px; padding: 27px 0; }
:where(.disclosure)>summary::-webkit-details-marker { display: none; }
:where(.disclosure)>p { max-width: 850px; font-size: 14px; padding: 0 40px 30px 0; }
/* Shared static footer: identity, useful routes, sales contacts and legal details. */
.site-footer { position:relative; border-top:1px solid #728b9838; padding:58px 0 24px; background:#080f14; color:#e5edf0; }
.site-footer:before { content:""; position:absolute; top:-1px; left:max(56px,calc((100% - 1680px)/2)); width:96px; height:2px; background:var(--accent); }
.footer-signature { display:grid; grid-template-columns:1fr 1fr; align-items:center; gap:40px; padding-bottom:44px; border-bottom:1px solid #728b9838; }
.footer-brand { display:inline-flex; align-items:center; gap:24px; width:fit-content; }
.footer-brand .brand-mark { font-size:64px; letter-spacing:-.065em; }
.footer-brand .brand-mark i { width:15px; height:49px; margin-right:6px; }
.footer-brand-caption { border-left:1px solid #728b9845; padding-left:24px; font:10px/1.7 var(--font-mono); letter-spacing:.09em; color:#afbec6; }
.footer-statement { color:#e5edf0; font:400 clamp(30px,2.5vw,46px)/1.05 var(--font-display); letter-spacing:-.035em; }
.footer-statement span { color:#829aa8; }
.site-footer svg { width:20px; height:20px; fill:none; stroke:currentColor; stroke-width:1.4; flex-shrink:0; }
.footer-grid { display:grid; grid-template-columns:1.2fr .8fr 1fr 1.2fr; gap:clamp(28px,3.5vw,64px); padding:40px 0; }
.footer-grid>* { min-width:0; }
.site-footer .footer-label { margin:0 0 22px; color:#91a6b2; font:10px/1.5 var(--font-mono); letter-spacing:.09em; }
.footer-company-name { max-width:260px; color:#e1e8eb; font-size:16px; line-height:1.45; margin-bottom:16px; }
.footer-company address { max-width:270px; font-style:normal; color:#a5b6c0; font-size:12px; line-height:1.8; }
.footer-location { display:inline-flex; gap:15px; align-items:center; margin-top:16px; padding:9px 0; color:#c5d1d7; font-size:12px; }
.footer-location svg { width:15px; height:15px; color:var(--accent); }
.footer-nav { display:flex; flex-direction:column; align-items:flex-start; }
.footer-nav .footer-label { margin-bottom:12px; }
.footer-nav>a { font-size:13px; line-height:1.5; padding:10px 0; color:#c5d1d7; transition:color .2s; }
.site-footer a:where(:not(.ui-button)):hover { color:#f3af87; }
.footer-nav .footer-download { display:grid; grid-template-columns:38px minmax(0,1fr) 18px; align-items:center; gap:12px; width:100%; border:1px solid #849ba25e; border-radius:4px; margin-top:12px; padding:14px; background:linear-gradient(120deg,#24333d,#14212a); color:#edf3f6; transition:border-color .2s,background .2s; }
.footer-download .footer-pdf { display:grid; place-items:center; width:38px; height:46px; border-radius:3px 9px 3px 3px; background:#e99263; color:#172128; font:700 11px/1 var(--font-mono); letter-spacing:.02em; }
.footer-download-copy { font-size:14px; line-height:1.3; font-weight:600; }
.footer-download-copy small { display:block; font-size:10px; line-height:1.5; font-weight:400; color:#b9c9d1; margin-top:4px; }
.footer-download svg { width:18px; height:18px; color:#efad85; }
.footer-nav .footer-download:hover { background:linear-gradient(120deg,#304450,#1c2e39); border-color:#e99263; color:#fff; }
.footer-phone { width:fit-content; font:400 clamp(22px,1.7vw,30px)/1.25 var(--font-display); white-space:nowrap; letter-spacing:-.025em; }
.footer-contact .contact-channels { margin:14px 0 10px; flex-wrap:wrap; }
.footer-contact .footer-hours { font-size:11px; line-height:1.6; color:#91a6b2; margin:3px 0 23px; }
.footer-legal { border-top:1px solid #728b9838; padding-top:22px; display:flex; flex-wrap:wrap; align-items:center; gap:12px 28px; color:#91a6b2; font-size:10px; line-height:1.7; }
.footer-legal-separator { padding:0 8px; color:#536974; }
.footer-legal>a:not(.ui-button) { margin-left:auto; padding:5px 0; }
.footer-local { color:#91a6b2; }
@media(max-width:1100px) {
  .footer-grid { grid-template-columns:1.15fr 1fr; gap:36px 56px; }
  .footer-company { grid-area:1/1; }
  .footer-contact { grid-area:1/2; }
  .footer-brand { gap:16px; }
  .footer-brand-caption { padding-left:16px; font-size:9px; }
  .footer-brand .brand-mark { font-size:52px; }
  .footer-brand .brand-mark i { width:12px; height:40px; }
  .footer-statement { font-size:32px; }
}
@media(max-width:600px) {
  .site-footer { padding:34px 0 22px; }
  .site-footer:before { left:20px; width:56px; }
  .footer-signature { grid-template-columns:1fr; gap:24px; padding-bottom:28px; }
  .footer-brand { gap:14px; }
  .footer-brand .brand-mark { font-size:45px; }
  .footer-brand .brand-mark i { width:10px; height:34px; }
  .footer-brand-caption { font-size:8px; padding-left:14px; }
  .footer-statement br { display:none; }
  .footer-statement span:before { content:" "; }
  .footer-grid { grid-template-columns:1fr 1fr; gap:30px 22px; padding:30px 0; }
  .footer-contact { grid-area:1/1/2/3; border-bottom:1px solid #728b9838; padding-bottom:28px; }
  .footer-company { grid-area:3/1/4/3; border-top:1px solid #728b9838; padding-top:28px; }
  .footer-phone { font-size:28px; }
  .footer-request {max-width:340px}
  .site-footer .footer-label { font-size:9px; margin-bottom:13px; }
  .footer-nav>a { font-size:12px; min-height:44px; }
  .footer-nav .footer-download { grid-template-columns:1fr 18px; gap:12px 8px; padding:12px; }
  .footer-download-copy { grid-area:2/1/3/3; }
  .footer-download svg { grid-area:1/2; }
  .footer-company-name,.footer-company address { max-width:100%; }
  .footer-legal { display:grid; gap:10px; }
  .footer-legal>a:not(.ui-button) { margin-left:0; padding:7px 0; }
  .footer-legal-separator { padding:0 4px; }
}
.page-intro { padding-top: 70px; padding-bottom: 65px; }
.breadcrumb { font-size: 10px; margin-bottom: 32px; }
.breadcrumb a:hover { color: var(--accent); }
.page-intro h1 { max-width: 1250px; font-size: clamp(48px,5.5vw,94px); }
.page-intro>p:not(.eyebrow):not(.breadcrumb) { max-width: 680px; margin-top: 28px; font-size: 15px; }

.compare-tray { position: fixed; bottom: calc(20px + var(--quick-actions-height)); left: 50%; transform: translateX(-50%); z-index: 45; display: flex; align-items: center; gap: 25px; padding: 14px 18px 14px 24px; background: #1b2737ed; box-shadow: 0 12px 60px #0008; backdrop-filter: blur(20px); border: 1px solid #ffffff2a; max-width: calc(100% - 32px); }
.compare-tray>p { color: #c8d3e2; white-space: nowrap; font-size: 12px; }
.toast { position: fixed; bottom: calc(105px + var(--quick-actions-height)); left: 50%; transform: translate(-50%,20px); background: #dfe7f2; color: #152033; padding: 14px 22px; font-size: 12px; max-width: calc(100% - 32px); z-index: 120; opacity: 0; pointer-events: none; transition: opacity .2s,transform .2s; }
.toast.visible { opacity: 1; transform: translate(-50%,0); }
dialog { color: var(--ink); border: 1px solid #ffffff29; background: #101a28; padding: 0; width: min(780px,calc(100% - 40px)); max-height: calc(100svh - 40px); box-shadow: 0 30px 150px #000a; overscroll-behavior: contain; }
dialog::backdrop { background: #02060dc9; backdrop-filter: blur(14px); }
body:has(dialog[open]) { overflow: hidden; }
.dialog-head { display: flex; align-items: start; justify-content: space-between; gap: 30px; padding: 30px 35px; border-bottom: 1px solid var(--line); }
.dialog-head h2 { font-size: 32px; }
.dialog-head .eyebrow { margin-bottom: 9px; font-size: 8px; }
.dialog-body { padding: 30px 35px; }
.dialog-body>p { font-size: 12px; }
.dialog-feedback { flex: 0 0 auto; padding: 12px clamp(16px,3vw,32px); border-bottom: 1px solid var(--line); background: #25343d; color: #f3d3bd; font-size: 12px; line-height: 1.6; }
.dialog-feedback:empty { position: absolute; width: 1px; height: 1px; padding: 0; border: 0; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.form-error { font-size: 12px; color: #ffab8d; margin-top: 15px; }
.zoom-dialog { width: min(1400px,calc(100% - 40px)); background: radial-gradient(ellipse,#26394c,#101a28 65%); }
.zoom-dialog .dialog-head { border: 0; padding: 20px 25px; }
.zoom-dialog h2 { font-size: 17px; }
.photo-error { padding: 24px; text-align: center; }
.photo-error p { margin-bottom: 16px; }
.studio-canvas .photo-error { position: absolute; inset: 0; display: grid; place-content: center; }
.studio-canvas .photo-error p { color: #344d5a; }
.zoom-dialog>img { display:block; width:auto; max-width:100%; height:auto; max-height:calc(90svh - 100px); object-fit:contain; padding:20px; margin-inline:auto; }
.no-script { padding: 25px; background: #17243a; text-align: center; }
.no-script a { color: var(--accent); }
.reveal-ready [data-reveal] { opacity: 0; transform: translateY(24px); transition: opacity .8s,transform .8s; }
.reveal-ready [data-reveal].revealed { opacity: 1; transform: none; }
@media (min-width:1251px) and (max-width:1399px) {
  .header-contacts { flex-direction: column; gap: 0; }
}
@media (max-width:1250px) {
  .wrap { width: calc(100% - 64px); }
  .header-inner { gap: 22px; }
  .header-nav { gap: 20px; }
  .header-contacts { display: none; }
}
@media (max-width:900px) {
  .header-inner { justify-content: space-between; }
  .brand small { display: none; }
  .header-inner>.btn {margin-left: auto}
  .menu-toggle { display: block; border: 1px solid #ffffff25; width: var(--control-icon-size); height: var(--control-icon-size); font-size: 20px; }
  .header-nav { position: absolute; top: 100%; left: 0; right: 0; background: #101a28; padding: 20px 32px; border-bottom: 1px solid var(--line); display: none; flex-direction: column; }
  .header-nav.open { display: flex; max-height: calc(100dvh - 84px - var(--quick-actions-height)); overflow-y: auto; }
  .menu-contacts { display: grid; gap: 8px; width: 100%; padding-top: 12px; border-top: 1px solid var(--line); color: var(--ink); }
  .menu-contacts>a { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 48px; font-size: 14px; white-space: nowrap; }
  .menu-contacts .menu-contact-label { font-size: 12px; color: var(--muted); }
  .menu-contacts .contact-channels { flex-wrap: wrap; }
  #site-header:has(.site-header:not([data-navigation-ready])) { position: static; }
  .site-header:not([data-navigation-ready]) .header-inner { height:auto; flex-wrap:wrap; padding-block:12px; }
  .site-header:not([data-navigation-ready]) .header-nav { position:static; display:flex; flex-direction:row; flex-wrap:wrap; order:5; width:100%; padding:0; gap:8px 20px; }
  .header-nav a[aria-current]:after { right: auto; width: 30px; }

  .section-heading { gap: 30px; }
  .section-heading>p { max-width: 250px; }
}
@media (max-width:600px) {

  .eyebrow { margin-bottom: 20px; }

  .brand-mark { font-size: 28px; }
  .brand-mark i { height: 22px; width: 7px; }
  .menu-toggle { font-size: 17px; }
  .header-nav { padding: 15px 20px; }
  .section-heading { display: block; }
  .section-heading>p { margin-top: 22px; max-width: 310px; }
  .section-heading>.text-link {margin-top: 15px}
  .page-intro { padding-top: 40px; padding-bottom: 38px; }
  .breadcrumb { font-size: 9px; margin-bottom: 25px; }
  .page-intro h1 { font-size: 46px; }
  .page-intro>p:not(.eyebrow):not(.breadcrumb) { font-size: 12px; margin-top: 20px; }

  .toast { font-size: 11px; width: max-content; text-align: center; }
  dialog { width: calc(100% - 24px); max-height: calc(100svh - 24px); }
  .dialog-head { padding: 24px 20px; gap: 15px; }
  .dialog-head h2 { font-size: 27px; }
  .dialog-body { padding: 25px 20px; }

  .zoom-dialog>img { max-height:65svh; padding:10px; }
}
@media (max-width:350px) {

  .brand-mark { font-size: 26px; }
  .page-intro h1 { font-size: 40px; }
}
@media (prefers-reduced-motion:reduce) {
  html { scroll-behavior: auto; }
  *, *:before, *:after { animation: none!important; transition: none!important; }
  .reveal-ready [data-reveal] { opacity: 1; transform: none; }
}
.breadcrumbs { display: flex; gap: 15px; color: #7689a3; font-size: 10px; margin-bottom: 32px; }
.breadcrumbs a:hover { color: var(--accent); }
.page-intro h1>span { color: #99a8be; }
@media (max-width:600px) {
  .breadcrumbs { font-size: 9px; margin-bottom: 25px; gap: 12px; }
}
#site-header { position: sticky; top: 0; z-index: 40; }
#site-header:has(.header-nav.open) { z-index:50; }

.section { padding-block: 130px; }

.section-heading h2 { line-height: 1.1; }

dialog.technical-studio { width: calc(100% - 56px); max-width: 1800px; height: calc(100dvh - 56px); max-height: 1100px; margin: auto; border: 1px solid #ffffff3b; background: #11171d; color: #f2f1ed; overflow: hidden; }
dialog.technical-studio[open] { display: flex; flex-direction: column; }
.technical-studio::backdrop { background: #020508e8; }
.studio-heading { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 24px 30px; border-bottom: 1px solid #ffffff1a; }
.studio-heading .eyebrow { font-size: 10px; margin: 0 0 8px; }
.studio-heading h2 { font: 400 21px/1.3 var(--font-body); max-width: 950px; }
.studio-close span { font-size: 25px; line-height: 1; }
.studio-canvas { position: relative; flex: 1; min-height: 150px; overflow: hidden; touch-action: none; background: radial-gradient(ellipse at 50% 46%,#e9ece8,#bbc6c8); outline-offset: -4px; cursor: zoom-in; }
.studio-axis { position: absolute; inset: 25px; border: 1px solid #20374622; background: linear-gradient(90deg,transparent calc(50% - .5px),#20374619 50%,transparent calc(50% + .5px)),linear-gradient(transparent calc(50% - .5px),#20374619 50%,transparent calc(50% + .5px)); pointer-events: none; }
.technical-studio #zoom-photo { position: absolute; left: 50%; top: 50%; width: auto; max-width: none; height: auto; max-height: none; margin: 0; object-fit: contain; user-select: none; pointer-events: none; filter: drop-shadow(15px 25px 15px #0003); transform-origin: center; will-change: transform; }
.studio-canvas.is-zoomed { cursor: grab; }
.studio-canvas.is-dragging { cursor: grabbing; }
.studio-corner { position: absolute; font: 20px var(--font-mono); color: #3e555e; pointer-events: none; }
.corner-top { left: 20px; top: 10px; }
.corner-bottom { bottom: 10px; right: 20px; }
.studio-resolution { position: absolute; bottom: 15px; left: 25px; font: 10px/1.6 var(--font-mono); color: #344d5a; background: #d5ddddd9; padding: 3px 6px; pointer-events: none; }
.studio-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 15px 30px; border-top: 1px solid #ffffff1a; }
.studio-presets { display: flex; gap: 6px; }

.studio-zoom { display: flex; gap: 5px; align-items: center; }

.studio-zoom output { width: 63px; text-align: center; font: 13px var(--font-mono); }
.studio-help { font-size: 11px; padding: 0 30px 15px; color: #9caab9; }
@media (max-width:1200px) {
  .header-nav { gap: 16px; }
}
@media (max-width:1000px) {
  .section-heading>p { font-size: 14px; }
  .studio-heading h2 { font-size: 18px; }
}
@media (max-width:760px) {
  .section { padding-block: 80px; }
  .section-heading { margin-bottom: 34px; }
  .studio-heading { padding: 17px 16px; gap: 15px; }
  .studio-heading h2 { font-size: 14px; }
  .studio-heading .eyebrow { font-size: 8px; }
  .studio-close span { font-size: 24px; }
  .studio-toolbar { padding: 13px 12px; flex-wrap: wrap; gap: 12px; }
  .studio-presets { flex: 1; justify-content: space-between; }
.studio-presets button{flex: 1}
  .studio-zoom { margin-inline: auto; }

  .studio-help { font-size: 10px; padding: 0 16px 12px; }
  .studio-resolution { font-size: 8px; left: 15px; bottom: 10px; }
  .studio-axis { inset: 16px; }
  dialog.technical-studio { width: calc(100% - 16px); height: calc(100dvh - 16px); max-height: none; }
}

button, a, input, select, textarea, summary { -webkit-tap-highlight-color: transparent; }
:where(h2,h3)[tabindex="-1"]:focus { outline: 0; }



html:has(body.has-comparison) { --focus-compare-space:calc(var(--compare-tray-height) + 10px); }
body.has-comparison { padding-bottom: calc(var(--compare-tray-height) + 20px + var(--quick-actions-height)); }
@media (max-width:760px) {
  .header-inner { gap: 12px; height: 68px; }
  .header-nav.open { max-height: calc(100dvh - 68px - var(--quick-actions-height)); background: #161a16; }
  .header-nav a { min-height: 48px; display: flex; align-items: center; }
  .menu-toggle { height: 44px; width: 44px; flex: 0 0 44px; }
  body[data-sku] { padding-bottom: calc(var(--product-action-height) + 21px + var(--quick-actions-height)); }
  .has-comparison .mobile-product-action { bottom: calc(var(--compare-tray-height) + 10px + var(--quick-actions-height)); }
  body[data-sku].has-comparison { padding-bottom: calc(var(--product-action-height) + var(--compare-tray-height) + 29px + var(--quick-actions-height)); }
  .compare-tray { bottom: var(--quick-actions-height); gap: 12px; left: 0; transform: none; width: 100%; max-width: 100%; justify-content: space-between; flex-wrap:wrap; padding: 10px 16px; border-inline: 0; }
  .compare-tray>.ui-button { flex-shrink:0; }
  .compare-tray>p { flex:1 1 min-content; min-width:0; font-size: 11px; white-space: normal; }

  .toast { bottom: calc(var(--product-action-height) + 31px + var(--quick-actions-height)); }
  .has-comparison .toast { bottom: calc(var(--product-action-height) + var(--compare-tray-height) + 39px + var(--quick-actions-height)); }
}
@media (max-width:360px) {
  .header-inner { gap: 8px; }
}
@media (max-width:760px) {
  body[data-page] .wrap { width: calc(100% - 40px); }

}
@media (max-width:360px) {
  body[data-page] .wrap { width: calc(100% - 32px); }
}

.footer-request{width:100%}

/* Persistent shortcuts live outside the footer and use the shared button contract. */
.quick-actions { position:fixed; z-index:35; right:4px; bottom:24px; width:48px; display:grid; gap:8px; --button-height:48px; --button-font:13px; --button-gap:12px; --button-padding:11px 12px; filter:drop-shadow(0 4px 12px #0005); }
.quick-actions .quick-action { justify-content:center; }
.quick-action-label { display:none; min-width:0; max-width:100%; overflow-wrap:anywhere; }
.quick-action-label small { display:block; margin-top:3px; color:#b9c9d1; font-size:10px; font-weight:400; line-height:1.3; }
.quick-action-catalog { --button-border:#e9926380; }
.quick-action-catalog>svg { color:#efad85; }
.quick-action:focus-visible { outline-offset:2px; }
body:has(dialog[open]) .quick-actions { visibility:hidden; }
@media (min-width:2200px) {
  .quick-actions { right:24px; width:164px; --button-padding:13px 16px; }
  .quick-actions .quick-action { justify-content:flex-start; }
  .quick-action-label { display:block; }
}
@media (max-width:1250px), (max-height:400px) {
  :root { --quick-actions-height:calc(64px + env(safe-area-inset-bottom)); }
  .quick-actions { inset:auto 0 0; width:auto; min-height:calc(64px + env(safe-area-inset-bottom)); grid-template-columns:repeat(5,minmax(0,180px)); justify-content:center; gap:8px; padding:7px 12px calc(8px + env(safe-area-inset-bottom)); border-top:1px solid #728b9845; background:#0b151cf5; --button-font:12px; --button-gap:8px; --button-padding:6px 8px; }
  .quick-actions .quick-action { justify-content:center; }
  .quick-action-label { display:block; text-align:center; }
  .quick-action-label small { display:none; }
}
@media (max-width:600px) {
  .quick-actions { gap:6px; padding-inline:8px; --button-font:11px; --button-gap:2px; --button-padding:3px 2px; }
  .quick-actions .quick-action { flex-direction:column; }
}
@media print {
  :root { --quick-actions-height:0px; }
  .quick-actions { display:none; }
}

