/* ===========================
   Album page overrides (clean)
   Scope: Album content only
   =========================== */

/* scope + stacking hygiene */
.page-node-type-album .layout,
.node--type-album .layout{
  position:relative; z-index:0; isolation:isolate;
}

/* prevent region overflow on long content */
.page-node-type-album .layout__region,
.node--type-album .layout__region{
  min-width:0; overflow-wrap:anywhere;
}

/* wide widgets: table scroll on small screens */
.page-node-type-album .tracklistWrap,
.node--type-album .tracklistWrap{
  overflow-x:auto; -webkit-overflow-scrolling:touch;
}
.page-node-type-album .tracklist,
.node--type-album .tracklist{
  min-width:660px; /* keep columns readable; wrapper scrolls */
}

/* ===== Desktop (>=900px): restore multi-column LB grids ===== */
@media (min-width:900px){
  .page-node-type-album .layout--twocol-section,
  .node--type-album .layout--twocol-section{
    display:grid; gap:1.5rem; align-items:start; grid-template-columns:1fr 1fr;
  }
  .page-node-type-album .layout--twocol-section--50-50,
  .node--type-album .layout--twocol-section--50-50{
    grid-template-columns:1fr 1fr;
  }
  .page-node-type-album .layout--twocol-section--33-67,
  .node--type-album .layout--twocol-section--33-67{
    grid-template-columns:1fr 2fr;
  }
  .page-node-type-album .layout--twocol-section--67-33,
  .node--type-album .layout--twocol-section--67-33{
    grid-template-columns:2fr 1fr;
  }
  .page-node-type-album .layout--twocol-section--25-75,
  .node--type-album .layout--twocol-section--25-75{
    grid-template-columns:1fr 3fr;
  }
  .page-node-type-album .layout--twocol-section--75-25,
  .node--type-album .layout--twocol-section--75-25{
    grid-template-columns:3fr 1fr;
  }

  /* optional: three/four-column desktop presets */
  .page-node-type-album .layout--threecol-section,
  .node--type-album .layout--threecol-section{
    display:grid; gap:1.5rem; align-items:start; grid-template-columns:1fr 1fr 1fr;
  }
  .page-node-type-album .layout--threecol-section--25-50-25,
  .node--type-album .layout--threecol-section--25-50-25{
    grid-template-columns:1fr 2fr 1fr;
  }
  .page-node-type-album .layout--threecol-section--33-34-33,
  .node--type-album .layout--threecol-section--33-34-33{
    grid-template-columns:1fr 1.03fr 1fr;
  }
  .page-node-type-album .layout--fourcol-section,
  .node--type-album .layout--fourcol-section{
    display:grid; gap:1.5rem; align-items:start; grid-template-columns:repeat(4,1fr);
  }
}

