body { 
    font-family: "Book Antiqua", "Palatino Linotype", Palatino, serif;
    font-size: 18px;
    line-height: 1.6;
    background-color: #f4f1ea; /* warm off-white */
    color: #2d241b;            /* deep brown text */
    padding: 0;
    margin: 0;
}

html {
    box-sizing: border-box;
}

*, *:before, *:after {
    box-sizing: inherit;
}

/* Headings */
h1, h2, h3 { 
    font-weight: 700;
    text-transform: none;      /* remove all-caps for a more modern look */
    letter-spacing: 0.05em;
    margin: 20px 0 16px 0;     /* reduced top margin slightly */
    color: #3a2b24;            /* slightly darker heading color */
}

h1 { 
    padding-bottom: 16px;
    border-bottom: solid 2px #e2d6c7;
}

/* Rules */
hr { 
    border: 0;
    border-top: solid 1px #d9ccbc;
    margin: 1.75em 0;
}

/* Links */
a { 
    position: relative;
    color: #8a4b2c;            /* warm accent */
    cursor: pointer;
    text-decoration: none;
    font-weight: 600;
}

a:after { 
    content: " ";
    opacity: 0;
    transition-duration: 0.2s;
    position: absolute;
    bottom: -6px;
    left: 0;
    width: 100%;
    height: 2px;
    background-color: #c9733b; /* underline accent */
}

a:hover:after { 
    opacity: 1;
    bottom: -2px;
}

a:hover { 
    text-decoration: none;
    color: #5d311c;
}

/* Reset list styles */
ul, li { 
    margin-left: 0;
    padding-left: 0;
    list-style: none;
}

/* Page section layout */
.pageSection { 
    position: relative;
    padding: 0 1.5em;          /* slightly reduced horizontal padding */
}

.pageSectionInner { 
    padding: 1.5em 2em;        /* reduced internal padding so content sits closer */
    background-color: #fffaf3;
    /* shadow removed to reduce dated look */
    box-shadow: none;
    border: 1px solid #e2d6c7;
    max-width: 900px;
    margin: 0 auto;
    border-radius: 8px;
}

.pageSection p { 
    text-align: left;
}

/* Typography inside the post content */
.post_content { 
    font-family: inherit;      /* use global serif */
    font-size: 1.05em;
    line-height: 1.75em;
    color: #32271e;
}

.post_content p { 
    margin-bottom: 1.2em;
}

/* Lists inside content */
.post_content ul { 
    margin: 1em 0 1.5em 0;
    list-style-type: none;
}

.post_content ul > li { 
    position: relative;
    padding-left: 1.2em;
}

.post_content ul > li:before { 
    content: "–";
    position: absolute;
    left: 0;
    top: 0;
    color: #c9733b;
}

.post_content ol { 
    margin: 1em 0 1.5em 0;
    counter-reset: elements;
    padding-left: 0;
    list-style-type: none;
}

.post_content ol > li { 
    position: relative;
    padding-left: 2em;
}

.post_content ol > li:before { 
    counter-increment: elements;
    content: counter(elements) ". ";
    position: absolute;
    left: 0;
    top: 0;
    color: #c9733b;
}

.post_content li {
    margin-bottom: 0.6em;
    line-height: 1.6em;
}

/* Headings inside post content */
.post_content h2 {
    font-family: inherit;
    font-size: 1.5em;
    line-height: 1.3em;
    margin: 1.5em 0 0.8em 0;  /* reduced top margin a bit */
    color: #3a2b24;
    border-bottom: 2px solid #e2d6c7;
    padding-bottom: 0.3em;
}

.post_content h3 {
    font-family: inherit;
    font-size: 1.2em;
    margin: 1.2em 0 0.6em 0;
    color: #4c3930;
}

.post_content strong {
    color: #2d241b;
    font-weight: 700;
}

.post_content hr {
    border: none;
    border-top: 1px solid #d9ccbc;
    margin: 2em 0;
}

.post_title h1 {
    font-size: 24px;
    margin: 1.5em 0 1em 0;    /* slightly reduced top margin */
    color: #3a2b24;
}

/* Wrapper */
#wrap { 
    margin-top: 0.75em;        /* reduced so content is closer to top */
    position: relative;
    z-index: 10;
    padding-bottom: 10em;
}

/* Buttons */
.btn { 
    font-size: inherit;
    text-transform: uppercase;
    transition-duration: 0.2s;
    background-image: none !important;
    border-radius: 999px !important;
    border: solid 2px !important;
    margin: 0.5em;
    
    /* make buttons visible by default */
    background-color: #8a4b2c;
    border-color: #8a4b2c !important;
    color: #fff !important;
}

/* prevent link underline effect on buttons */
a.btn:after {
    content: none;
}

.btn:hover,
.btn:focus { 
    border-color: #5d311c !important;
    background-color: #5d311c;
    color: #fff !important;
}

.btn:after { 
    background-color: transparent;
}

.btn-lg { 
    font-size: 1em;
    margin: 8px 0;
    padding: 0.7em 1.6em;      /* slightly tighter */
    display: inline-block;
    font-weight: 600;
}
.site-name {
    font-size: 1.6em;      /* bigger than the page title */
    font-weight: 700;      
    display: block;
}

.page-title {
    font-size: 1.2em;      /* slightly smaller */
    font-weight: 400;
}

/* Reset accordion styling to Bootstrap defaults */
.panel {
    border: 1px solid #ddd;
    box-shadow: none; /* optional for your new style */
    border-radius: 4px;
    background: #fff;
}

.panel-heading {
    background: #f5f5f5;
    padding: 10px 15px !important;
    border-bottom: 1px solid #ddd;
}

.panel-title a {
    display: block !important;
    color: #333 !important;
    font-weight: 600;
    text-decoration: none;
}

.panel-title a:hover {
    text-decoration: none;
}

.panel-body {
    background: #fff;
    padding: 15px !important;
}

.panel-group .panel + .panel {
    margin-top: 10px !important;
}
.panel-group .panel-body pre {
    white-space: pre-wrap;     /* preserve line breaks */
    word-wrap: normal !important;         /* allow natural wrapping */
    overflow-wrap: normal !important;     /* prevent mid-word breaks */
}
