/* =========================================================
   GILDONGSEKKI FARM PHOTO BOARD V1
========================================================= */

.farm-photo-page{
  min-height:100vh;
  background:#fbfaf5;
  color:#34483a;
  font-family:Arial,"Noto Sans KR",sans-serif;
}


/* HERO */

.farm-photo-hero{
  padding:74px 0 54px;

  background:
    linear-gradient(
      135deg,
      #f2eee0 0%,
      #edf2e6 55%,
      #f8f2e6 100%
    );

  border-bottom:1px solid #ded9ca;
}


.farm-photo-wrap{
  width:min(1180px,calc(100% - 40px));
  margin:0 auto;
}


.farm-photo-hero-inner{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:40px;
}


.farm-photo-hero small{
  display:block;
  margin-bottom:12px;

  color:#9b7145;

  font-family:Georgia,serif;
  font-size:10px;
  font-weight:700;
  letter-spacing:.18em;
}


.farm-photo-hero h1{
  margin:0;

  color:#385341;

  font-size:42px;
  line-height:1.2;
}


.farm-photo-hero p{
  max-width:560px;
  margin:14px 0 0;

  color:#7b847c;

  font-size:13px;
  line-height:1.8;
}


.farm-photo-upload-button{
  min-width:128px;
  height:44px;

  display:inline-flex;
  align-items:center;
  justify-content:center;

  padding:0 18px;

  border-radius:7px;

  background:#466951;
  color:#fff;

  font-size:12px;
  font-weight:800;

  text-decoration:none;

  box-shadow:
    0 5px 16px
    rgba(50,78,58,.13);
}


.farm-photo-upload-button:hover{
  background:#385b44;
}


/* TOOLBAR */

.farm-feed-area{
  padding:42px 0 90px;
}


.farm-feed-toolbar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;

  margin-bottom:22px;
}


.farm-feed-tabs{
  display:flex;
  align-items:center;
  gap:4px;
}


.farm-feed-tabs button{
  min-width:82px;
  height:38px;

  padding:0 14px;

  border:1px solid #d5dbd3;
  border-radius:6px;

  background:#fff;
  color:#6a756e;

  font-size:11px;
  font-weight:800;

  cursor:pointer;
}


.farm-feed-tabs button[aria-pressed="true"]{
  border-color:#4b6d55;
  background:#4b6d55;
  color:#fff;
}


.farm-feed-count{
  color:#929991;
  font-size:11px;
}


/* GRID */

.farm-photo-grid{
  display:grid;

  grid-template-columns:
    repeat(3,minmax(0,1fr));

  gap:20px;
}


.farm-photo-card{
  min-width:0;

  overflow:hidden;

  border:1px solid #e0e3dc;
  border-radius:10px;

  background:#fff;

  box-shadow:
    0 4px 16px
    rgba(45,62,50,.035);
}


.farm-photo-media{
  position:relative;

  display:block;

  width:100%;

  aspect-ratio:1/1;

  overflow:hidden;

  background:#ecefe9;
}


.farm-photo-media img{
  width:100%;
  height:100%;

  display:block;

  object-fit:cover;

  transition:
    transform .28s ease;
}


.farm-photo-card:hover
.farm-photo-media img{
  transform:scale(1.025);
}


.farm-photo-multiple{
  position:absolute;

  top:11px;
  right:11px;

  min-width:28px;
  height:28px;

  display:grid;
  place-items:center;

  padding:0 7px;

  border-radius:999px;

  background:rgba(21,31,24,.72);
  color:#fff;

  font-size:10px;
  font-weight:900;

  backdrop-filter:blur(5px);
}


.farm-photo-card-body{
  padding:14px 15px 15px;
}


.farm-photo-author-row{
  display:flex;
  align-items:center;
  gap:9px;

  min-height:34px;
}


.farm-photo-avatar{
  width:30px;
  height:30px;

  flex:0 0 30px;

  border-radius:50%;

  object-fit:cover;

  background:#edf0eb;

  border:1px solid #e1e5df;
}


.farm-photo-avatar-fallback{
  width:30px;
  height:30px;

  flex:0 0 30px;

  display:grid;
  place-items:center;

  border-radius:50%;

  background:#496d54;
  color:#fff;

  font-size:10px;
  font-weight:900;
}


.farm-photo-author{
  min-width:0;

  flex:1;
}


.farm-photo-author strong{
  display:block;

  overflow:hidden;

  color:#45594b;

  font-size:11px;

  text-overflow:ellipsis;
  white-space:nowrap;
}


.farm-photo-author small{
  display:block;

  margin-top:2px;

  color:#a0a69f;

  font-size:8px;
}


