/*
 * LTDVIN service pages: B2B catalogue information and working tools.
 * Existing Manrope, wordmark, light theme and blue accent are preserved.
 * Audit/redline method: Unslop by Damir Sokolovsky, CC BY 4.0.
 * https://github.com/heydamir/unslop
 */
.service-page { --service-space:64px; color:var(--ink); }
.service-page [hidden] { display:none!important; }
.service-page .service-heading { margin:0 0 40px; max-width:820px; }
.service-page .service-heading h1 { margin:0 0 20px; font-size:44px; line-height:1.14; font-weight:500; letter-spacing:-1px; }
.service-page .service-heading > p { max-width:650px; margin:0; color:var(--muted); font-size:18px; line-height:1.65; }
.service-page .service-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:28px; }
.site-page .service-page h2 { margin:0 0 16px; font-size:28px; line-height:1.3; font-weight:500; letter-spacing:-.4px; }
.site-page .service-page h3 { margin:0 0 12px; font-size:18px; line-height:1.4; font-weight:500; }
.service-page p { font-size:15px; line-height:1.75; }
.service-page .button { min-height:48px; font-weight:500; font-size:14px; }
.service-page .button svg,.service-page .service-guide-links svg { width:18px; height:18px; flex:none; stroke-width:1.5; }
.service-page .button.service-secondary { border:1px solid #cbd2da; background:#fff; color:var(--ink); }
.service-page .button.service-secondary:hover { border-color:#a9bfd5; background:#f0f5fb; color:var(--blue); }
.service-page .service-section { margin-block:var(--service-space); }
.service-page .section-intro { margin-bottom:32px; max-width:720px; }
.service-page .section-intro p { color:var(--muted); margin:0; }
.service-page .service-aside { padding:28px; background:var(--ui-soft,#f5f6f7); border-radius:12px; align-self:start; }
.service-page .service-aside h2 { font-size:22px; letter-spacing:0; }
.service-page .service-aside > p { margin:0 0 24px; font-size:14px; color:var(--muted); }
.service-page .service-aside .button { width:100%; }
.service-page .service-definition { margin:24px 0; display:grid; gap:20px; }
.service-page .service-definition dt { font-size:14px; font-weight:500; }
.service-page .service-definition dd { margin:4px 0 0; font-size:14px; line-height:1.65; color:var(--muted); }
.service-page .service-note { margin:32px 0; padding:16px 20px; border-left:2px solid var(--blue); background:#f5f7fa; font-size:14px; color:var(--muted); }
.service-page .service-footnote { color:var(--muted); font-size:13px; }
.service-page .service-callout { display:flex; align-items:center; justify-content:space-between; gap:40px; padding:32px; margin:var(--service-space) 0 32px; background:var(--ui-soft); border-radius:12px; }
.service-page .service-callout > div { max-width:760px; }
.service-page .service-callout h2 { margin-bottom:12px; font-size:24px; }
.service-page .service-callout p { margin:0; color:var(--muted); }
.service-page .service-callout > .button { flex:none; }
.service-page .service-guide-links { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:32px; margin-top:var(--service-space); }
.service-page .service-guide-links > a { min-width:0; display:grid; gap:12px; padding:24px 0; border-top:1px solid var(--border); color:var(--ink); }
.service-page .service-guide-links > a > span:first-child { font-size:20px; font-weight:500; }
.service-page .service-guide-links > a > span:last-child { display:flex; align-items:center; justify-content:space-between; gap:12px; font-size:14px; line-height:1.6; color:var(--muted); }
.service-page .service-guide-links > a:hover > span { color:var(--blue); }
.service-page .service-process { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:32px 48px; margin:0; padding-left:20px; }
.service-page .service-process--four { grid-template-columns:repeat(2,minmax(0,1fr)); }
.service-page .service-process li { padding-left:8px; }
.service-page .service-process li::marker { color:var(--blue); font-variant-numeric:tabular-nums; }
.service-page .service-process h3 { margin-bottom:8px; }
.service-page .service-process p { margin:0; color:var(--muted); font-size:14px; }
.service-page .about-hero { display:grid; grid-template-columns:minmax(0,1.3fr) minmax(0,1fr); align-items:center; gap:64px; margin-bottom:64px; }
.service-page .about-hero .service-heading { margin:0; }
.service-page .about-visual { height:320px; display:grid; place-items:center; background:var(--ui-soft); border-radius:16px; overflow:hidden; }
.service-page .about-visual img { width:100%; height:100%; max-height:320px; object-fit:contain; padding:28px; }
.service-page .about-overview { display:grid; grid-template-columns:minmax(0,1.3fr) minmax(0,1fr); gap:64px; padding-top:40px; border-top:1px solid var(--border); }
.service-page .about-overview p { color:var(--muted); max-width:70ch; }
.service-page .about-figures { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; margin:0; padding-top:4px; }
.service-page .about-figures dt { color:var(--muted); font-size:13px; }
.service-page .about-figures dd { margin:12px 0 0; font-size:44px; line-height:1.1; letter-spacing:-1px; font-variant-numeric:tabular-nums; }
.service-page .contacts-layout { display:grid; grid-template-columns:minmax(0,1.6fr) minmax(0,1fr); gap:64px; }
.service-page .contact-directory { padding-top:28px; }
.service-page .contact-entry { padding:0 0 32px; }
.service-page .contact-entry + .contact-entry { padding-top:32px; border-top:1px solid var(--border); }
.service-page .contact-entry h2 { font-size:22px; margin-bottom:8px; }
.service-page .contact-entry > p { margin:0 0 20px; color:var(--muted); font-size:14px; }
.service-page .contact-address { display:block; font-size:clamp(24px,2.5vw,36px); line-height:1.3; font-weight:500; letter-spacing:-.6px; color:var(--ink); overflow-wrap:anywhere; }
.service-page .contact-entry-actions { display:flex; flex-wrap:wrap; align-items:center; gap:16px; margin-top:12px; }
.service-page .contact-entry button.service-text-button { min-height:44px; padding:8px 0; border:0; border-radius:0; background:transparent; color:var(--blue); font-size:14px; font-weight:500; }
.service-page .contact-entry button.service-text-button:hover { text-decoration:underline; text-underline-offset:4px; }
.service-page .contact-availability { font-size:12px; color:var(--muted); }
.service-page .service-copy-status { min-height:24px; margin:0; color:var(--blue); font-size:14px; }
.service-page .seller-requisites { margin-block:64px; scroll-margin-top:24px; }
.service-page .seller-requisites-heading { display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; gap:20px; }
.service-page .seller-requisites-heading h2 { margin:0; }
.service-page .seller-copy-status { min-height:24px; margin:12px 0; color:var(--blue); font-size:13px; }
.service-page .seller-requisites-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:48px; border-top:1px solid var(--border); padding-top:28px; }
.service-page .seller-requisites-group h3 { margin:0 0 24px; font-size:20px; }
.service-page .seller-requisites-group dl { display:grid; gap:24px; margin:0; }
.service-page .seller-requisites-group dl > div { min-width:0; }
.service-page .seller-requisites-group dt { color:var(--muted); font-size:12px; line-height:1.5; }
.service-page .seller-requisites-group dd { margin:8px 0 0; font-size:14px; line-height:1.7; overflow-wrap:anywhere; }
.service-page .seller-number { font-family:ui-monospace,SFMono-Regular,Consolas,monospace; font-variant-numeric:tabular-nums; }
.service-page .payment-before .seller-payee { margin:24px 0; font-size:13px; color:var(--muted); }
.service-page .delivery-hero { display:grid; grid-template-columns:minmax(0,1.6fr) minmax(0,1fr); gap:64px; align-items:center; margin-bottom:48px; }
.service-page .delivery-hero .service-heading { margin:0; }
.service-page .delivery-timing { padding:8px 0 8px 40px; border-left:1px solid var(--border); }
.service-page .delivery-timing > span { color:var(--muted); font-size:13px; }
.service-page .delivery-timing strong { display:block; margin:12px 0; font-size:64px; line-height:1.05; font-weight:500; letter-spacing:-2px; font-variant-numeric:tabular-nums; }
.service-page .delivery-timing strong span { font-size:28px; letter-spacing:0; }
.service-page .delivery-timing p { margin:0; color:var(--muted); font-size:14px; }
.service-page .delivery-methods { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; }
.service-page .delivery-methods article { padding:28px; border:1px solid var(--border); border-radius:12px; }
.service-page .service-icon { width:28px; height:28px; color:var(--blue); stroke-width:1.5; margin-bottom:24px; }
.service-page .delivery-methods h2 { font-size:24px; }
.service-page .delivery-methods p { color:var(--muted); max-width:48ch; margin-bottom:24px; }
.service-page .service-caption { font-size:12px; color:var(--muted); }
.service-page .service-cost-note { margin:48px 0; max-width:900px; }
.service-page .service-cost-note h2 { font-size:24px; }
.service-page .service-cost-note p { color:var(--muted); margin:0; }
.service-page .service-faq { margin-block:var(--service-space); max-width:1000px; }
.service-page .service-faq details { border-bottom:1px solid var(--border); }
.service-page .service-faq summary { display:flex; justify-content:space-between; gap:20px; align-items:center; min-height:68px; padding:20px 0; cursor:pointer; list-style:none; font-size:16px; }
.service-page .service-faq summary::-webkit-details-marker { display:none; }
.service-page .service-faq summary svg { width:18px; height:18px; flex:none; }
.service-page .service-faq details[open] summary svg { transform:rotate(180deg); }
.service-page .service-faq details p { margin:0 0 24px; max-width:76ch; color:var(--muted); }
.service-page .payment-layout { display:grid; grid-template-columns:minmax(0,1.8fr) minmax(0,1fr); gap:48px; align-items:start; }
.service-page .payment-tabs { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); border-bottom:1px solid var(--border); }
.service-page .payment-tabs .service-tab { min-height:64px; padding:16px 8px; border:0; border-bottom:2px solid transparent; border-radius:0; background:transparent; color:var(--muted); text-align:center; white-space:normal; }
.service-page .payment-tabs .service-tab[aria-selected="true"] { color:var(--blue); border-bottom-color:var(--blue); }
.service-page .payment-tabs .service-tab:hover { color:var(--ink); background:var(--ui-soft); }
.service-page .payment-panel { padding-top:32px; }
.service-page .payment-panel h2 { font-size:28px; }
.service-page .payment-panel > p { color:var(--muted); }
.service-page .payment-instructions { display:grid; gap:16px; padding-left:20px; margin:28px 0; font-size:15px; line-height:1.6; }
.service-page .payment-instructions li { padding-left:8px; }
.service-page .payment-instructions li::marker { color:var(--muted); }
.service-page .payment-panel .service-panel-note { margin-top:28px; padding-top:20px; border-top:1px solid var(--border); color:var(--muted); font-size:13px; }
.service-page .payer-requirements { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; margin:28px 0; }
.service-page .payer-requirements h3 { font-size:24px; }
.service-page .payer-requirements ul { padding-left:18px; margin:0; color:var(--muted); font-size:14px; line-height:1.9; }
.service-page .brand-directory-tools { display:flex; align-items:flex-end; gap:32px; justify-content:space-between; }
.service-page .brand-search-field { width:560px; max-width:100%; }
.service-page .brand-search-field > label { display:block; margin:0 0 8px; font-size:14px; }
.service-page .brand-search-field > div { display:flex; align-items:center; gap:12px; min-height:52px; padding-left:16px; border:1px solid #cbd2da; border-radius:8px; }
.service-page .brand-search-field > div:focus-within { outline:2px solid var(--blue); outline-offset:2px; }
.service-page .brand-search-field svg { width:18px; height:18px; flex:none; color:var(--muted); }
.service-page #brand-search { margin:0; padding:12px 0; min-height:50px; border:0; outline:0; background:transparent; font-size:16px; appearance:none; }
.service-page #brand-search::-webkit-search-cancel-button,.service-page #brand-search::-webkit-search-decoration { -webkit-appearance:none; }
.service-page .brand-search-field .service-search-clear { width:48px; min-width:48px; min-height:48px; padding:0; color:var(--muted); background:transparent; border:0; }
.service-page .brand-directory-count { margin:0; padding-bottom:12px; color:var(--muted); font-size:14px; white-space:nowrap; }
.service-page .brand-alphabet { display:flex; gap:4px; max-width:100%; margin:24px 0 32px; padding:4px; overflow-x:auto; scrollbar-width:thin; }
.service-page .brand-alphabet a { display:grid; place-items:center; flex:none; min-width:44px; height:44px; padding:8px; border:1px solid var(--border); border-radius:8px; font-size:14px; }
.service-page .brand-alphabet a:hover { background:#f0f5fb; color:var(--blue); }
.service-page .brand-directory-group { display:grid; grid-template-columns:48px minmax(0,1fr); gap:24px; padding:20px 0; scroll-margin-top:24px; }
.service-page .brand-directory-group h2 { margin:12px 0 0; color:var(--muted); font-size:24px; font-family:ui-monospace,SFMono-Regular,Consolas,monospace; font-weight:400; letter-spacing:0; }
.service-page .brand-directory-group > div { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 40px; }
.service-page .brand-directory-link { display:flex; align-items:center; gap:16px; min-height:64px; padding:12px 0; border-bottom:1px solid var(--border); color:var(--ink); }
.service-page .brand-directory-link > span { flex:1; min-width:0; font-size:16px; overflow-wrap:anywhere; }
.service-page .brand-directory-link small { font-size:12px; color:var(--muted); white-space:nowrap; font-variant-numeric:tabular-nums; }
.service-page .brand-directory-link svg { width:16px; height:16px; flex:none; color:var(--muted); }
.service-page .brand-directory-link:hover { color:var(--blue); }
.service-page .brand-directory-empty { padding:40px 0; }
.service-page .brand-directory-empty p { color:var(--muted); }
.service-page .bom-workspace { display:grid; grid-template-columns:minmax(0,1.8fr) minmax(0,1fr); gap:32px; align-items:start; }
.service-page .bom-editor { min-width:0; padding:28px; border:1px solid var(--border); border-radius:12px; }
.service-page .bom-editor-heading { display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; gap:12px; margin-bottom:16px; }
.service-page .bom-editor-heading label { margin:0; font-size:16px; font-weight:500; }
.service-page #bom-line-count { color:var(--muted); font-size:12px; font-variant-numeric:tabular-nums; }
.service-page #bom-form .bom-input { width:100%; height:300px; min-height:300px; margin:0; padding:20px; border-color:#cbd2da; background:#fcfcfd; font-family:ui-monospace,SFMono-Regular,Consolas,monospace; font-size:15px; line-height:1.8; }
.service-page #bom-form .bom-input[aria-invalid="true"] { border-color:#a32525; }
.service-page .bom-editor-help { margin:16px 0 0; color:var(--muted); font-size:13px; }
.service-page .bom-editor .bom-actions { margin:24px 0 0; gap:12px 20px; }
.service-page .bom-actions > span { font-size:12px; color:var(--muted); }
.service-page .bom-input-error { margin:12px 0 0; font-size:13px; color:#a32525; }
.service-page .bom-format pre { margin:24px 0; padding:20px; border:1px solid var(--border); border-radius:8px; background:#fff; font-size:14px; line-height:2; overflow-x:auto; }
.service-page .bom-format-details { margin-top:32px; }
.service-page .bom-format-details h3 { font-size:16px; }
.service-page .bom-format-details ul { margin:0; padding-left:18px; color:var(--muted); font-size:14px; line-height:1.8; }
.service-page #bom-results:not(:empty) { padding:28px; margin:32px 0 0; border:1px solid var(--border); border-radius:12px; background:#fff; }
.service-page .bom-result-header { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:20px; }
.service-page .bom-result-header h2 { margin:0; font-size:24px; }
.service-page .bom-result-summary { display:flex; flex-wrap:wrap; gap:24px; padding:16px 0; margin-top:16px; }
.service-page .bom-result-summary p { margin:0; font-size:16px; font-variant-numeric:tabular-nums; }
.service-page .bom-found-list,.service-page .bom-missing-list { padding:0; margin:0 0 24px; list-style:none; max-height:360px; overflow:auto; }
.service-page .bom-found-list li { display:flex; align-items:center; justify-content:space-between; gap:24px; min-height:56px; border-bottom:1px solid var(--border); }
.service-page .bom-found-list a { display:inline-flex; align-items:center; min-height:44px; color:var(--blue); font:14px ui-monospace,SFMono-Regular,Consolas,monospace; }
.service-page .bom-found-list span { font-size:14px; font-variant-numeric:tabular-nums; }
.service-page .bom-missing-list li { padding:16px 0; border-bottom:1px solid var(--border); }
.service-page .bom-missing-list code { font-size:14px; overflow-wrap:anywhere; }
.service-page .bom-missing-list p { margin:8px 0 0; font-size:13px; color:#a32525; }
.service-page .bom-result-note { margin:0; color:var(--muted); font-size:13px; }
.service-page #bom-results[data-state="error"] { border-color:#d8b5b5; }
@media(max-width:1100px) {
  .service-page .about-hero,.service-page .about-overview,.service-page .contacts-layout,.service-page .delivery-hero { gap:32px; }
  .service-page .payment-layout,.service-page .bom-workspace { grid-template-columns:minmax(0,1.6fr) minmax(0,1fr); gap:24px; }
  .service-page .service-heading h1 { font-size:40px; }
  .service-page .service-aside,.service-page .bom-editor { padding:24px; }
}
@media(max-width:767px) {
  .service-page { --service-space:48px; }
  .service-page .service-heading { margin-bottom:32px; }
  .service-page .service-heading h1 { font-size:32px; letter-spacing:-.4px; margin-bottom:16px; }
  .service-page .service-heading > p { font-size:16px; }
  .site-page .service-page h2 { font-size:24px; }
  .service-page .service-actions { margin-top:24px; }
  .service-page .about-hero,.service-page .about-overview,.service-page .contacts-layout,.service-page .delivery-hero,.service-page .payment-layout,.service-page .bom-workspace { grid-template-columns:minmax(0,1fr); gap:28px; }
  .service-page .about-hero { margin-bottom:40px; }
  .service-page .about-visual { height:240px; }
  .service-page .about-visual img { max-height:240px; padding:20px; }
  .service-page .about-overview { padding-top:32px; }
  .service-page .about-figures dd { font-size:36px; }
  .service-page .service-process,.service-page .service-process--four { grid-template-columns:minmax(0,1fr); gap:24px; }
  .service-page .service-callout { flex-direction:column; align-items:flex-start; gap:24px; padding:24px; }
  .service-page .service-callout > .button { width:100%; }
  .service-page .service-guide-links { grid-template-columns:minmax(0,1fr); gap:0; }
  .service-page .service-aside { padding:24px; }
  .service-page .contact-address { font-size:28px; letter-spacing:0; }
  .service-page .contact-directory { padding-top:0; }
  .service-page .seller-requisites { margin-block:48px; }
  .service-page .seller-requisites-heading { align-items:stretch; }
  .service-page .seller-requisites-heading .button { width:100%; }
  .service-page .seller-requisites-grid { grid-template-columns:minmax(0,1fr); gap:40px; }
  .service-page .contact-entry { padding-bottom:24px; }
  .service-page .contact-entry + .contact-entry { padding-top:24px; }
  .service-page .delivery-timing { padding:24px 0 0; border-left:0; border-top:1px solid var(--border); }
  .service-page .delivery-timing strong { font-size:56px; }
  .service-page .delivery-methods { grid-template-columns:minmax(0,1fr); gap:16px; }
  .service-page .delivery-methods article { padding:24px; }
  .service-page .service-faq summary { font-size:15px; }
  .service-page .payment-tabs .service-tab { min-height:64px; font-size:13px; padding:12px 8px; }
  .service-page .payment-panel h2 { font-size:24px; }
  .service-page .payer-requirements { gap:20px; }
  .service-page .brand-directory-tools { flex-direction:column; align-items:stretch; gap:16px; }
  .service-page .brand-directory-count { padding:0; }
  .service-page .brand-directory-group { grid-template-columns:24px minmax(0,1fr); gap:16px; padding:16px 0; }
  .service-page .brand-directory-group > div { grid-template-columns:minmax(0,1fr); }
  .service-page .brand-directory-link { gap:12px; }
  .service-page .brand-directory-link > span { font-size:14px; }
  .service-page .brand-directory-link small { font-size:11px; }
  .service-page .brand-directory-link svg { display:none; }
  .service-page .bom-editor { padding:20px 16px; }
  .service-page #bom-form .bom-input { height:260px; min-height:260px; padding:16px; font-size:16px; }
  .service-page .bom-actions > .button { width:100%; }
  .service-page #bom-results:not(:empty) { padding:24px 16px; }
  .service-page .bom-result-header { align-items:stretch; }
  .service-page .bom-result-header > .button { width:100%; }
}
@media(prefers-reduced-motion:reduce) { .service-page * { scroll-behavior:auto; } }
