* { /*border-radius:0 !important;*/ }
body { overflow-y:scroll; }
a { color:#777 }
a:focus, a:hover, a:active {color:#777}
i { padding-right:3px; }
.em { color:#007bff; }
.bold { font-weight:bold; }
.row {margin:0;padding:0;}
.google-auto-placed {border:1px solid #ccc;}
@media (max-width: 575.98px) { .hidden-xs {display:none;} .alert{font-size:0.7rem;} .nav-link { font-size:0.8rem; padding:.5rem .1rem; } .nav-link i { display:block; } }
@media (min-width: 576px) and (max-width: 767.98px) { .hidden-sm {display:none;} .alert{font-size:0.7rem;} .nav-link { font-size:0.8rem; padding:.5rem .1rem; } .nav-link i { display:block; } }
@media (min-width: 768px) and (max-width: 991.98px) { .hidden-md {display:none;} .alert{font-size:0.8rem;} .nav-link { font-size:0.9rem; padding:.5rem .1rem; } .nav-link i { display:block; } }
@media (min-width: 992px) and (max-width: 1199.98px) { .hidden-lg {display:none;} .alert{font-size:0.9rem;} }
@media (min-width: 1200px) { .hidden-xl {display:none;} }

header .nav { }
header .nav-link { background:#f8f8f8;color:#777 !important;border-top:1px solid #ccc;border-right:1px solid #ccc;border-bottom:2px solid #555; }
header .nav-link:first-child { border-left:1px solid #ccc }
header .nav-link.active { background:#fff;color:#007bff !important;border-top:1px solid #ccc;border-bottom:2px solid #555; }

header h1 { padding:.5em 0;font-size:1.75em;text-align:center; }
.alert {text-align:center;color:#666}

.dropdown {width:100%;}
.dropdown .dropdown-toggle {width:100%;}
.dropdown .dropdown-menu {min-width:100%;max-height:200px;overflow-y:auto;}
.dropdown .dropdown-item {padding:.25rem 1rem}

.row {margin-right:0 !important; margin-left:0 !important;}
.table {margin-bottom:0 !important}
.table th, .table .th {text-align:center;}
.table td, .table th, .table .td, .table .th {padding:.7em .4em;vertical-align:middle;font-size:0.9rem;}
.table .none { width:100%; height:150px; line-height:150px; color:#777;text-align:center;}
.table .num {text-align:right;font-size:0.925em;}

.table .th{font-weight:bold;color:#777;background:#e9ecef;border:1px solid #dee2e6}
.table .td{border:1px solid #dee2e6}

#UnitContent .unit_result {font-size:1.2em;}

.title_sub { color:#666;font-size:0.675em; }

/*.bmi_arw{ position:absolute; height:43px; top:8px; background:url(/images/arw_bmi.png) no-repeat center bottom; font-weight:bold;}
.bmi_arw_tit{ color:#777777; letter-spacing:-1px; font-size:0.875em;margin-right:2px;}*/

/* 메인 */
.card { border-radius: 20px; transition: transform 0.3s ease, box-shadow 0.3s ease; cursor: pointer; } 
.card:hover { transform: translateY(-7px); box-shadow: 0 15px 30px rgba(0,0,0,0.1) !important; } 
.icon-circle { width: 60px; height: 60px; border-radius: 50%; display: flex; align-items: center; justify-content: center; margin: 0 auto 1rem; } 
.stretched-link::after { position: absolute; top: 0; right: 0; bottom: 0; left: 0; z-index: 1; content: ""; } 
.text-dark-blue { color: #2c3e50; }

.calc_table {}
.calc_table tr th, .calc_table tr td{width:43px;height:35px;line-height:35px;padding:0;font-size:0.875em;background:#f9f9f9;border:1px solid #e1e1e1;font-weight:bold;text-align:center;cursor:pointer;}
.calc_table tr td{color:#777}
.calc_table tr th:hover,.calc_table tr td:hover{background:#007bff;color:#fff;}
.calc_table .btn_calc {background:#007bff;color:#fff;}

.no_data {width:100%;min-height:150px;line-height:normal !important;text-align:center;overflow:auto;}

#cal_ask_inp{font-weight:bold;letter-spacing:2px}
#calc_result{background:#f9f9f9;text-align:right;border:1px solid #e1e1e1;padding-right:5px;min-height:38px;line-height:38px;}

.bg-kr {background:#FFE5E5}
.bg-cn {background:#E8F5E9}
.bg-jp {background:#E3F2FD}
.bg-en {background:#F3E5F5}
.bg-eu {background:#FFFDE7}

/* 공학용계산기 */
.no-resize { resize: none; }
.custom-keypad .btn { width: 33.33%; height: 50px; border: 1px solid #dee2e6; border-radius: 0; }
.custom-keypad .col-3 .btn { width: 100%; height: 50px; }
#calc_result_val { word-break: break-all; }

/* 퍼센트계산기 */
.data_item { transition: opacity 0.3s ease; }
.data_item.inactive { opacity: 0.5; }
.data_item.active-item { border-color: #007bff !important; box-shadow: 0 0 5px rgba(0,123,255,0.2); }

/* 로또 */
.lotto-ball { display: inline-flex; align-items: center; justify-content: center; width: 45px; height: 45px; border-radius: 50%; color: #fff; font-weight: 700; font-size: 1.2rem; margin: 5px; box-shadow: inset -3px -3px 6px rgba(0,0,0,0.3); text-shadow: 1px 1px 2px rgba(0,0,0,0.3); }
.ball-yellow { background: linear-gradient(135deg, #fbc400, #f39c12); }
.ball-blue { background: linear-gradient(135deg, #69c8f2, #2980b9); }
.ball-red { background: linear-gradient(135deg, #ff7272, #e74c3c); }
.ball-gray { background: linear-gradient(135deg, #bdc3c7, #7f8c8d); }
.ball-green { background: linear-gradient(135deg, #b0d840, #27ae60); }
.lotto-plus {font-size: 1.5rem;font-weight: bold;color: #adb5bd;display: flex;align-items: center;height: 45px;}
.lotto-bonus-label {display: block;font-size: 0.75rem;color: #6c757d;font-weight: bold;letter-spacing: -0.5px;}
.quick-round-btn.active, .quick-round-btn:active {background-color: #007bff !important;color: #fff !important;border-color: #007bff !important;box-shadow: inset 0 3px 5px rgba(0,0,0,0.125);}

/* 모바일에서 테이블 텍스트가 너무 촘촘하지 않게 */
@media (max-width: 576px) {
	#result_content td { font-size: 0.75rem; padding: 0.5rem 0.2rem; }
}

.utility-container a:hover {text-decoration:none;}
 .hover-lift { transition: transform 0.25s ease, box-shadow 0.25s ease; border-radius: 15px !important; } 
 .hover-lift:hover { transform: translateY(-7px); box-shadow: 0 1rem 2rem rgba(0,0,0,0.12) !important; background-color: #fff; } 
 .bold { font-weight: 700; } 
 .border-top-4 { border-top: 4px solid #007bff !important; } 


/* 로딩 */
 #loading_overlay { position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: rgba(0, 0, 0, 0.5); display: flex; flex-direction: column; align-items: center; justify-content: center; z-index: 9999; }
 .custom-spinner { width: 3.5rem; height: 3.5rem; border: 0.3em solid #f3f3f3; border-top: 0.3em solid #28a745; border-radius: 50%; animation: spin 1s linear infinite; }
 @keyframes spin { to { transform: rotate(360deg); } }