.wrap {
	vertical-align:middle; 
	/*display:inline-block;*/
}

.nomad_code_input {
	width:65%;
	height:40px;
	/*background-color:rgb(69, 74, 84);
	color: rgb(239, 239, 239);*/
	background-color: white;
	color: black;
	font-family: Menlo, Monaco, Consolas, 'Courier New', monospace;
	font-size: 13px;
}

.src_btn {
	margin-top:10;
	width:50;
	height:35;
	font-size:15px;
}

.recent_btn {
	margin-top:10;
	width:80;
	height:30;
	display:none;
}

.copy_btn_area{overflow:hidden;clear:both;width:100%}
.copy_btn_area .left_btn{float:left;margin-top:0;width:50;height:20;}
.copy_btn_area .right_btn{float:right;margin-top:0;width:50;height:20;}

.iterate_btn {
	margin-top:10px;
	width:52px;
	height:35px;
	border-radius:20px;
}

.small_iterate_btn {
	margin-top:10px;
	width:52px;
	height:35px;
	border-radius:20px;
}

.edit_btn {
	margin-top:10px;
	width:52px;
	height:35px;
	border-radius:20px;	
	background-color:rgb(248, 242, 218);
}

.new_btn {
	margin-top:10px;
	width:45px;
	height:35px;
	border-radius:20px;	
	background-color:rgb(248, 242, 218);
}

.big_new_btn {
	width:50px;
	height:50px;
	border-radius:30px;	
	background-color:rgb(248, 242, 218);
	font-size: 20px;
}

.nomad_memo_area {
	padding: 0px;
	min-height:400px;
	max-height:400px;
	max-width: 100%;
	overflow: auto;
	background-color:rgb(69, 72, 82);
	text-align:left;
}

.retriever_nomad_memo_area {
	padding: 0px;
	min-height:500px;
	max-height:500px;
	max-width: 100%;
	overflow: auto;
	background-color:rgb(55, 55, 55);
	text-align:left;
}

.retriever_nomad_memo_area_contrast {
	padding: 0px;
	min-height:500px;
	max-height:500px;
	max-width: 100%;
	overflow: auto;
	background-color: white;
	text-align:left;
	border: 2px solid rgb(55, 55, 55);
}

.nomad_memo {
	font-family: Menlo, Monaco, Consolas, 'Courier New', monospace;
	color: rgb(239, 239, 239);
	font-size: 13px;
	padding: 5px;
}

.nomad_memo_kr {
	font-family: Menlo, Monaco, Consolas, 'Courier New', monospace;
	color: rgb(239, 239, 239);
	font-size: 13px;
	padding: 5px;
}

.nomad_memo_contrast {
	font-family: Menlo, Monaco, Consolas, 'Courier New', monospace;
	color: rgb(45, 45, 45);
	font-size: 13px;
	padding: 5px;
}

.top_btn_area {
	position: fixed;
}

.iterate_btn_area {
	margin-top: 0px;
}

.left_top_btn_a {
	display: none;
	position: fixed;
	bottom: 2px;
	left: 0px;
	color: rgb(69, 74, 84);
}

.left_bottom_btn_a {
	position: fixed;
	top: 0px;
	left: 0px;
	color: rgb(69, 74, 84);
}

.right_top_btn_a {
	position: fixed;
	top: 86%;
	left: 75%;
	color: rgb(69, 74, 84);
}

.right_bottom_btn_a {
	position: fixed;
	top: 0px;
	right: 0px;
	color: rgb(69, 74, 84);
}

body {
    font-family: 'Noto Sans KR', sans-serif;
    display: flex;
    justify-content: center;
    align-items: center;
    min-height: 100vh;
    background-color: #f4f6f8;
    margin: 0;
}

.container {
	margin:auto; 
	text-align:center;	        
    background: white;
    padding: 10px;
    border-radius: 12px;
    box-shadow: 0 4px 12px rgba(0,0,0,0.1);
    width: 460px;
}

h2 {
    text-align: center;
    color: #333;
    margin-bottom: 1.0rem;
    margin-top: 0px;
}

.input-group {
    display: flex;
    gap: 10px;
    margin-bottom: 20px;
}

/* 즐겨찾기 목록 영역 */
.favorites-area {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top:5px;
    /*margin-bottom:20px;*/
    max-height:220px;
    overflow-y:auto;
    border:1px;
    border-style:dashed;
    border-color:grey;
    padding:5px;
	background-color: lightgrey;
}

