/* maker.html > .maker-view-body: small navigation/reading refinements only.
   Original introduction, gallery, typography and service card remain in style.css. */
.maker-view-body :is(#products, #price, #intro) { scroll-margin-top: calc(var(--profile-header-height, 61px) + 76px); }
/* Local layout values: site-header.js measures the platform header; CSS remains usable without JS. */
.maker-view-body.maker-platform-view { --profile-header-height: 121px; --profile-header-offset: var(--profile-header-height); }
.maker-view-body.maker-platform-view:has(.site-header.is-hidden):not(.nav-open):not(.search-open) { --profile-header-offset: 0px; }
.maker-view-body .profile-section-nav { scrollbar-width: none; }
.maker-view-body .profile-section-nav::-webkit-scrollbar { display: none; }
@media (max-width: 720px) { .maker-view-body.maker-platform-view { --profile-header-height: 61px; } }
@media (prefers-reduced-motion: reduce) { .maker-view-body .profile-section-nav { transition: none; } }
.maker-view-body .maker-profile-side { top: 88px; }
.maker-view-body .profile-product-terms { margin-top: var(--space-20); padding-top: var(--space-16); border-top: 1px solid var(--border); }
.maker-view-body .profile-product-terms h3 { margin: 0 0 var(--space-8); font-size: var(--type-caption); }
.maker-view-body .profile-product-terms .markdown-body { font-size: var(--type-caption); color: var(--text-muted); }
@media (min-width: 1001px) {
  /* A tall product column must not expand the gap after the introduction. */
  .maker-view-body .maker-profile-grid:has(.maker-profile-service):has(#products) { grid-template-rows: min-content 1fr; }
  .maker-view-body .maker-profile-service { grid-column: 1; grid-row: 1; }
}
@media (max-width: 760px) {
  .maker-view-body .maker-floating-actions { display: flex; gap: var(--space-8); width: 100%; }
  .maker-view-body .maker-floating-actions > .btn { flex: 1; min-width: 0; }
}
@media (max-height: 800px) {
  .maker-view-body .maker-profile-side { position: static; }
}
.maker-view-body .profile-about { text-align: left; }
.maker-view-body .maker-profile-service .profile-about:not(:last-child) { margin-bottom: var(--space-40); }
.maker-view-body .profile-about-body { max-width: 42em; line-height: 1.85; word-break: keep-all; overflow-wrap: anywhere; }
.maker-view-body .profile-about-body p { margin: 0; white-space: pre-line; }
.maker-view-body .profile-about-body p + p { margin-top: var(--space-24); }
.maker-view-body .profile-about-facts { display: grid; gap: var(--space-12); margin: var(--space-24) 0 0; font-size: var(--type-caption); line-height: 1.7; }
.maker-view-body .profile-about-facts > div { display: grid; grid-template-columns: 64px minmax(0, 1fr); gap: var(--space-16); }
.maker-view-body .profile-about-facts dt { color: var(--text-muted); }
.maker-view-body .profile-about-facts dd { margin: 0; word-break: keep-all; overflow-wrap: anywhere; }
.maker-view-body .maker-profile-head--intro .maker-tagline { word-break: keep-all; overflow-wrap: anywhere; }
/* Public promotion placement; shared card appearance belongs to style.css. */
.maker-view-body .profile-promotions { display:flex; flex-wrap:wrap; gap:var(--space-12); }
.maker-view-body .profile-promotions--products { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr)); }
.maker-view-body .profile-promotion { margin-top:var(--space-16); text-align:left; }
@media (max-width:760px) { .maker-view-body .profile-promotions { justify-content:center; } .maker-view-body .profile-promotion { text-align:center; } }

