body {
    padding-top: 84px;
    background-color: #1d1d1d;
}

#main-header {
    padding-top: 30px;
    padding-bottom: 10px;
}

#main-header h1 {
    font-size: clamp(20px, 3vw, 30px);
    font-weight: 700;
    letter-spacing: -0.02em;
    color: #f45950;
    padding: 0;
    margin: 0 0 20px;
}

ol {
    color: #d5dae2;
    font-size: 15px;
    padding-top: 20px;
}

ol li {
    margin-bottom: 5px;
}

h1 {
    color: #f45950;
    font-weight: 700;
    letter-spacing: -0.02em;
    padding: 0;
    margin: 0;
}

h2 {
    font-size: 22px;
    font-weight: 700;
    letter-spacing: -0.02em;
    color: #f45950;
    padding: 0;
    margin: 0;
}

.section-title h1 {
    font-size: 18px;
    margin-top: -10px;
    padding: 0px;
    margin: 0px;
}

.slide-image {
    width: 100%;
}

#carousel-example-generic {
    border-style: solid;
    border-width: 3px;
    border-color: #e62c21;
}

.carousel-holder {
    margin-bottom: 30px;
}

.carousel-control,
.item {
    border-radius: 4px;
}

.caption {
    height: 70px;
    overflow: hidden;
}

.caption h4 {
    white-space: wrap;
    text-align: center;
    color: white;
    font-size: 15px;
}

.section-title {
    min-height: 170px;
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    border-top: 1px solid rgba(244, 89, 80, 0.2);
    padding-bottom: 12px;
}

.section-title h1 {
    text-align: center;
    margin: 0;
    padding: 0;
    color: #f45950;
}

.thumbnail {
    padding: 24px;
    border-radius: 12px;
}

.thumbnail .caption-full {
    padding: 9px;
    display: none;
}

textarea {
    height: 80px;
    max-height: 80px;
    min-height: 80px;
}


body > .container {
    position: relative;
    min-height: calc(100vh - 84px);
    padding-bottom: 70px;
}

footer {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 60px;
    margin: 0;
}

table, th, td {
    border: 1px solid #2a2a2a;
    border-collapse: collapse;
}

th, td {
    padding: 10px 16px;
    text-align: left;
}

table#t01 {
    width: 100%;
    margin-bottom: 20px;
}

table#t02 {
    width: 100%;
}

#form-textfield {
    margin-top: 24px;
    color: #ededed;
}

#form-textfield label,
#form-textfield p {
    color: #9a9a9a;
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 0.02em;
}



/* ── New sections ── */