.farm-member-badge{
  display:inline-grid;
  place-items:center;

  width:17px;
  height:17px;

  margin-right:4px;

  border-radius:4px;

  background:#3f694c;
  color:#fff;

  font:bold 8px Arial;
}


.farm-photo-title{
  display:block;

  margin-top:13px;

  overflow:hidden;

  color:#304337;

  text-decoration:none;

  font-size:14px;
  font-weight:800;
  line-height:1.45;

  text-overflow:ellipsis;
  white-space:nowrap;
}


.farm-photo-caption{
  min-height:38px;

  margin:6px 0 0;

  overflow:hidden;

  color:#747d76;

  font-size:11px;
  line-height:1.65;

  display:-webkit-box;

  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
}


.farm-photo-actions{
  display:flex;
  align-items:center;

  gap:7px;

  margin-top:13px;
  padding-top:11px;

  border-top:1px solid #edf0eb;
}


.farm-like-button{
  min-height:30px;

  display:flex;
  align-items:center;
  gap:5px;

  padding:0 8px;

  border:0;
  border-radius:5px;

  background:transparent;

  color:#707c73;

  font-size:11px;
  font-weight:800;

  cursor:pointer;
}


.farm-like-button:hover{
  background:#f3f6f2;
}


.farm-like-button[aria-pressed="true"]{
  color:#c25747;
}


.farm-comments-link{
  min-height:30px;

  display:flex;
  align-items:center;

  padding:0 8px;

  border-radius:5px;

  color:#707c73;

  text-decoration:none;

  font-size:11px;
  font-weight:700;
}


.farm-comments-link:hover{
  background:#f3f6f2;
}


.farm-photo-open{
  margin-left:auto;

  color:#939b94;

  text-decoration:none;

  font-size:9px;
  font-weight:700;
}


.farm-photo-empty{
  grid-column:1/-1;

  min-height:300px;

  display:grid;
  place-items:center;

  padding:40px;

  border:1px dashed #d7ddd5;
  border-radius:10px;

  color:#969d97;

  text-align:center;

  font-size:12px;
}


.farm-load-more-wrap{
  display:flex;
  justify-content:center;

  margin-top:32px;
}


.farm-load-more{
  min-width:126px;
  height:40px;

  padding:0 18px;

  border:1px solid #d0d8d0;
  border-radius:6px;

  background:#fff;
  color:#5c6d61;

  font-size:11px;
  font-weight:800;

  cursor:pointer;
}


.farm-load-more:hover{
  border-color:#6c8572;
}


.farm-load-more:disabled{
  opacity:.4;
  cursor:default;
}


/* =========================================================
   FARM WRITE PAGE
========================================================= */

.farm-write-page{
  min-height:100vh;

  padding:58px 0 100px;

  background:#fbfaf5;
}


.farm-write-wrap{
  width:min(820px,calc(100% - 40px));

  margin:0 auto;
}


.farm-write-back{
  display:inline-block;

  margin-bottom:24px;

  color:#66766b;

  text-decoration:none;

  font-size:11px;
  font-weight:800;
}


.farm-write-header{
  margin-bottom:28px;
}


.farm-write-header small{
  color:#9b7145;

  font:700 9px Georgia,serif;

  letter-spacing:.16em;
}


.farm-write-header h1{
  margin:8px 0 0;

  color:#385341;

  font-size:30px;
}


.farm-write-header p{
  margin:9px 0 0;

  color:#858d86;

  font-size:12px;
}


.farm-write-login{
  padding:38px;

  border:1px solid #dce1da;
  border-radius:9px;

  background:#fff;

  text-align:center;
}


.farm-write-login p{
  margin:0 0 18px;

  color:#758078;

  font-size:12px;
}


.farm-write-login button{
  min-width:130px;
  height:40px;

  border:0;
  border-radius:6px;

  background:#466951;
  color:#fff;

  font-weight:800;

  cursor:pointer;
}


.farm-write-form{
  padding:26px;

  border:1px solid #dce1da;
  border-radius:10px;

  background:#fff;
}


.farm-write-field{
  display:block;

  margin-bottom:22px;
}


.farm-write-field > span{
  display:block;

  margin-bottom:7px;

  color:#506056;

  font-size:11px;
  font-weight:800;
}


.farm-write-field input[type="text"],
.farm-write-field textarea{
  box-sizing:border-box;

  width:100%;

  padding:12px 13px;

  border:1px solid #ccd5cd;
  border-radius:6px;

  background:#fff;

  color:#34423a;

  font:13px/1.7 Arial,"Noto Sans KR",sans-serif;
}


