/* v5.1.9 — editor-safe content. Contained inside entry-content / alin-art-panel.
   Must NEVER break header, mega menu, hero, or chat. Non-layout → async OK. */

.alin-v519-entry,
.entry-content.alin-v519-entry,
.alin-art-panel.alin-v519-entry{
  overflow-x:auto;
  overflow-wrap:anywhere;
  word-wrap:break-word;
  max-width:100%;
  min-width:0;
}

/* Contain floats from classic pasted HTML */
.alin-v519-entry::after{
  content:"";
  display:table;
  clear:both;
}

/* Headings from editor — scroll clear of fixed header */
.alin-v519-entry h2,
.alin-v519-entry h3,
.alin-v519-entry h4,
.content-wrap .entry-content h2,
.content-wrap .entry-content h3,
.content-wrap .entry-content h4,
.alin-article-body h2,
.alin-article-body h3{
  scroll-margin-top:calc(var(--alin-header-offset,110px) + 24px);
}

.alin-v519-entry h2{
  font:800 clamp(22px,2.6vw,32px)/1.25 Outfit,system-ui,sans-serif;
  letter-spacing:-.03em;
  color:#30211c;
  margin:1.4em 0 .55em;
}
.alin-v519-entry h3{
  font:800 clamp(18px,2.1vw,24px)/1.3 Outfit,system-ui,sans-serif;
  letter-spacing:-.02em;
  color:#30211c;
  margin:1.25em 0 .45em;
}
.alin-v519-entry h4{
  font:700 17px/1.35 Outfit,system-ui,sans-serif;
  color:#193b35;
  margin:1.1em 0 .4em;
}
.alin-v519-entry p{
  font:500 16px/1.75 Outfit,system-ui,sans-serif;
  color:#5a4a40;
  margin:0 0 1em;
  max-width:68ch;
}
.alin-v519-entry a{
  color:#a44a12;
  text-decoration-thickness:1px;
  text-underline-offset:2px;
  overflow-wrap:anywhere;
}
.alin-v519-entry a:hover{color:#193b35}

/* Images — never blow out layout */
.alin-v519-entry img,
.content-wrap .entry-content img,
.alin-art-panel .entry-content img,
.content-section .content-wrap img{
  max-width:100%!important;
  height:auto!important;
  display:block;
  border-radius:14px;
}
.alin-v519-entry .aligncenter{margin-left:auto;margin-right:auto}
.alin-v519-entry .alignleft{float:left;margin:0 1.25em .75em 0;max-width:46%}
.alin-v519-entry .alignright{float:right;margin:0 0 .75em 1.25em;max-width:46%}
.alin-v519-entry .wp-caption,
.alin-v519-entry figure{
  max-width:100%;
  margin:0 0 1.25em;
}
.alin-v519-entry figcaption,
.alin-v519-entry .wp-caption-text{
  font:600 13px/1.45 Outfit,system-ui,sans-serif;
  color:#5a4a40;
  margin-top:8px;
}

/* Lists */
.alin-v519-entry ul,
.alin-v519-entry ol{
  margin:0 0 1.1em;
  padding-left:1.35em;
  max-width:68ch;
  color:#5a4a40;
}
.alin-v519-entry li{margin:0 0 .45em;line-height:1.65}
.alin-v519-entry li > ul,
.alin-v519-entry li > ol{margin-top:.35em;margin-bottom:0}

/* Tables scroll instead of stretching page */
.alin-v519-entry table{
  width:100%;
  max-width:100%;
  border-collapse:collapse;
  font-size:14px;
  line-height:1.5;
}
.alin-v519-entry .wp-block-table,
.alin-v519-entry .alin-table-scroll{
  display:block;
  width:100%;
  max-width:100%;
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
  margin:0 0 1.25em;
}
.alin-v519-entry th,
.alin-v519-entry td{
  border:1px solid #e8d4bd;
  padding:10px 12px;
  text-align:left;
  vertical-align:top;
}
.alin-v519-entry th{background:#fff0da;color:#30211c;font-weight:800}

/* Embeds / iframe / video */
.alin-v519-entry iframe,
.alin-v519-entry video,
.alin-v519-entry embed,
.alin-v519-entry .wp-block-embed__wrapper{
  max-width:100%;
}
.alin-v519-entry .wp-block-embed,
.alin-v519-entry .wp-has-aspect-ratio{
  margin:0 0 1.25em;
}

/* Blockquotes */
.alin-v519-entry blockquote{
  margin:1.1em 0;
  padding:12px 16px;
  border-left:4px solid #a44a12;
  background:#fff8ec;
  border-radius:0 12px 12px 0;
  color:#30211c;
  max-width:68ch;
}

/* Pre / code — scroll, don't break chrome */
.alin-v519-entry pre{
  max-width:100%;
  overflow-x:auto;
  padding:14px 16px;
  border-radius:12px;
  background:#30211c;
  color:#fff8ec;
  font-size:13px;
  line-height:1.55;
}
.alin-v519-entry code{
  font-size:.92em;
  overflow-wrap:anywhere;
}

/* Gutenberg columns / groups stay inside shell */
.alin-v519-entry .wp-block-columns,
.alin-v519-entry .wp-block-group,
.alin-v519-entry .wp-block-media-text{
  max-width:100%;
  min-width:0;
}
.alin-v519-entry .wp-block-column{min-width:0}

/* Landing claim */
.alin-v519-landing-hero .alin-v519-claim{
  font:700 18px/1.5 Outfit,system-ui,sans-serif;
  color:#193b35;
  max-width:48ch;
  margin:8px 0 0;
}

/* Side panel on service template */
.alin-v519-side-panel{align-self:start}
@media(max-width:900px){
  .alin-v519-service .service-hero-grid{grid-template-columns:1fr!important}
  .alin-v519-entry .alignleft,
  .alin-v519-entry .alignright{
    float:none;
    max-width:100%;
    margin:0 0 1em;
  }
}

/* Do not let user content escape and cover fixed UI */
.alin-v519-entry,
.alin-v519-body{
  position:relative;
  z-index:1;
}
.alin-v519-entry *[style*="position:fixed"],
.alin-v519-entry *[style*="position: fixed"]{
  position:static!important;
}
