/* =========================================
   DAINDIA — mobile.css
   Breakpoints: 768px (tablet), 480px (phone)
========================================= */

/* =========================================
   TABLET (≤ 768px)
========================================= */
@media (max-width: 768px) {

  :root {
    --header-height: 60px;
    --page-padding: 24px;
    --left-col-width: 200px;
    --grid-gap: 32px;
  }

  /* --- Header --- */
  .custom-header {
    padding: 0 var(--page-padding);
  }
  .custom-header .logo {
    font-size: 18px;
  }
  .custom-header nav {
    gap: 18px;
    font-size: 10px;
  }

  /* --- Smooth wrapper anchors below smaller header --- */
  #smooth-wrapper {
    top: var(--header-height);
  }

  /* --- Closed project card --- */
  .scroll-window {
    max-width: 100%;
  }

  .project-content {
    padding: 0 var(--page-padding);
    gap: var(--grid-gap);
  }

  .meta {
    width: var(--left-col-width);
  }

  .img-wrapper {
    height: 200px;
    width: 280px;
  }

  /* --- Expanded project --- */
  .project.is-expanded {
    padding: 100px 0;
  }

  .project.is-expanded .img-wrapper {
    height: calc(100vh - var(--header-height) - 100px);
    min-height: 380px;
  }

  .gallery-text {
    width: 280px;
    font-size: 12px;
  }
}

/* =========================================
   PHONE (≤ 480px)
========================================= */
@media (max-width: 480px) {

  :root {
    --header-height: 54px;
    --page-padding: 16px;
    --left-col-width: 100%;
    --grid-gap: 20px;
  }

  /* --- Header collapses nav --- */
  .custom-header {
    padding: 0 var(--page-padding);
  }
  .custom-header .logo {
    font-size: 16px;
    letter-spacing: 1.5px;
  }
  .custom-header nav {
    gap: 12px;
    font-size: 9px;
    letter-spacing: 0.5px;
  }

  /* --- Smooth wrapper --- */
  #smooth-wrapper {
    top: var(--header-height);
  }

  /* --- Disable smooth-scroll physics on touch —
       let the browser handle native scroll instead --- */
  #smooth-wrapper {
    position: static !important;
    transform: none !important;
  }
  body {
    height: auto !important;
    overscroll-behavior: auto;
  }

  /* --- Project list stacks vertically --- */
  .project {
    padding: 20px 0;
    border-bottom: 1px solid var(--border-color);
  }

  /* --- Scroll window: full width, no overflow trick needed --- */
  .scroll-window {
    max-width: 100%;
    overflow-x: auto;          /* allow finger-swipe inside card */
    -webkit-overflow-scrolling: touch;
    cursor: default;
  }

  /* --- Project content: horizontal flex stays, but narrower items --- */
  .project-content {
    padding: 0 var(--page-padding);
    gap: var(--grid-gap);
    flex-direction: column;    /* stack meta above gallery on phones */
    width: 100%;
  }

  /* --- Meta block goes full-width, left-aligned on phones --- */
  .meta {
    width: 100%;
    text-align: left;
    align-items: flex-start;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 12px;
    align-items: center;
  }

  .icon {
    width: 32px;
    height: 32px;
    font-size: 13px;
    margin-bottom: 0;
    flex-shrink: 0;
  }

  .title {
    font-size: 14px;
  }

  .location {
    font-size: 9px;
    width: 100%;                /* push to its own line */
  }

  /* --- Meta extended: left-aligned --- */
  .meta-extended-inner {
    text-align: left;
  }
  .meta-row {
    align-items: flex-start;
  }

  /* --- Gallery: horizontal scroll strip --- */
  .gallery {
    gap: var(--grid-gap);
    padding-right: var(--page-padding);
    width: max-content;         /* let it scroll horizontally */
  }

  .img-wrapper {
    height: 220px;
    width: 72vw;                /* roughly one image visible at a time */
    max-width: 320px;
  }

  .gallery-text {
    width: 72vw;
    max-width: 320px;
    font-size: 12px;
    white-space: normal;
  }

  /* --- Expanded state on phones --- */
  .project.is-expanded {
    padding: 60px 0 80px;
  }

  .project.is-expanded .img-wrapper {
    height: 56vw;               /* proportional, not full-viewport */
    min-height: 200px;
    max-height: 480px;
  }

  /* --- Footer --- */
  .custom-footer {
    padding: 60px var(--page-padding) 32px;
    font-size: 9px;
  }
}

/* =========================================
   TOUCH: remove hover scale (no hover on touch)
========================================= */
@media (hover: none) {
  .project:hover .img-wrapper img {
    opacity: 1;
    transform: none;
  }
}