.fav-item {
    display: flex;
    align-items: center;
    background-color: white;
    padding: 5px 10px;
    border-radius: 20px;
    font-size: 12px;
    color: black;
    transition: background 0.2s;
}

.fav-item:hover {
    background-color: #dee2e6;
}

.fav-text {
    cursor: pointer;
    margin-right: 8px;
}

.hide_favorites {
	font-weight: bold; 
	text-decoration: none; 
	color: black;
}

.delete-btn {
    cursor: pointer;
    color: #999;
    font-size: 12px;
    font-weight: bold;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 16px;
    height: 16px;
    border-radius: 50%;
}

.delete-btn:hover {
    color: #ff4d4d;
    background: rgba(255, 0, 0, 0.1);
}

.edit_key {
	width:100%;
	height:35px;
	background-color:white;
	color: black;
	font-size: 12px;
	margin-top:5px;	        
}

.editkey_title{
	font-size: 14px;
	margin-top:20px;
	text-align: left;
}

.favorites_title{
	font-size: 14px;
	margin-top:15px;
	text-align: left;	        
}

.contact_txt{
	font-size: 12px;
	text-align: left;	        
}

.logo_image {
  width: 190px;
  object-fit: cover;
  margin-top: 10px;
}

.nomad_memo_link {
  color: rgb(248, 242, 218);
  text-decoration-line: none;
}

.nomadmemo_link {
  color: rgb(248, 242, 218);
  text-decoration-line: none;
}

.nomadmemo_link_pdf {
  color: black;
  text-decoration-line: none;
  font-weight: bold;
}

/* 아래로 뜨는 레이어드 팝업 */
.history-layer {
	display: none; /* 기본은 숨김 */
    position: absolute;
    bottom: 32%;
	left: 15%; right: 15%;
	
	justify-content: center;
	align-items: center;
	
    background: white;
	
    border: 1px solid #ccc;
    border-radius: 12px;
    box-shadow: 0 -10px 20px rgba(0,0,0,0.1); /* 위로 그림자 */
    z-index: 100;
    overflow: hidden;
}

/* X 버튼 스타일링 */
.btn-close-history {
    position: absolute;
    top: 5px;        /* 위에서부터의 거리 */
    right: 6px;      /* 오른쪽에서부터의 거리 */
    width: 30px;
    height: 30px;
    background: none;
    border: none;
    font-size: 28px;  /* X 아이콘 크기 */
    font-weight: bold;
    color: #999;      /* 기본 색상 */
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 101;     /* 레이어 내부 콘텐츠보다 위에 위치 */
    line-height: 1;
    transition: color 0.2s;
}

.btn-close-history:hover {
    color: #333;      /* 마우스 올렸을 때 더 진하게 */
}

/* (선택사항) 내부 콘텐츠가 버튼과 겹치지 않게 여백 주기 */
.history-content {
    padding: 20px;
}

/* 팝업 제목 */
.history-header {
    padding: 10px 15px;
    background: #f9f9f9;
    font-size: 14px;
    font-weight: bold;
    border-bottom: 1px solid #eee;
}

/* 스크롤 가능한 목록 영역 */
.history-list {
    max-height: 280px; /* 높이 제한 */
    overflow-y: auto;  /* 상하 스크롤 */
}

.history-item {
    padding: 12px 15px;
    cursor: pointer;
    font-size: 15px;
    border-bottom: 1px solid #f1f1f1;
}

.history-item:hover {
    background-color: #f0f7ff;
}

.history-item:last-child {
    border-bottom: none;
}

/* 스크롤바 디자인 (선택사항) */
.history-list::-webkit-scrollbar {
    width: 6px;
}
.history-list::-webkit-scrollbar-thumb {
    background: #ccc;
    border-radius: 10px;
}

.mid-btn-area {
    /*display: flex;*/
    flex-wrap: wrap;
    margin-top:10px;
    overflow-y:auto;
    border:1px;
    border-style:dashed;
    border-color:grey;
   text-align:center;
}

/* 기본 스타일 */
body {
    font-family: 'Pretendard', sans-serif;
    margin: 0;
    padding: 0;
    overflow-x: hidden;
}