/* ===== Mobile (<900px): stack cleanly ===== */
@media (max-width:900px){
  .page-node-type-album .layout--twocol-section,
  .page-node-type-album .layout--twocol-section--50-50,
  .page-node-type-album .layout--twocol-section--33-67,
  .page-node-type-album .layout--twocol-section--67-33,
  .page-node-type-album .layout--twocol-section--25-75,
  .page-node-type-album .layout--twocol-section--75-25,
  .page-node-type-album .layout--threecol-section,
  .page-node-type-album .layout--threecol-section--25-50-25,
  .page-node-type-album .layout--threecol-section--33-34-33,
  .page-node-type-album .layout--fourcol-section,
  .node--type-album .layout--twocol-section,
  .node--type-album .layout--twocol-section--50-50,
  .node--type-album .layout--twocol-section--33-67,
  .node--type-album .layout--twocol-section--67-33,
  .node--type-album .layout--twocol-section--25-75,
  .node--type-album .layout--twocol-section--75-25,
  .node--type-album .layout--threecol-section,
  .node--type-album .layout--threecol-section--25-50-25,
  .node--type-album .layout--threecol-section--33-34-33,
  .node--type-album .layout--fourcol-section{
    display:grid; grid-template-columns:minmax(0,1fr); gap:1rem; align-items:start;
  }

  /* tighter rhythm + safe media sizing */
  .page-node-type-album .layout,
  .node--type-album .layout{ margin-block:1rem; }
  .page-node-type-album img,
  .page-node-type-album video,
  .page-node-type-album iframe,
  .node--type-album img,
  .node--type-album video,
  .node--type-album iframe{ max-width:100%; height:auto; }

  /* =========================
   Album: force correct grid
   ========================= */

/* Desktop (>=901px): 2-col (or ratio) */
@media (min-width:901px){
  .page-node-type-album .layout--twocol-section,
  .node--type-album .layout--twocol-section{
    display:grid !important;
    grid-template-columns:1fr 1fr !important;
    gap:1.5rem !important;
    align-items:start !important;
  }
  .page-node-type-album .layout--twocol-section--50-50,
  .node--type-album .layout--twocol-section--50-50{
    grid-template-columns:1fr 1fr !important;
  }
  .page-node-type-album .layout--twocol-section--33-67,
  .node--type-album .layout--twocol-section--33-67{
    grid-template-columns:1fr 2fr !important;
  }
  .page-node-type-album .layout--twocol-section--67-33,
  .node--type-album .layout--twocol-section--67-33{
    grid-template-columns:2fr 1fr !important;
  }
  .page-node-type-album .layout--twocol-section--25-75,
  .node--type-album .layout--twocol-section--25-75{
    grid-template-columns:1fr 3fr !important;
  }
  .page-node-type-album .layout--twocol-section--75-25,
  .node--type-album .layout--twocol-section--75-25{
    grid-template-columns:3fr 1fr !important;
  }

  /* keep regions from forcing overflow */
  .page-node-type-album .layout__region,
  .node--type-album .layout__region{ min-width:0; }
}

/* Mobile (<900px): stack to 1 column */
@media (max-width:900px){
  .page-node-type-album .layout--twocol-section,
  .page-node-type-album .layout--twocol-section--50-50,
  .page-node-type-album .layout--twocol-section--33-67,
  .page-node-type-album .layout--twocol-section--67-33,
  .page-node-type-album .layout--twocol-section--25-75,
  .page-node-type-album .layout--twocol-section--75-25,
  .node--type-album .layout--twocol-section,
  .node--type-album .layout--twocol-section--50-50,
  .node--type-album .layout--twocol-section--33-67,
  .node--type-album .layout--twocol-section--67-33,
  .node--type-album .layout--twocol-section--25-75,
  .node--type-album .layout--twocol-section--75-25{
    display:grid !important;
    grid-template-columns:minmax(0,1fr) !important;
    gap:1rem !important;
  }
}

/* Wide widgets: enable horizontal scroll on the track table */
.page-node-type-album .tracklistWrap,
.node--type-album .tracklistWrap{ overflow-x:auto; -webkit-overflow-scrolling:touch; }
.page-node-type-album .tracklist,
.node--type-album .tracklist{ min-width:660px; }

/* =========================
   Album mobile: full-width stack
   (place LAST in css/albums.css)
   ========================= */
@media (max-width:900px){
  /* 1) Make each LB section a single column that spans full width */
  .page-node-type-album .layout,
  .node--type-album .layout{
    display:grid !important;
    grid-template-columns:minmax(0,1fr) !important;
    width:100% !important;
  }

  /* 2) Each region should occupy the full row */
  .page-node-type-album .layout__region,
  .node--type-album .layout__region{
    grid-column:1 / -1 !important;
    width:100% !important;
    max-width:100% !important;
    float:none !important;
    clear:both !important;
    flex:none !important;
    flex-basis:auto !important;
  }

  /* 3) Kill 50%/columns from inner theme markup (Bootstrap-like, float/flex grids) */
  .page-node-type-album .layout__region > *,
  .node--type-album .layout__region > *{
    width:100% !important;
    max-width:100% !important;
  }
  .page-node-type-album .layout__region [class*="col-"],
  .node--type-album .layout__region [class*="col-"]{
    float:none !important;
    width:100% !important;
    max-width:100% !important;
    flex:0 0 100% !important;
  }

  /* 4) Safety: remove stray transforms/positioning that can squeeze width */
  .page-node-type-album .layout__region *,
  .node--type-album .layout__region *{
    transform:none !important;
  }
}
/* ===== Album: fix #content squeezing on phones ===== */
@media (max-width: 900px){
  /* make the main content span full width */
  .page-node-type-album #content,
  .node--type-album #content{
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    flex:0 0 100% !important;   /* bootstrap/flex override */
    align-self:stretch !important;
    order:0 !important;         /* undo order-last reflow */
    float:none !important;
    position:relative !important;
    left:auto !important; right:auto !important;
    transform:none !important;  /* kill off-canvas transforms */
  }

  /* neutralize off-canvas layout that may reserve space */
  .page-node-type-album #content.sidebar-offcanvas,
  .node--type-album #content.sidebar-offcanvas{
    transform:none !important;
  }

  /* ensure parent grid doesn't impose half-width columns */
  .page-node-type-album .row,
  .node--type-album .row{
    display:block !important;
    margin-left:0; margin-right:0;
  }

  /* any inner bootstrap-like columns inside content become full width */
  .page-node-type-album #content [class*="col-"],
  .node--type-album #content [class*="col-"]{
    float:none !important;
    width:100% !important;
    max-width:100% !important;
    flex:0 0 100% !important;
  }

  /* containers should not cap width at small breakpoints */
  .page-node-type-album .container,
  .page-node-type-album .container-fluid,
  .node--type-album .container,
  .node--type-album .container-fluid{
    max-width:100% !important;
    width:100% !important;
  }
}
}

