/* =========================================================
   DanielBelai – Home Layout (FULL FILE)
   ========================================================= */

:root{
  --side: 20px;
  --gap: 32px;
  --thumbH: 240px;
}

/* ---------- base ---------- */
html, body{ height:100%; }

body{
  margin:0 !important;
  background:#f1ede7 !important;
  color:#bf0101 !important;

  font-family:"Atkinson Hyperlegible Mono", ui-monospace, SFMono-Regular, Menlo, Monaco,
              Consolas, "Liberation Mono", "Courier New", monospace !important;
  font-weight:500 !important;
  font-size:14px !important;
  line-height:1.35 !important;
  letter-spacing:.02em !important;
}

/* ---------- hide theme chrome ---------- */
header, footer, .inside-header, .site-footer,
.entry-title, .page-header, .wp-block-post-title{
  display:none !important;
}

#page, .site, .site-content, .content-area, .site-main,
.inside-article, article, .entry-content, .entry-content > *{
  max-width:none !important;
  width:100% !important;
  margin:0 !important;
  padding:0 !important;
}

/* ---------- page ---------- */
.db-page{
  min-height:100vh !important;
}

/* =========================================================
   TOP LEFT TEXT
   ========================================================= */
.db-top-left{
  position:fixed !important;
  left: var(--side) !important;
  top: calc(50% - (var(--thumbH) / 2) - var(--gap)) !important;
  transform: translateY(-100%) !important;

  z-index:10 !important;
  text-align:left !important;
  max-width:520px !important;
}

/* =========================================================
   SLIDER
   ========================================================= */
.db-slider-wrap{
  position:fixed !important;
  left:0 !important;
  right:0 !important;
  top:50% !important;
  transform:translateY(-50%) !important;
  z-index:5 !important;
}

.db-slider{
  position:relative !important;
  width:100% !important;
  overflow:hidden !important;
}

.db-track{
  display:flex !important;
  gap:0 !important;
  overflow-x:auto !important;
  overflow-y:hidden !important;
  -webkit-overflow-scrolling:touch !important;
  scrollbar-width:none !important;
}

.db-track::-webkit-scrollbar{
  display:none !important;
}

.db-thumb{
  flex:0 0 auto !important;
  cursor:pointer !important;
  transition:transform .18s ease !important;
}

.db-thumb:hover{
  transform:scale(1.02) !important;
}

.db-thumb img{
  display:block !important;
  height:var(--thumbH) !important;
  width:auto !important;
}

/* =========================================================
   ARROWS
   ========================================================= */
.db-arrow{
  position:absolute !important;
  top:50% !important;
  transform:translateY(-50%) !important;

  width:72px !important;
  height:72px !important;
  border:0 !important;
  background:transparent !important;

  cursor:pointer !important;
  font-size:64px !important;
  line-height:72px !important;

  opacity:.8 !important;
  transition:opacity .18s ease !important;

  z-index:20 !important;
  user-select:none !important;
}

.db-arrow:hover{
  opacity:.55 !important;
}

.db-arrow-left{
  left:10px !important;
}

.db-arrow-right{
  right:10px !important;
}

/* =========================================================
   NAV
   ========================================================= */
.db-home-links{
  position:fixed !important;
  right: var(--side) !important;
  top: calc(50% + (var(--thumbH) / 2) + var(--gap)) !important;
  z-index:10 !important;

  width:max-content !important;

  display:flex !important;
  flex-direction:column !important;
  align-items:flex-end !important;
  text-align:right !important;
}

.db-home-links::before{
  content:"About & Contact";
  font-weight:500;
  visibility:hidden;
  pointer-events:none;
  display:block;
  height:0;
}

.db-nav-topline{
  width:100% !important;
  display:flex !important;
  justify-content:space-between !important;
}

.db-nav-list{
  margin-top:18px !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:flex-end !important;
  text-align:right !important;
  gap:0px !important;
}

.db-home-links a{
  color:inherit !important;
  text-decoration:none !important;
  font-weight:500 !important;
  cursor:pointer !important;
}

.db-home-links a:hover{
  opacity:.6 !important;
}

body.home .db-nav-home{
  font-weight:700 !important;
}

body.page-template-template-archive .db-nav-archive{
  font-weight:700 !important;
}

body.page-template-template-about-contact .db-home-links .db-nav-contact,
body.page-template-template-about-contact-php .db-home-links .db-nav-contact{
  font-weight:700 !important;
}

/* =========================================================
   MODAL
   ========================================================= */
.db-modal{
  position:fixed !important;
  inset:0 !important;
  background:rgba(0,0,0,.72) !important;
  display:none !important;
  z-index:9999 !important;
}

.db-modal.is-open{
  display:block !important;
}

.db-modal-lock{
  overflow:hidden !important;
}

.db-modal-inner{
  position:absolute !important;
  inset:0 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  padding:24px !important;
}

.db-modal-video{
  width:min(1100px,92vw) !important;
  aspect-ratio:16/9 !important;
  background:#000 !important;
}

.db-modal-video iframe{
  width:100% !important;
  height:100% !important;
}

.db-modal-close{
  position:absolute !important;
  top:18px !important;
  left:18px !important;
  width:44px !important;
  height:44px !important;
  background:transparent !important;
  border:0 !important;
  color:#fff !important;
  font-size:38px !important;
  line-height:44px !important;
  cursor:pointer !important;
  z-index:10000 !important;
}

/* =========================================================
   TABLET
   ========================================================= */
@media (max-width:1024px){
  :root{
    --side:24px;
    --thumbH:210px;
    --gap:28px;
  }
}

/* =========================================================
   MOBILE
   ========================================================= */
@media (max-width:640px){
  :root{
    --side:18px;
    --thumbH:190px;
    --gap:22px;
  }

  .db-page{
    min-height:100vh !important;
    display:grid !important;
    grid-template-rows:auto 1fr auto 1fr !important;
    padding:24px 0 !important;
  }

  .db-top-left,
  .db-home-links,
  .db-slider-wrap{
    position:static !important;
    transform:none !important;
  }

  .db-home-links{
    grid-row:1 !important;
    margin:18px 18px 0 auto !important;
    width:max-content !important;
    align-items:flex-end !important;
    text-align:right !important;
  }

  .db-slider-wrap{
    grid-row:3 !important;
    margin:-120px 0 0 0 !important;
    align-self:center !important;
  }

  .db-thumb img{
    height:170px !important;
  }

  .db-top-left{
    grid-row:4 !important;
    margin:24px 18px 0 18px !important;
    font-size:13px !important;
    line-height:1.35 !important;
    text-align:left !important;
  }

  .db-nav-topline{
    width:100% !important;
    justify-content:space-between !important;
    gap:0 !important;
  }

  .db-nav-list{
    margin-top:18px !important;
    align-items:flex-end !important;
    text-align:right !important;
  }

  .db-arrow{
    width:50px !important;
    height:50px !important;
    font-size:44px !important;
    line-height:50px !important;
  }

  .db-arrow-left{
    left:4px !important;
  }

  .db-arrow-right{
    right:4px !important;
  }
}