* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  font-family: Arial, sans-serif;
}

body {
    background-color: #f3f4f6;
    margin: 0;
    padding: 0; /* 패딩을 0으로 설정 */
    box-sizing: border-box; /* 모든 요소에 패딩과 보더를 포함하도록 설정 */
    overflow-x: hidden; /* 좌우 스크롤 숨기기 */
}

.content {
  padding: 20px;
  flex: 1;
  overflow-y: auto;
  background-color: #f3f4f6;
  margin-bottom: 120px;
}

.container {
  width: 100%;
  padding: 20px;
  background-color: white;
  margin-top: 60px; /* header 높이만큼 margin-top을 증가 */
}


.header {
    display: flex;
    justify-content: space-between; /* 공간을 동등하게 나눔 */
    align-items: center;
    position: fixed; /* 고정 위치 설정 */
    top: 0; /* 상단 고정 */
    left: 0; /* 좌측 고정 */
    right: 0; /* 우측 고정 */
    padding: 5px 20px;
    background-color: #f3f4f6; /* 배경색 추가 */
    height: 60px; /* 고정 높이 설정 */
    z-index: 1000; /* 다른 요소 위에 표시되도록 설정 */
}

.app-name {
  position: fixed; 
  left: 20px; 
  top: 15px;
  font-size: 24px; /* 글씨 크기 조정 */
  font-weight: 500; /* 굵기 조정 */
  color: #4A4A4A; /* 검은색에 가까운 회색 */
}

.notification-icon {
  position: fixed;
  top: 13px;
  right: 20px;
  cursor: pointer;
  font-size: 32px; /* 알림 아이콘 크기 조정 */
  color: gray;
}

.notification-history {
  top: 50px;
  right: 10px;
  background: white;
  border: 1px solid #ddd;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
  padding: 10px;
  z-index: 1001;
}

.notification-history ul {
  list-style: none;
  padding: 0;
}

.notification-history li {
  border-bottom: 1px solid #ddd;
  padding: 10px;
}

.notification-history img.notification-image {
  width: 100%;
  height: auto;
  border-radius: 8px;
  margin-bottom: 10px;
}

.carousel {
  position: relative;
  width: 100%;
  max-width: 100%;
  height: 250px;
  overflow: hidden;
  margin-bottom: 20px;
  margin-top:48px;
}

.carousel-item {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-size: cover;
  background-position: center;
  transition: opacity 1s ease-in-out;
  opacity: 0;
  z-index: 0;
}

.carousel-item.active {
  opacity: 1;
  z-index: 1;
}

/* 카드 스타일 - padding과 상단 여백 조정 */
.card-container {
  display: flex;
  justify-content: space-around;
  flex-wrap: wrap;
  margin-top: 10px; /* 상단 여백 조정 */
}

.card {
  background-color: white;
  border-radius: 10px;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
  padding: 10px; /* padding 값을 줄임 */
  width: 30%;
  text-align: center;
  margin: 10px 0;
  transition: transform 0.3s ease;
  cursor: pointer;
}

.card:hover {
  transform: translateY(-5px);
}

.card .icon {
  font-size: 30px;
  margin-bottom: 10px;
}

.bottom-menu {
    display: flex;
    justify-content: space-around;
    align-items: center;
    background-color: #f8f9fa;
    border-top: 1px solid #e0e0e0;
    height: 80px;
    position: fixed; /* 페이지 하단에 고정 */
    bottom: 0;
    width: 100%; /* 전체 너비를 차지하도록 설정 */
    box-shadow: 0 -1px 5px rgba(0, 0, 0, 0.1);
    z-index: 1000; /* 하단 메뉴가 항상 보이도록 설정 */
    box-sizing: border-box; /* 패딩과 보더 포함하여 전체 너비를 관리 */
    margin-bottom: 0px;
}

.menu-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    color: #333;
    font-size: 12px;
    cursor: pointer;
    flex: 1;
    margin-top: -12px;
}

.menu-item.active {
    color: #007bff;
}

.icon {
    font-size: 20px;
    margin-bottom: 4px;
}

