/* D&D Theme Styles */
:root {
    --dd-primary: #8B4513; /* SaddleBrown */
    --dd-secondary: #5D2906; /* Darker brown */
    --dd-parchment: #FFF8DC; /* Cornsilk */
    --dd-parchment-light: rgba(255, 248, 220, 0.85);
    --dd-bg-parchment: rgb(246, 236, 211); /* Custom parchment background */
    --dd-accent: #A0522D; /* Sienna */
}

.dd-login-container {
    background-image: url('../images/parchment-bg.jpg');
    background-size: cover;
    padding: 2rem;
    min-height: 100vh;
}

.dd-tavern-sign {
    text-align: center;
    margin-bottom: 2rem;
}

.dd-title {
    font-family: 'Times New Roman', serif;
    color: var(--dd-parchment);
    text-shadow: 2px 2px 4px rgba(0,0,0,0.5);
}

.dd-parchment-form {
    background-color: var(--dd-parchment-light);
    padding: 2rem;
    border: 2px solid var(--dd-primary);
    border-radius: 5px;
    box-shadow: 0 0 15px rgba(0,0,0,0.2);
}

.dd-medieval-input {
    background-color: rgba(255, 248, 220, 0.7);
    border: 1px solid var(--dd-primary);
    font-family: 'Times New Roman', serif;
}

.dd-scroll-button {
    background-color: var(--dd-primary);
    color: white;
    border: none;
    font-family: 'Times New Roman', serif;
    padding: 0.5rem 2rem;
}

.dd-scroll-button:hover {
    background-color: var(--dd-accent) !important;
    transform: scale(1.05);
    transition: all 0.3s ease;
}

.dd-text {
    font-family: 'Times New Roman', serif;
    color: var(--dd-secondary);
}

.dd-text h3 {
    color: var(--dd-parchment);
}

.dd-divider {
    border-top: 2px solid var(--dd-primary);
    width: 80%;
    margin: 0 auto;
}

.dd-link {
    color: var(--dd-secondary);
    text-decoration: none;
}

.dd-link:hover {
    color: var(--dd-accent);
    text-decoration: underline;
}

/* Custom background color class */
.dd-bg-parchment {
    background-color: var(--dd-bg-parchment);
}

/* Floating species image bottom left */
.species-float-img {
    position: fixed;
    bottom: 50px;
    left: 50px;
    width: 150px;
    z-index: 1050;
    pointer-events: none;
}

/* Campaign Mapping Styles */
.continent-item {
    transition: all 0.3s ease;
    border: 1px solid #dee2e6 !important;
}

.continent-item:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(0,0,0,0.15) !important;
}

.continent-map-container {
    position: relative;
}

.continent-map-container img {
    transition: transform 0.3s ease;
}

.continent-map-container:hover img {
    transform: scale(1.02);
}

.add-continent-form {
    border: 2px dashed #dee2e6 !important;
    background-color: #f8f9fa !important;
}

.continents-section .btn-group .btn {
    border-radius: 0.25rem;
}

.continents-section .btn-group .btn:first-child {
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
}

.continents-section .btn-group .btn:last-child {
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
}

/* Map display improvements */
.map-container {
    position: relative;
    overflow: hidden;
}

.map-container img {
    transition: transform 0.3s ease;
}

.map-container:hover img {
    transform: scale(1.05);
}

.current-map, .continent-item {
    box-shadow: 0 2px 8px rgba(0,0,0,0.1);
}

/* Kingdom Management Styles */
.kingdoms-section {
    border-top: 1px solid #e9ecef;
    padding-top: 0.75rem;
}

.kingdom-item {
    transition: all 0.2s ease;
    border-left: 4px solid #28a745 !important;
}

.kingdom-item:hover {
    transform: translateX(2px);
    box-shadow: 0 2px 6px rgba(40, 167, 69, 0.2) !important;
}

.add-kingdom-form {
    border: 2px dashed #28a745 !important;
    background-color: #f8fff9 !important;
}

.kingdom-map-container {
    position: relative;
}

.kingdom-map-container img {
    transition: transform 0.2s ease;
}

.kingdom-map-container:hover img {
    transform: scale(1.03);
}

.kingdoms-section .btn-group .btn {
    font-size: 0.7rem;
    padding: 0.125rem 0.25rem;
}

/* Hierarchy visual indicators */
.continent-item {
    border-left: 4px solid #007bff !important;
}

.kingdom-item {
    margin-left: 1rem;
    border-left: 4px solid #28a745 !important;
}

/* Province Management Styles */
.provinces-section {
    border-top: 1px solid #f0f0f0;
    padding-top: 0.5rem;
    margin-top: 0.5rem;
}

.province-item {
    transition: all 0.2s ease;
    border-left: 3px solid #ffc107 !important;
    margin-left: 0.5rem;
}

.province-item:hover {
    transform: translateX(1px);
    box-shadow: 0 1px 4px rgba(255, 193, 7, 0.3) !important;
}

.add-province-form {
    border: 2px dashed #ffc107 !important;
    background-color: #fffbf0 !important;
    margin-left: 0.5rem;
}

.province-map-container {
    position: relative;
}

.province-map-container img {
    transition: transform 0.2s ease;
}

.province-map-container:hover img {
    transform: scale(1.02);
}

.provinces-section .btn-group .btn {
    font-size: 0.6rem;
    padding: 0.05rem 0.15rem;
}

/* Enhanced hierarchy */
.province-item {
    margin-left: 2rem;
    border-left: 3px solid #ffc107 !important;
}

/* Four-level hierarchy visual structure */
.continent-item {
    border-left: 4px solid #007bff !important; /* Blue for continents */
}

.kingdom-item {
    margin-left: 1rem;
    border-left: 4px solid #28a745 !important; /* Green for kingdoms */
}

.province-item {
    margin-left: 2rem;
    border-left: 3px solid #ffc107 !important; /* Yellow/Orange for provinces */
}

/* Character Management Styles */
.character-management-section {
    background: var(--dd-parchment-light);
    border: 2px solid var(--dd-primary);
    position: relative;
}

.character-management-section::before {
    content: '';

    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-image: 
        repeating-linear-gradient(
            transparent 0px,
            transparent 24px,
            rgba(139, 69, 19, 0.1) 25px
        );
    pointer-events: none;
}

.character-card {
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.character-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(0,0,0,0.15);
}

.character-card.border-primary {
    border-color: var(--dd-primary) !important;
    background: rgba(139, 69, 19, 0.02);
}

.btn-character-action {
    font-size: 0.875rem;
    padding: 0.25rem 0.5rem;
}

.nav-icon {
    font-size: 1.25rem;
    vertical-align: middle;
    margin-right: 0.5rem;
}
