/* MacAir Studio CMS 2.0.2 — shared layout for ALL PHP-rendered public pages.
   Content and original images share a consistent 1240px grid across 23 templates.
   Assets remain in the same file paths as the original static site. */
:root { --max:1240px; --cms-content-width:1240px; }
html { max-width:100%; overflow-x:clip; -webkit-text-size-adjust:100%; }
body { max-width:100%; min-width:0; overflow-x:clip; }
*, *::before, *::after { box-sizing:border-box; }
#main-content, main, section, article, aside, header, footer, figure, nav { min-width:0; max-width:100%; }
.container, .hero-media, .full-visual, .site-header .nav-wrap {
  width:min(var(--cms-content-width), calc(100% - 36px)) !important;
  max-width:var(--cms-content-width) !important;
  margin-inline:auto;
}
.container > *, .hero-main-grid > *, .grid > *, .editorial-guide-wrap > *,
.models-wrap > *, .article-shell > *, .guide-intro-grid > *,
.footer-grid > *, .semantic-panel > *, .section-head > * { min-width:0; }
img, picture, video, canvas, iframe { max-width:100%; }
img { height:auto; }
.hero-media, .full-visual { overflow:hidden; }
.hero-media picture, .full-visual picture,
.hero-media picture img, .full-visual picture img,
.hero-media > img, .full-visual figure img {
  display:block; width:100% !important; max-width:100% !important;
  height:auto !important; object-fit:contain;
}
.full-visual > figure { width:100%; max-width:100%; margin-inline:auto; }
.article-body img, .article-page-content img, .editorial-guide-section img {
  max-width:100%; height:auto; object-fit:contain;
}
.article-body table, .article-page-content table, main table { max-width:100%; }
.article-body pre, .article-page-content pre, pre { max-width:100%; overflow-x:auto; }
main p, main li, main h1, main h2, main h3, main h4 { overflow-wrap:break-word; }
main a, main code { overflow-wrap:anywhere; }
.hero-main-grid, .services-grid, .models-wrap, .model-chips,
.guide-intro-grid, .footer-grid, .howto-grid, .reviews-grid { max-width:100%; }
@media (max-width:900px) {
  .hero-main-grid { grid-template-columns:minmax(0,1fr) !important; }
  .hero-main-grid > *, .editorial-guide-wrap > * { max-width:100%; }
}
@media (max-width:700px) {
  .container, .hero-media, .full-visual, .site-header .nav-wrap {
    width:calc(100% - 24px) !important;
    max-width:var(--cms-content-width) !important;
  }
  .full-visual { padding-inline:0 !important; }
  .full-visual figure { border-radius:18px; }
  .hero-media { border-radius:18px; }
  .hero-actions { max-width:100%; }
  .hero-actions > a, .hero-actions > button { max-width:100%; }
  .model-chips, .guide-intro-grid { grid-template-columns:minmax(0,1fr) !important; }
  .mobile-bar { max-width:100vw; }
}
@media (max-width:375px) {
  .container, .hero-media, .full-visual, .site-header .nav-wrap { width:calc(100% - 20px) !important; }
  .btn, button, .model-chip { max-width:100%; }
  .brand-text { min-width:0; }
  .brand-text strong { overflow-wrap:anywhere; }
}
/* Optional analytics consent, intentionally above the existing bottom phone/LINE bar. */
.macair-cookie-prompt{position:fixed;z-index:9998;left:18px;bottom:20px;width:min(490px,calc(100vw - 36px));padding:19px;background:#fff;color:#1c3047;border:1px solid #d5e3f1;border-radius:15px;box-shadow:0 12px 55px rgba(0,0,0,.3);font:400 12px/1.8 Tahoma,Arial,sans-serif}
.macair-cookie-prompt[hidden]{display:none!important}.macair-cookie-prompt strong{font-size:14px}.macair-cookie-prompt p{color:#637b92;margin:6px 0 13px}.macair-cookie-prompt a{color:#315cba;text-decoration:underline}.macair-cookie-actions{display:flex;align-items:center;gap:8px;justify-content:flex-end}
.macair-cookie-actions button{border:1px solid #cedbe8;border-radius:8px;padding:10px 16px;font-weight:700;cursor:pointer;background:#f1f5f9;color:#425975;min-height:40px}
.macair-cookie-actions .macair-cookie-accept{background:#155b4c;color:#fff;border-color:#155b4c}.macair-cookie-actions button:focus-visible,.macair-cookie-settings:focus-visible{outline:3px solid #84afe5;outline-offset:3px}
.macair-cookie-settings{display:block;margin:10px auto 12px;padding:5px 12px;border:1px solid #6b8199;border-radius:999px;color:#b8d3e1;font-size:11px;background:transparent;cursor:pointer}
@media(max-width:700px){.macair-cookie-prompt{left:10px;bottom:calc(76px + env(safe-area-inset-bottom,0px));width:calc(100vw - 20px);padding:14px}.macair-cookie-actions button{flex:1;font-size:12px;padding:9px 7px}}

/* Responsive partner credits: match all public-page footers. */
.footer-credit .footer-partners {
  display:flex;
  align-items:center;
  justify-content:flex-end;
  flex-wrap:wrap;
  gap:4px 16px;
  margin-top:5px;
}
.footer-credit .footer-partners > span { white-space:nowrap; }
.footer-credit .footer-partners a { text-decoration:underline; text-underline-offset:3px; }
.footer-credit .footer-partners a:focus-visible {
  outline:2px solid currentColor;
  outline-offset:3px;
  border-radius:2px;
}
@media (max-width:700px) {
  .footer-credit .footer-partners { justify-content:flex-start; gap:5px 12px; }
}

/* v2.0.2: Two contextual keyword links per editorial page.
   Respect the article typography; underline makes the links discoverable. */
main .article-self-link {
  color:inherit;
  font-weight:700;
  text-decoration:underline;
  text-decoration-color:var(--gold, #eab96a);
  text-decoration-thickness:1px;
  text-underline-offset:3px;
  overflow-wrap:anywhere;
  transition:color .16s ease, text-decoration-color .16s ease;
}
main .article-self-link strong { font-weight:700; }
main .article-self-link:hover { color:var(--gold, #eab96a); text-decoration-color:currentColor; }
main .article-self-link:focus-visible { outline:2px solid var(--gold, #eab96a); outline-offset:3px; border-radius:2px; }