.back-button {
  background: none;
  border: none;
  font-size: 32px; /* 아이콘 크기 조정 */
  cursor: pointer;
  margin-bottom: 20px;
  color: gray; /* 아이콘 색상 */
}

.back-button:hover {
  color: #357ae8; /* 호버 시 색상 변경 */
}

#subscription-buttons {
    display: flex;
    justify-content: center; /* 가로 중앙 정렬 */
    align-items: center; /* 세로 중앙 정렬 */
    flex-direction: column;
    margin-top: 20px; /* 상단 여백 추가 */
}

#subscribe-btn, #unsubscribe-btn {
    padding: 12px 12px;
    font-size: 16px;
    color: #546E7A;
    background-color: transparent; /* 배경색 제거 */
    border: none; /* 테두리 제거 */
    cursor: pointer;
    text-align: center;
    margin: 5px 0; /* 버튼 사이의 간격 */
}

#subscribe-btn:hover, #unsubscribe-btn:hover {
    color: #37474F; /* 호버 시 텍스트 색상 어둡게 변경 */
}


.link-button {
    margin-top: 8px;
    background-color: #4285f4; /* 구글 파란색 */
    color: white; /* 글자색 */
    border: none; /* 테두리 없음 */
    padding: 12px 12px; /* 패딩을 약간 늘림 */
    text-align: center; /* 가운데 정렬 */
    text-decoration: none; /* 밑줄 제거 */
    display: inline-block; /* 인라인 블록으로 설정 */
    font-size: 16px; /* 글자 크기 */
    border-radius: 4px; /* 모서리 둥글게 */
    cursor: pointer; /* 커서 포인터 */
    transition: background-color 0.3s, transform 0.2s; /* 배경색 및 크기 변화 애니메이션 */
}

.link-button:hover {
    background-color: #357ae8; /* 호버 시 배경색 */
    transform: translateY(-2px); /* 호버 시 약간 위로 이동 */
} 

.notification-date {
    color: #777; /* 모던한 회색빛 */
    margin-bottom: 10px; /* 간격 조정 */
}

form {
    margin-bottom: 20px;
}

label {
    display: block;
    margin: 10px 0 5px;
}

input[type="text"],
input[type="password"],
textarea {
    width: 100%;
    padding: 8px;
    margin: 5px 0;
    border: 1px solid #ccc;
    border-radius: 4px;
    box-sizing: border-box; /* 패딩과 보더를 포함하여 전체 너비를 관리 */
}

button {
    background-color: #4CAF50;
    color: white;
    border: none;
    padding: -1px 15px;
    text-align: center;
    text-decoration: none;
    display: inline-block;
    font-size: 16px;
    margin: 4px 2px;
    border-radius: 4px;
    cursor: pointer;
}

button:hover {
    background-color: transparent; /* 호버 시 배경색을 없앰 */
}

li {
    margin-bottom: 20px; /* 알림 간격 조정 */
}

h1 {
    color: #333;
    margin: 0; /* 상하 여백 제거 */
    padding: 0 10px; /* 좌우 여백 추가 */
    box-sizing: border-box; /* 패딩과 보더를 포함하여 전체 너비를 관리 */
}

h2 {
    color: #333;
    margin-left: 10px; /* 제목과 카드 좌측 간격 설정 */
}

h3 {
    margin-top: 10px; /* 제목과 본문 간격 조정 */
    margin-bottom: 5px;
}
p {
    margin-top: 5px; /* 본문과 다음 요소 간격 조정 */
}

.error {
    color: red;
}

.post {
    margin-bottom: 5px; /* 첫 번째 포스트 아래는 기본 여백 유지 */
    padding: 10px; /* 패딩을 10px로 설정 */
    border: 1px solid #ddd;
    border-radius: 4px;
    background-color: #fff;
    box-sizing: border-box; /* 패딩과 보더 포함하여 전체 너비를 관리 */
}

.post + .post {
    margin-top: 5px; /* 두 번째 포스트부터 첫 번째 포스트와의 간격 줄임 */
}