.farm-write-field textarea{
  resize:vertical;

  min-height:140px;
}


.farm-upload-box{
  padding:18px;

  border:1px dashed #cbd5cb;
  border-radius:8px;

  background:#f8faf7;
}


.farm-upload-box input{
  display:block;
  width:100%;
}


.farm-upload-help{
  display:block;

  margin-top:7px;

  color:#979e98;

  font-size:9px;
}


.farm-upload-status{
  min-height:18px;

  margin-top:9px;

  color:#5d705f;

  font-size:10px;
}


.farm-upload-preview{
  display:grid;

  grid-template-columns:
    repeat(5,minmax(0,1fr));

  gap:8px;

  margin-top:12px;
}


.farm-preview-item{
  position:relative;

  aspect-ratio:1/1;

  overflow:hidden;

  border-radius:6px;

  background:#ecefe9;
}


.farm-preview-item img{
  width:100%;
  height:100%;

  object-fit:cover;
}


.farm-preview-remove{
  position:absolute;

  top:5px;
  right:5px;

  width:25px;
  height:25px;

  padding:0;

  border:0;
  border-radius:50%;

  background:rgba(20,25,22,.72);
  color:#fff;

  cursor:pointer;
}


.farm-write-actions{
  display:flex;
  justify-content:flex-end;

  gap:8px;

  margin-top:28px;
}


.farm-write-actions a,
.farm-write-actions button{
  min-height:40px;

  display:inline-flex;
  align-items:center;
  justify-content:center;

  box-sizing:border-box;

  padding:0 17px;

  border:1px solid #d1d8d1;
  border-radius:6px;

  background:#fff;
  color:#5e6d63;

  text-decoration:none;

  font:800 11px Arial,"Noto Sans KR",sans-serif;
}


.farm-write-actions button{
  border-color:#466951;

  background:#466951;
  color:#fff;

  cursor:pointer;
}


/* =========================================================
   RESPONSIVE
========================================================= */

@media(max-width:850px){

  .farm-photo-grid{
    grid-template-columns:
      repeat(2,minmax(0,1fr));
  }


  .farm-photo-hero-inner{
    align-items:flex-start;
    flex-direction:column;
  }

}


@media(max-width:600px){

  .farm-photo-wrap,
  .farm-write-wrap{
    width:calc(100% - 24px);
  }


  .farm-photo-hero{
    padding:45px 0 34px;
  }


  .farm-photo-hero h1{
    font-size:30px;
  }


  .farm-feed-area{
    padding-top:25px;
  }


  .farm-photo-grid{
    gap:8px;
  }


  .farm-photo-card{
    border-radius:6px;
  }


  .farm-photo-card-body{
    padding:10px;
  }


  .farm-photo-caption{
    display:none;
  }


  .farm-photo-avatar,
  .farm-photo-avatar-fallback{
    width:25px;
    height:25px;

    flex-basis:25px;
  }


  .farm-photo-author small{
    display:none;
  }


  .farm-photo-title{
    font-size:11px;
  }


  .farm-photo-actions{
    gap:2px;
  }


  .farm-photo-open{
    display:none;
  }


  .farm-upload-preview{
    grid-template-columns:
      repeat(3,minmax(0,1fr));
  }

}




/* =========================================================
   FARM HERO FINAL COMPACT V3
========================================================= */

.farm-photo-hero{
  padding:18px 0 !important;
}

.farm-photo-hero-inner{
  align-items:center !important;
}

.farm-photo-hero small{
  margin-bottom:4px !important;

  font-size:8px !important;
}

.farm-photo-hero h1{
  margin:0 !important;

  font-size:31px !important;
  line-height:1.05 !important;
}

.farm-photo-hero p{
  max-width:560px !important;

  margin:5px 0 0 !important;

  font-size:10px !important;
  line-height:1.35 !important;
}

.farm-photo-upload-button{
  min-width:118px !important;
  height:36px !important;

  padding:0 14px !important;

  font-size:11px !important;
}

.farm-feed-area{
  padding-top:22px !important;
}

/* FARM 우측 장식 */
.farm-photo-hero.gs-subhero .gs-subhero-visual{
  width:94px !important;
  height:94px !important;

  right:24% !important;
}

.farm-photo-hero.gs-subhero .gs-subhero-emblem-bg{
  width:84px !important;
  height:84px !important;
}

.farm-photo-hero.gs-subhero .gs-subhero-image{
  width:69px !important;
  height:69px !important;
}

.farm-photo-hero.gs-subhero .gs-subhero-tag{
  display:none !important;
}

/* /FARM HERO FINAL COMPACT V3 */
