/* Sineloro Atelier 2.6.0; scoped additions, no theme/template replacement. */
body.sl26 :focus-visible { outline: 3px solid #17678a; outline-offset: 4px; }
body.sl26 .entry-content { overflow-wrap: anywhere; }
body.sl26 .entry-content :is(img, video) { max-width: 100%; height: auto; }
body.sl26 .entry-content :is(figure, .wp-caption) { max-width: 100%; }
body.sl26 .entry-content :is(.gallery, .wp-block-gallery) {
  display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 210px), 1fr)); gap: 20px;
}
body.sl26 .entry-content :is(.gallery-item, .wp-block-gallery > .wp-block-image) {
  width: auto !important; max-width: 100%; margin: 0 !important; float: none;
}
body.sl26 .entry-content :is(.gallery, .wp-block-gallery)::before,
body.sl26 .entry-content :is(.gallery, .wp-block-gallery)::after { display: none; }
body.sl26 .entry-content .gallery > br { display: none; }
body.sl26 .entry-content :is(.gallery, .wp-block-gallery) img {
  display: block; width: 100%; height: auto; object-fit: contain;
}
body.sl26 .entry-content :is(.gallery-caption, figcaption) { line-height: 1.5; }
body.sl26 .sl26-table { overflow-x: auto; max-width: 100%; }
body.sl26 .sl26-table:focus-visible { outline-offset: -3px; }
body.sl26 .sl26-submenu { min-width: 44px; min-height: 44px; cursor: pointer; }
body.sl26 .sl-nav li { position: relative; }
body.sl26 .sl-nav li.menu-item-has-children { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; }
body.sl26 .sl-nav li.menu-item-has-children > a { grid-column: 1; grid-row: 1; }
body.sl26 .sl-nav li.menu-item-has-children > .sl26-submenu { grid-column: 2; grid-row: 1; }
body.sl26 .sl-nav li > .sl26-submenu { margin-left: 4px; }
body.sl26.sl26-menu-ready .sl-nav li > .sub-menu { display: none; }
body.sl26.sl26-menu-ready .sl-nav li.sl26-expanded > .sub-menu {
  display: block; visibility: visible; opacity: 1; pointer-events: auto;
}
body.sl26 .sl-nav .sub-menu { max-height: min(70vh, 650px); overflow-y: auto; }
body.sl26 .screen-reader-text:focus { z-index: 100001; }
body.sl26 .sl-menu-toggle { min-width: 44px; min-height: 44px; }
body.sl26 .sl26-image-link { cursor: zoom-in; }
body.sl26 .sl26-dialog {
  width: min(1100px, 96vw); max-width: 96vw; max-height: 94dvh; padding: 16px;
  border: 0; border-radius: 12px; color: #fff; background: #161b19;
}
body.sl26 .sl26-dialog::backdrop { background: rgb(0 0 0 / 85%); }
body.sl26 .sl26-dialog[open] { display: grid; grid-template-rows: auto minmax(0, 1fr) auto; gap: 10px; }
body.sl26 .sl26-dialog img { display: block; max-width: 100%; max-height: 70dvh; width: auto; height: auto; margin: auto; object-fit: contain; }
body.sl26 .sl26-tools { display: flex; justify-content: space-between; gap: 8px; flex-wrap: wrap; }
body.sl26 .sl26-dialog button, body.sl26 .sl26-dialog a {
  display: inline-flex; align-items: center; justify-content: center; min-height: 44px;
  min-width: 44px; padding: 8px 12px; color: #fff; background: #303e36; border: 1px solid #91a497;
  border-radius: 5px; font: inherit; cursor: pointer;
}
body.sl26 .sl26-dialog button:disabled { opacity: .45; cursor: default; }
body.sl26 .sl26-dialog :focus-visible { outline-color: #ffd580; }
body.sl26 .sl26-caption { margin: 0; text-align: center; line-height: 1.5; }
body.sl26.sl26-modal-open { overflow: hidden; }
@media (max-width: 1280px) {
  body.sl26 .sl-header-inner { flex-wrap: wrap; }
  body.sl26 .sl-menu-toggle { display: inline-flex; align-items: center; }
  body.sl26.sl26-menu-ready .sl-nav { display: none !important; width: 100%; }
  body.sl26.sl26-menu-ready .sl-nav.sl26-open { display: block !important; max-height: 75dvh; overflow-y: auto; }
  body.sl26 .sl-nav > ul { display: block; }
  body.sl26 .sl-nav a { display: inline-flex; align-items: center; min-height: 44px; white-space: normal; }
  body.sl26.sl26-menu-ready .sl-nav li > .sub-menu {
    display: none !important; position: static; width: auto; min-width: 0;
    box-shadow: none; padding-left: 16px; max-height: none;
  }
  body.sl26 .sl-nav li > .sub-menu { grid-column: 1 / -1; }
  body.sl26.sl26-menu-ready .sl-nav li.sl26-expanded > .sub-menu { display: block !important; }
  body.sl26 .entry-content input:not([type=checkbox]):not([type=radio]),
  body.sl26 .entry-content select, body.sl26 .entry-content textarea { font-size: 16px; max-width: 100%; }
  body.sl26 .entry-content :is(.alignleft, .alignright) { float: none; margin-inline: auto; }
}
@media (prefers-reduced-motion: reduce) {
  body.sl26 *, body.sl26 *::before, body.sl26 *::after {
    scroll-behavior: auto !important; animation-duration: .01ms !important;
    animation-iteration-count: 1 !important; transition-duration: .01ms !important;
  }
}

/* PROD desktop polish: keep the existing hamburger/mobile controls unchanged. */
@media (min-width: 1281px) {
  body.sl26 .sl-nav li > .sl26-submenu {
    -webkit-appearance: none;
    appearance: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    min-width: 28px;
    min-height: 44px;
    margin-left: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    color: var(--forest, #293e35);
    font-size: 0;
    line-height: 1;
  }
  body.sl26 .sl-nav li > .sl26-submenu::before {
    content: "";
    display: block;
    width: 7px;
    height: 7px;
    border-right: 1.5px solid currentColor;
    border-bottom: 1.5px solid currentColor;
    transform: translateY(-2px) rotate(45deg);
  }
  body.sl26 .sl-nav li > .sl26-submenu:hover {
    color: #80683f;
    background: transparent;
  }
  body.sl26 .sl-nav li > .sl26-submenu[aria-expanded="true"]::before {
    transform: translateY(2px) rotate(225deg);
  }
}

/* Parent menu items are full disclosure buttons, never destination links. */
body.sl26 .sl-nav li.menu-item-has-children > .sl26-parent {
  grid-column: 1 / -1;
  grid-row: 1;
  appearance: none;
  -webkit-appearance: none;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 4px;
  width: 100%;
  min-height: 51px;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  color: var(--forest, #293e35);
  font: inherit;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .075em;
  line-height: 1.75;
  text-align: left;
  text-transform: uppercase;
  cursor: pointer;
}
body.sl26 .sl26-parent-label { padding: 15px 0; white-space: nowrap; }
body.sl26 .sl26-chevron { display: inline-flex; width: 20px; height: 44px; align-items: center; justify-content: center; }
body.sl26 .sl26-chevron::before {
  content: ""; display: block; width: 7px; height: 7px;
  border-right: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor;
  transform: translateY(-2px) rotate(45deg);
}
body.sl26 .sl26-parent[aria-expanded="true"] > .sl26-chevron::before { transform: translateY(2px) rotate(225deg); }
body.sl26 .sl26-parent:hover { color: #80683f; }
body.sl26 .sl26-parent:focus-visible { outline: 3px solid #17678a; outline-offset: 4px; }
@media (max-width: 1280px) {
  body.sl26 .sl-nav li.menu-item-has-children > .sl26-parent { min-height: 54px; }
  body.sl26 .sl26-parent-label { padding: 14px 5px; white-space: normal; }
  body.sl26 .sl26-chevron { width: 44px; border: 1px solid #878787; border-radius: 2px; background: #f0f0f0; color: var(--forest, #293e35); }
}