.post h3 {
    margin: 0; /* 제목과 상단 간격 제거 */
    margin-bottom: 5px; /* 제목과 내용 사이 간격 설정 */
}

iframe {
    width: 100%;
    max-width: 560px;
    height: 274px;
    margin-top: 10px;
}


/* 로딩 애니메이션 */
.loading-icon {
    display: none;
    width: 40px;
    height: 40px;
    border: 4px solid rgba(0, 0, 255, 0.3);
    border-radius: 50%;
    border-top-color: blue;
    animation: spin 1s linear infinite;
    margin: 20px auto;
}

@keyframes spin {
    to {
        transform: rotate(360deg);
    }
}

#loading {
    display: flex;
    justify-content: center;
    align-items: center;
    margin-top: 20px;
} 

/* 버튼 스타일링 */
.button {
    background-color: #4CAF50;
    color: white;
    border: none;
    padding: 10px 15px;
    text-align: center;
    text-decoration: none;
    display: inline-block;
    font-size: 16px;
    margin: 4px 2px;
    border-radius: 4px;
    cursor: pointer;
}

.button:hover {
    background-color: #45a049;
}

.edit-button {
    color: #007BFF;
    text-decoration: none;
    display: block;
    margin-top: 10px;
}

.edit-button:hover {
    text-decoration: underline;
}

.delete-button {
    color: red;
    text-decoration: none;
    display: block;
    margin-top: 10px;
}

.delete-button:hover {
    text-decoration: underline;
}

.bottom-menu {
    display: flex;
    justify-content: space-around;
    align-items: center;
    background-color: #f8f9fa;
    border-top: 1px solid #e0e0e0;
    height: 80px;
    position: fixed; /* 페이지 하단에 고정 */
    bottom: 0;
    width: 100%; /* 전체 너비를 차지하도록 설정 */
    box-shadow: 0 -1px 5px rgba(0, 0, 0, 0.1);
    z-index: 1000; /* 하단 메뉴가 항상 보이도록 설정 */
    box-sizing: border-box; /* 패딩과 보더 포함하여 전체 너비를 관리 */
    margin-bottom: 0px;
}

.menu-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    color: #333;
    font-size: 12px;
    cursor: pointer;
    flex: 1;
    margin-top: -12px;
}

.menu-item.active {
    color: #007bff;
}

/* 완전히 동그란 "오시는 길" 버튼 스타일 */
.round-button {
    display: inline-block;
    width: 60px; /* 가로와 세로 크기를 동일하게 설정하여 원형 */
    height: 60px;
    line-height: 60px; /* 텍스트를 버튼 중앙에 맞춤 */
    font-size: 30px;
    color: white;
    background-color: #4285f4;
    border-radius: 50%; /* 원형 */
    text-align: center;
    text-decoration: none;
    transition: background-color 0.3s, transform 0.2s;
}

.round-button:hover {
    background-color: #357ae8;
    transform: translateY(-3px); /* 호버 시 약간 위로 이동 */
}

/* "오시는 길" 텍스트 스타일 */
.button-label {
    font-size: 14px;
    margin-top: 8px;
    color: #4A4A4A;
}



/* 반응형 디자인 */
@media (max-width: 768px) {
    .container {
        padding: 5px; /* 모바일에서 패딩 줄이기 */
        margin: 0; /* 좌우 여백을 0으로 설정 */
        padding-bottom: 70px; /* 하단 메뉴의 높이만큼 여백 추가 */
    }

    .post {
        margin: 15px 5px; /* 모바일에서 여백 조정 */
        padding: 15px; /* 패딩 유지 */
        padding-top: 8px;
        margin-top: 48px; /* 첫 번째 포스트와의 간격 유지 */
    }

    .post + .post {
        margin-top: 5px; /* 두 번째 포스트부터 첫 번째 포스트와의 간격 줄임 */
    }

    .pagination-button {
        padding: 8px 16px; /* 버튼 크기 조정 */
        font-size: 14px; /* 글자 크기 줄이기 */
    }
}
