/* Ale Theme v3 — main.css */
:root {
  --sw:   200px;
  --ink:  #1a1a1a;
  --muted:#999;
  --sans: -apple-system,'SF Pro Text',BlinkMacSystemFont,'Segoe UI',Helvetica,Arial,sans-serif;
  --mono: 'SF Mono','DM Mono','Courier New',monospace;
}

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}

html,body{
  width:100%;height:100%;overflow:hidden;
  background:#fff;color:var(--ink);
  -webkit-font-smoothing:antialiased;
  display:flex;flex-direction:column;
  font-family:var(--sans);
}
button{background:none;border:none;cursor:pointer;font:inherit;color:inherit;padding:0;}
a{text-decoration:none;color:inherit;}

/* ══ SHELL ══ */
.ale-shell{
  display:flex;
  flex:1;
  min-height:0;
  overflow:hidden;
}

/* ══ SIDEBAR ══ */
.ale-sidebar{
  flex-shrink:0;
  width:var(--sw);
  height:100%;
  display:flex;
  flex-direction:column;
  justify-content:flex-start;
  padding:20px 0 0 32px;
  background:#fff;
  z-index:20;
  overflow:hidden;
}

.ale-logo{display:block;margin-bottom:24px;user-select:none;line-height:1;}
.ale-logo .custom-logo-link{display:block;}
.ale-logo .custom-logo{display:block;width:96px;height:auto;}

.ale-nav{list-style:none;display:flex;flex-direction:column;gap:0;margin-bottom:0;}
.ale-nav li,.ale-nav li a{
  font-size:13px;font-weight:400;color:var(--muted);
  padding:3px 0;cursor:pointer;transition:color .15s;
  width:fit-content;display:block;
}
.ale-nav li:hover>a,
.ale-nav li.current-menu-item>a,
.ale-nav li.active>a{color:var(--ink);}

.ale-controls{display:flex;flex-direction:column;gap:0;margin-top:auto;padding-bottom:20px;}
.ale-ctrl{
  font-size:11px;font-weight:400;color:var(--muted);
  padding:5px 0;cursor:pointer;transition:color .15s;
  user-select:none;width:fit-content;display:block;
}
.ale-ctrl:hover,.ale-ctrl.active{color:var(--ink);}
.ale-counter{font-size:11px;color:var(--muted);margin-top:8px;}

/* ══ FOOTER ══ */
.ale-footer{
  position:fixed;
  bottom:0; left:0; right:0;
  height:36px;
  display:flex;align-items:center;justify-content:space-between;
  padding:0 24px 0 32px;
  background:#fff;
  z-index:50;
  border-top:1px solid #f0f0f0;
}
.ale-footer-social{display:flex;gap:10px;align-items:center;}
.ale-footer-social a{display:flex;align-items:center;}
.ale-footer-copy{font-size:10px;color:#333;letter-spacing:.02em;}
.ale-footer-copy a{color:#333;transition:color .15s;}
.ale-footer-copy a:hover{color:var(--ink);}
.ale-si{width:13px;height:13px;fill:#333;cursor:pointer;transition:fill .15s;flex-shrink:0;}
.ale-si:hover{fill:var(--ink);}

/* ══ SHELL — leaves room for fixed footer ══ */
.ale-shell{
  display:flex;
  flex:1;
  min-height:0;
  overflow:hidden;
  padding-bottom:36px;
}

/* ══ MAIN — position:relative so absolute children anchor here ══ */
.ale-main{
  flex:1;
  position:relative;
  overflow:hidden;
  min-width:0;
}

/* Gallery view — absolute, fills ale-main, scrollable */
.ale-gv{
  position:absolute;
  inset:0;
  overflow-y:auto;
  overflow-x:hidden;
  scrollbar-width:thin;
  scrollbar-color:#ddd transparent;
  background:#fff;
  z-index:1;
  opacity:1;
  pointer-events:auto;
  transition:opacity .3s;
  padding:50px 50px 50px 50px;
}
.ale-gv.hidden{opacity:0;pointer-events:none;}
.ale-gv::-webkit-scrollbar{width:3px;}
.ale-gv::-webkit-scrollbar-thumb{background:#ddd;}

/* Slideshow — absolute, fills ale-main, on top of gallery */
.ale-sv{
  position:absolute;
  inset:0;
  background:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:20px 40px 20px 16px;
  z-index:2;
  /* hidden by default */
  opacity:0;
  pointer-events:none;
  transition:opacity .35s;
}
.ale-sv.visible{
  opacity:1;
  pointer-events:auto;
  cursor:none;
}
.ale-sv img{
  display:block;
  max-width:100%;max-height:100%;
  width:auto;height:auto;
  object-fit:contain;
}

/* Floating cursor — absolute inside ale-main
   coords are relative to ale-main, NOT the viewport */
.ale-cur{
  position:absolute;
  top:0;left:0;
  pointer-events:none;
  z-index:3;
  opacity:0;
  transition:opacity .18s;
  transform:translate(-50%,-50%);
  will-change:transform;
}
.ale-cur.show{opacity:1;}
.ale-cur svg{
  width:81px;height:81px;
  display:block;opacity:.75;fill:var(--ink);
}

.ale-no-img{padding:40px;font-size:13px;color:var(--muted);}

/* ══ INNER PAGES ══ */
.ale-page{
  flex:1;
  overflow-y:auto;
  display:flex;
  justify-content:center;
}
.ale-page-inner{
  width:100%;
  max-width:800px;
  padding:80px 48px 60px;
}
.ale-page-title{
  font-size:2rem;font-weight:300;
  color:var(--ink);margin-bottom:32px;
  letter-spacing:-.01em;
}
.ale-page-meta{font-size:11px;color:var(--muted);margin-bottom:24px;}
.ale-page-body{font-size:15px;font-weight:300;line-height:1.75;color:var(--ink);}
.ale-page-body p  {margin-bottom:1.2em;}
.ale-page-body h2 {font-size:1.3rem;font-weight:400;margin:2em 0 .8em;}
.ale-page-body h3 {font-size:1.1rem;font-weight:400;margin:1.6em 0 .6em;}
.ale-page-body a  {color:var(--ink);text-decoration:underline;text-underline-offset:3px;}
.ale-page-body img{max-width:100%;height:auto;display:block;margin:1.5em 0;}
/* Gallery shortcode inside a page — full bleed */
.ale-page-body .ap-standalone{margin:2em -48px;}