/* Profile closing information stays within the white article, not a site footer. */
.maker-view-body .profile-footer { width: calc(100% - 40px); max-width: 1240px; margin: var(--space-48) auto 0; padding: var(--space-24) 0 var(--space-32); border-top: 1px solid var(--border); background: var(--surface); }
.maker-view-body .profile-footer-inner { width: 100%; display: flex; align-items: flex-end; gap: var(--space-32); }
.maker-view-body .profile-footer-details { flex: 1; min-width: 0; }
.maker-view-body .profile-mobile-qr { display: flex; flex: 0 0 120px; flex-direction: column; align-items: center; gap: var(--space-4); color: var(--text-muted); font-size: var(--type-caption); text-decoration: none; }
.maker-view-body .profile-mobile-qr svg { display: block; width: 120px; height: 120px; }
.maker-view-body .profile-mobile-qr:focus-visible { outline: var(--focus-ring-width) solid var(--focus-ring-color); outline-offset: var(--focus-ring-offset); }
.maker-view-body .profile-footer-heading { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: var(--space-12) var(--space-24); }
.maker-view-body .profile-footer-name { font-size: var(--type-body); font-weight: var(--weight-semibold); }
.maker-view-body .profile-channel-links { display: flex; flex-wrap: wrap; gap: var(--space-20); }
.maker-view-body .profile-channel-link { display: inline-flex; align-items: center; gap: var(--space-6); min-height: 44px; color: var(--text-muted); font-size: var(--type-caption); text-decoration: none; }
.maker-view-body .profile-channel-link:hover { color: var(--text); text-decoration: underline; text-underline-offset: 4px; }
.maker-view-body .profile-channel-link:focus-visible { outline: var(--focus-ring-width) solid var(--focus-ring-color); outline-offset: var(--focus-ring-offset); }
.maker-view-body .profile-channel-icon { display: inline-flex; align-items: center; justify-content: center; width: 16px; height: 16px; flex: 0 0 16px; }
.maker-view-body .profile-channel-icon .social-icon { display: block; width: 14px; height: 14px; font-size: 14px; text-align: center; }
.maker-view-body .profile-business { margin-top: var(--space-16); color: var(--text-muted); font-size: var(--type-caption); line-height: 1.8; word-break: keep-all; overflow-wrap: anywhere; }
.maker-view-body .profile-business p { margin: 0; }
.maker-view-body .profile-business-line { display: flex; flex-wrap: wrap; gap: 0 var(--space-16); }
@media (max-width: 760px) {
  .maker-view-body .profile-mobile-qr { display: none; }
  .maker-view-body .profile-footer:not(:has(.profile-channel-links, .profile-business)) { display: none; }
  .maker-view-body .profile-footer-heading { align-items: flex-start; flex-direction: column; gap: var(--space-8); }
  .maker-view-body .profile-business-line > span:last-child { flex-basis: 100%; }
}

/* First three offers stay readable; all others remain available in source order. */
.maker-view-body .profile-products-more { border-top: 1px solid var(--border); margin-top: var(--space-16); }
.maker-view-body .profile-products-more > summary { padding: var(--space-16) 0; cursor: pointer; color: var(--text-body); font-size: var(--type-caption); }
.maker-view-body .profile-products-collapse,
.maker-view-body .profile-products-more[open] .profile-products-expand { display: none; }
.maker-view-body .profile-products-more[open] .profile-products-collapse { display: inline; }
.maker-view-body .profile-products-more > summary:focus-visible { outline: var(--focus-ring-width) solid var(--focus-ring-color); outline-offset: var(--focus-ring-offset); }

/* Public product list: one level, optional content naturally determines height. */
.maker-view-body .maker-profile-side { position:static; }
.maker-view-body .service-product { padding:var(--space-32) 0; gap:var(--space-8); }
.maker-view-body .service-product-price { margin-top:var(--space-8); }
.maker-view-body .product-promotion { display:flex; align-items:baseline; flex-wrap:wrap; gap:var(--space-8); flex-basis:100%; font-size:var(--type-caption); color:var(--text-muted); }
.maker-view-body .product-discount { color:var(--text); font-size:var(--type-subtitle); font-weight:var(--weight-bold); font-variant-numeric:tabular-nums; }
.maker-view-body .product-regular-price { text-decoration-thickness:1px; font-variant-numeric:tabular-nums; }
.maker-view-body .service-product-price .price-amount { color:var(--price); font-size:var(--type-subtitle); font-variant-numeric:tabular-nums; }
.maker-view-body .price-from { margin-left:var(--space-4); color:var(--text-muted); font-size:var(--type-caption); font-weight:var(--weight-normal); }
.maker-view-body .product-offer-details { border-top:0; padding-top:var(--space-8); }
.maker-view-body .product-offer-details dd { line-height:var(--leading-relaxed); }

/* Intro badge links directly to the service products. */
.profile-promotion-link { display:inline-flex; align-items:center; min-height:44px; text-decoration:none; border-radius:var(--radius-lg); }
.profile-promotion-link:hover .promotion-card { filter:brightness(.96); }
.profile-promotion-link:focus-visible { outline:2px solid var(--action); outline-offset:var(--space-4); }

/* Profile scroll chrome: JS supplies state only; CSS owns motion and no-JS visibility. */
.maker-view-body .maker-site-header,
.maker-view-body .profile-section-nav { transition: transform var(--duration-base) var(--ease), top var(--duration-base) var(--ease); }
.maker-view-body .maker-floating-bar { transition: translate var(--duration-base) var(--ease), opacity var(--duration-base) var(--ease); }
.maker-view-body.profile-reading-down :is(.site-header, .maker-site-header) { transform: translateY(-100%); }
.maker-view-body.profile-reading-down .profile-section-nav { transform: translateY(calc(-100% - var(--profile-header-height, 61px))); }
.maker-view-body.profile-contact-resting .maker-floating-bar { translate: 0 calc(100% + 40px); opacity: 0; pointer-events: none; }
.maker-view-body .maker-floating-bar:focus-within { translate: 0 0; opacity: 1; pointer-events: auto; }
@media (prefers-reduced-motion: reduce) {
  .maker-view-body :is(.site-header, .maker-site-header, .profile-section-nav, .maker-floating-bar) { transition: none; }
}