/* Breadcrumb */
.traversal-breadcrumb {
    background-color: #1f1f1f;
    border-radius: 8px;
    padding: 10px 16px;
}
.traversal-breadcrumb .breadcrumb-item a { color: #f45950; }
.traversal-breadcrumb .breadcrumb-item.active { color: #9a9a9a; }
.traversal-breadcrumb .breadcrumb-item + .breadcrumb-item::before { color: #9a9a9a; }

/* Badges */
.list-group-item.badge-text {
    background-color: #1f1f1f;
    border-color: #2a2a2a;
    color: #ededed;
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.badge { border-radius: 20px; padding: 4px 10px; font-weight: 700; }
.badge-light { background-color: #2a2a2a; color: #ededed; }
.traversal-badge { background-color: #f45950; color: #0f0f0f; }

/* Pagination */
.traversal-pagination { display: flex; gap: 4px; list-style: none; padding: 0; margin: 0; flex-wrap: wrap; }
.page-item .page-link {
    background-color: #1f1f1f;
    border: 1px solid #2a2a2a;
    color: #f45950;
    border-radius: 6px;
    padding: 6px 12px;
    display: block;
    transition: background-color 0.2s ease, border-color 0.2s ease;
}
.page-item .page-link:hover {
    background-color: #f45950;
    border-color: #f45950;
    color: #0f0f0f;
}

/* Traversal table — !important beats Bootstrap 3's .bg-primary/.bg-info contextual !important */
.traversal-table { width: 100%; margin-bottom: 0; }
.traversal-table .bg-primary th,
.traversal-table .bg-primary td { background-color: #1a56db !important; color: #ffffff !important; }
.traversal-table .bg-info th,
.traversal-table .bg-info td { background-color: #0e7490 !important; color: #ffffff !important; }

/* btn-primary for new buttons */
.btn-primary {
    background-color: #f45950 !important;
    border-color: #f45950 !important;
    color: #0f0f0f !important;
    font-weight: 700;
    border-radius: 6px;
    transition: background-color 0.2s ease, border-color 0.2s ease;
}
.btn-primary:hover, .btn-primary:focus {
    background-color: #e62c21 !important;
    border-color: #e62c21 !important;
    color: #0f0f0f !important;
}
.btn-primary.active { background-color: #c0392b !important; border-color: #c0392b !important; }

/* Outline button states */
.btn-outline-danger  { border: 1px solid #f45950 !important; color: #f45950 !important; background: transparent !important; border-radius: 6px; padding: 6px 14px; font-weight: 600; transition: background 0.2s ease; }
.btn-outline-warning { border: 1px solid #f59e0b !important; color: #f59e0b !important; background: transparent !important; border-radius: 6px; padding: 6px 14px; font-weight: 600; }
.btn-outline-info    { border: 1px solid #38bdf8 !important; color: #38bdf8 !important; background: transparent !important; border-radius: 6px; padding: 6px 14px; font-weight: 600; transition: background 0.2s ease; }
.btn-outline-danger:hover  { background-color: #f45950 !important; color: #0f0f0f !important; }
.btn-outline-info:hover    { background-color: #38bdf8 !important; color: #0f0f0f !important; }
.disabled { opacity: 0.45; cursor: not-allowed; pointer-events: none; }

.traversal-buttons, .traversal-button-states, .traversal-button-other-states { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }

/* Random text */
.traversal-marked-text p, .traversal-cite-text p { color: #ededed; line-height: 1.7; }
.traversal-mark { background-color: rgba(244, 89, 80, 0.25); color: #f45950; padding: 0 4px; border-radius: 3px; }
.traversal-cite-text blockquote { border-left: 3px solid #f45950; padding-left: 16px; margin: 16px 0 0; }
.traversal-cite-text blockquote footer { color: #9a9a9a; font-size: 13px; margin-top: 6px; }
.traversal-cite { font-style: italic; color: #f45950; }

/* Lists */
.traversal-drinks-list, .traversal-food-list, .traversal-job-list { color: #ededed; padding-left: 20px; line-height: 2; }
.list-header { font-weight: 700; color: #f45950; letter-spacing: 0.04em; list-style: none; margin-top: 8px; }
.menu { color: #ededed; padding-left: 20px; }

@media only screen and (min-width : 0px) {
    .slide-image {
        max-height: 200px;
        height: 200px;
        min-height: 200px;
    }
}

@media only screen and (min-width : 480px) {
    .slide-image {
        max-height: 222px;
        height: 222px;
        min-height: 222px;
    }

    #slide-image-1 {
        max-height: 222px;
        max-width: 800px;
        height: 222px;
        width: 800px;
        margin-left: -150px;
    }
}

@media only screen and (min-width : 580px) {
     #slide-image-1 {
        margin-left: -100px;
    }

}


@media only screen and (min-width : 650px) {
     #slide-image-1 {
        margin-left: -70px;
    }

}


/* Small Devices, Tablets */
@media only screen and (min-width : 768px) {
    #slide-image-1 {
        max-height: 268px;
        max-width: 800px;
        height: 268px;
        width: 800px;
        margin: 0 auto;
    }

    #slide-image-2, #slide-image-3, #slide-image-4, #slide-image-5, #slide-image-6 {
        max-height: 268px;
        height: 268px;
    }
}

/* Medium Devices, Desktops */
@media only screen and (min-width : 992px) {
    #slide-image-1 {
        max-height: 350px;
        max-width: 800px;
        height: 350px;
        width: 800px;
        margin: 0 auto;
    }

    #slide-image-2, #slide-image-3, #slide-image-4, #slide-image-5, #slide-image-6 {
        max-height: 350px;
        height: 350px;
    }
}

/* Large Devices, Wide Screens */
@media only screen and (min-width : 1200px) { 
    #slide-image-1 {
        max-height: 425px;
        max-width: 800px;
        height: 425px;
        width: 800px;
        margin: 0 auto;
    }


    #slide-image-2, #slide-image-3, #slide-image-4, #slide-image-5, #slide-image-6 {
        max-height: 425px;
        height: 425px;
    }
}



/*==========  Non-Mobile First Method  ==========*/

/* Large Devices, Wide Screens */
@media only screen and (max-width : 1200px) {

}

/* Medium Devices, Desktops */
@media only screen and (max-width : 992px) {

}

/* Small Devices, Tablets */
@media only screen and (max-width : 768px) {

}

/* Extra Small Devices, Phones */ 
@media only screen and (max-width : 480px) {

}

/* Custom, iPhone Retina */ 
@media only screen and (max-width : 320px) {
    
}