/* 햄버거 아이콘 스타일 */
.menu-btn {
   position: absolute;
   top: 20px;
   right: 15px;
   font-size: 25px;
   font-weight: bold;
    background: none;
    border: none;
    cursor: pointer;
    display: flex;
    flex-direction: column;
    gap: 5px;
    z-index: 1001; /* 메뉴보다 위에 위치 */
}

.menu-btn span {
    display: block;
    width: 20px;
    height: 3px;
    background: #333;
    transition: 0.3s;
}

/* 메뉴 레이어 스타일 (오른쪽 바깥에 대기) */
.side-menu {
    position: fixed;
    top: 0;
    right: -275px; /* 초기 위치: 화면 오른쪽 밖 */
    width: 275px;
    height: 100%;
    /*background: #fff;*/
	background: rgb(248, 242, 218);
    box-shadow: -2px 0 10px rgba(0,0,0,0.1);
    transition: 0.4s ease;
    z-index: 1000;
    padding: 35px 15px 15px;
    box-sizing: border-box;
}

/* 메뉴 활성화 시 */
.side-menu.active {
    right: 0;
}

/* 배경 어둡게 처리 (오버레이) */
.overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0,0,0,0.5);
    visibility: hidden;
    opacity: 0;
    transition: 0.3s;
    z-index: 999;
}

.overlay.active {
    visibility: visible;
    opacity: 1;
}

/* 메뉴 내부 목록 스타일 */
.side-menu ul {
    list-style: none;
    padding: 0;
}

.side-menu ul li {
    margin-bottom: 20px;
}

.side-menu ul li a {
    text-decoration: none;
    color: #333;
    font-size: 1.2rem;
    font-weight: 500;
    transition: color 0.2s;
}

.side-menu ul li a:hover {
    color: #007bff;
}

/* 닫기 버튼용 햄버거 변형 (선택 사항) */
.menu-btn.open span:nth-child(1) { transform: translateY(8px) rotate(45deg); }
.menu-btn.open span:nth-child(2) { opacity: 0; }
.menu-btn.open span:nth-child(3) { transform: translateY(-8px) rotate(-45deg); }

.hamburger-btn {
    position: absolute; /* 중요: 부모 내에서 위치 설정 */
    right: 0px; /* 우측 끝에서 15px */
    top: 50%; /* 수직 중앙 */
    transform: translateY(-50%); /* 정확한 수직 중앙 정렬 */
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    width: 25px;
    height: 18px;
    cursor: pointer;
}

.hamburger-btn span {
    display: block;
    height: 3px;
    background-color: #333; /* 햄버거 줄 색상 */
    border-radius: 2px;
}

/*Template-Recipe*/
.recipe-card-embedded {
	position: relative;
	width: 100%;
	height: 100%;
	border-radius: 10px;
	overflow: hidden;
	box-shadow: 0 10px 20px rgba(0, 0, 0, 0.15);
	/*background-image: url('https://nomadmemo.uk/template-recipe.jpg');*/
	background-size: cover;
	background-position: center;
	margin: 0 auto;
	text-align: left;
}

.recipe-card-embedded * {
	box-sizing: border-box;
	margin: 0;
	padding: 0;
	font-family: 'Malgun Gothic', '맑은 고딕', sans-serif;
}

.recipe-card-embedded .overlay-recipe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: linear-gradient(to bottom, rgba(0,0,0,0.3), rgba(0,0,0,0.75));
	backdrop-filter: blur(0px);
	padding: 10px;
	display: flex;
	flex-direction: column;
	color: #ffffff;
}
	
.recipe-card-embedded .recipe-title {
	font-size: 24px;
	font-weight: bold;
	margin-bottom: 5px;
	text-shadow: 1px 1px 4px rgba(0,0,0,0.6);
	color: #ffcc00;
}

.recipe-card-embedded .recipe-subtitle {
	font-size: 13px;
	color: #ddd;
	margin-bottom: 20px;
}

.recipe-card-embedded .recipe-content {
	flex: 1;
	overflow-y: auto;
	padding-left: 5px;
	padding-right: 5px;
}

.recipe-card-embedded .recipe-content::-webkit-scrollbar {
	width: 3px;
}

.recipe-card-embedded .recipe-content::-webkit-scrollbar-thumb {
	background: rgba(255, 255, 255, 0.3);
	border-radius: 2px;
}

.recipe-card-embedded .section-title {
	font-size: 16px;
	font-weight: bold;
	margin-top: 15px;
	margin-bottom: 8px;
	border-left: 3px solid #ffcc00;
	padding-left: 8px;
}

