/* static/css/style.css */

@import url('https://cdn.jsdelivr.net/gh/orioncactus/pretendard/dist/web/static/pretendard.css');
@import url('https://fonts.googleapis.com/css2?family=Grand+Hotel&display=swap');

:root {
    --bg-body: #F4F6F8;       
    --bg-white: #FFFFFF;      
    
    --text-main: #2C3E50;     
    --text-sub: #7F8C8D;      
    --text-placeholder: #BDC3C7;

    --brand-primary: #2980B9; 
    --brand-hover: #1F618D;
    
    --border-color: #ECEFF1;  
    --shadow-soft: 0 4px 20px rgba(0, 0, 0, 0.05); 

    --font-base: 'Pretendard', -apple-system, sans-serif;
    --font-logo: 'Grand Hotel', cursive;
    
    --container-width: 960px; 
    --radius-card: 12px;      
}

* { box-sizing: border-box; margin: 0; padding: 0; }

body {
    background-color: var(--bg-body);
    color: var(--text-main);
    font-family: var(--font-base);
    line-height: 1.6;
    font-size: 15px;
    -webkit-font-smoothing: antialiased; 
}

a { text-decoration: none; color: inherit; transition: all 0.2s; }
a:hover { color: var(--brand-primary); }

ul, li { list-style: none; }

.container {
    max-width: var(--container-width);
    margin: 0 auto;
    padding: 0 20px;
}

.btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 10px 24px;
    border-radius: 50px; 
    font-weight: 600;
    font-size: 14px;
    cursor: pointer;
    border: none;
    transition: transform 0.1s, box-shadow 0.2s;
}

.btn-primary {
    background-color: var(--brand-primary);
    color: white;
    box-shadow: 0 4px 10px rgba(41, 128, 185, 0.3); 
}
.btn-primary:hover {
    background-color: var(--brand-hover);
    transform: translateY(-2px);
    box-shadow: 0 6px 15px rgba(41, 128, 185, 0.4);
    color: white; 
}

.btn-outline {
    background: white;
    border: 1px solid var(--border-color);
    color: var(--text-main);
    box-shadow: 0 2px 5px rgba(0,0,0,0.03);
}
.btn-outline:hover {
    border-color: var(--brand-primary);
    color: var(--brand-primary);
}

.card-box {
    background: var(--bg-white);
    border-radius: var(--radius-card);
    box-shadow: var(--shadow-soft);
    border: none; 
    overflow: hidden;
}

.form-control {
    width: 100%;
    padding: 12px 0;
    border: none;
    border-bottom: 2px solid var(--border-color);
    border-radius: 0;
    background: transparent;
    font-size: 15px;
    color: var(--text-main);
    transition: border-color 0.3s;
}
.form-control:focus {
    outline: none;
    border-bottom-color: var(--brand-primary);
    background: transparent;
}
.form-control::placeholder { color: var(--text-placeholder); }