.recipe-card-embedded .ingredients-list {
	list-style: none;
	font-size: 13px;
	line-height: 1.6;
	color: #eee;
}

.recipe-card-embedded .instructions-list {
	padding-left: 18px;
	font-size: 13px;
	line-height: 1.6;
	color: #eee;
}

.recipe-card-embedded .instructions-list li {
	margin-bottom: 8px;
}

/*Template-Itinerary*/
.travel-card-embedded {
	position: relative;
	width: 100%;
	height: 100%;
	border-radius: 10px;
	overflow: hidden;
	box-shadow: 0 10px 20px rgba(0, 0, 0, 0.15);
	/*background-image: url('https://nomadmemo.uk/template-itinerary.jpg');*/
	background-size: cover;
	background-position: center;
	margin: 0 auto;
	text-align: left;
}

.travel-card-embedded * {
    box-sizing: border-box;
    font-family: 'Malgun Gothic', '맑은 고딕', sans-serif;
}

.travel-card-embedded .overlay-travel {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(to bottom, rgba(0, 0, 0, 0.2), rgba(15, 23, 42, 0.85));
    backdrop-filter: blur(0.5px);
    padding: 10px;
    display: flex;
    flex-direction: column;
    color: #ffffff !important;
}

.travel-card-embedded .travel-title {
    font-size: 24px !important;
    font-weight: bold;
    margin: 0 0 5px 0 !important;
    padding: 0 !important;
    text-shadow: 1px 1px 6px rgba(0,0,0,0.8);
    color: #ffcc00 !important;
    border: none !important;
	z-index: 999;
}

.travel-card-embedded .travel-subtitle {
    font-size: 13px !important;
    color: #eee !important;
    text-shadow: 1px 1px 4px rgba(0,0,0,0.6);
    margin: 0 0 20px 0 !important;
    padding: 0 !important;
}

.travel-card-embedded .travel-content {
    flex: 1;
    overflow-y: auto;
    padding-right: 5px;
}

/* 스크롤바 커스텀 */
.travel-card-embedded .travel-content::-webkit-scrollbar {
    width: 3px;
}
.travel-card-embedded .travel-content::-webkit-scrollbar-thumb {
    background: rgba(255, 255, 255, 0.3);
    border-radius: 2px;
}

.travel-card-embedded .day-title {
    font-size: 15px !important;
    font-weight: bold;
    margin: 15px 0 12px 0 !important;
    background: rgba(255, 255, 255, 0.15) !important;
    padding: 4px 10px !important;
    border-radius: 20px !important;
    display: inline-block;
    color: #fff !important;
    border: 1px solid rgba(255, 255, 255, 0.2) !important;
}

.travel-card-embedded .timeline {
    list-style: none !important;
    padding-left: 10px !important;
    border-left: 1px dashed rgba(255, 255, 255, 0.4) !important;
    margin: 0 0 0 8px !important;
}

.travel-card-embedded .timeline-item {
    position: relative;
    margin: 0 0 12px 0 !important;
    padding-left: 15px !important;
    font-size: 13.5px !important;
    line-height: 1.5 !important;
    color: #eee !important;
    list-style: none !important;
}

.travel-card-embedded .timeline-item::before {
    content: '';
    position: absolute;
    left: -14px;
    top: 5px;
    width: 7px;
    height: 7px;
    background-color: #ffcc00;
    border-radius: 50%;
}

.travel-card-embedded .time {
    font-size: 11px !important;
    color: #ffcc00 !important;
    font-weight: bold;
    margin-right: 5px;
    display: inline-block;
}

.travel-card-embedded .tip-box {
    background: rgba(0, 0, 0, 0.3) !important;
    border-left: 3px solid #ffcc00 !important;
    padding: 8px 12px !important;
    margin: 15px 0 0 0 !important;
    border-radius: 0 6px 6px 0 !important;
    font-size: 12.5px !important;
    color: #ddd !important;
    text-align: left !important;
}

.travel-card-embedded .tip-box strong {
    color: #ffcc00 !important;
    display: block;
    margin-bottom: 3px;
}

.gray-checkbox {
  /* 흑백으로 변경 */
  filter: grayscale(100%);
  
  /* 크기 키우기 (예: 1.2배) */
  transform: scale(1.2); 
  
  /* 여백 조정 (크기가 커지면서 주변 요소와 겹치는 것을 방지) */
  margin: 4px;
}