/*
    66pacific-modern.css
    Cleaned STL/modern calculator stylesheet

    Notes:
    - Keeps the current working STL title panel (.stl-title-panel).
    - Removes obsolete experimental masthead blocks:
      .stl-hero, .stl-masthead, .stl-title-card, .stl-page-masthead.
    - Keeps the calculator cards, copper Calculate button, sidebar TOC,
      results block, input styling, and footer styling.
*/

/* ==========================================================
   Shared site header
   ========================================================== */

.site-header {
    background: radial-gradient(circle at top left, rgba(255, 255, 255, .12), transparent 30%),
                linear-gradient(135deg, #2d2926, #4b3b2f 55%, #6a4f34);
    color: white;
    box-shadow: 0 4px 14px rgba(0, 0, 0, .28);
}

.compact-site-header {
    padding: .9rem 1rem;
}

.site-wrap {
    max-width: 1100px;
    margin: 0 auto;
    padding: 0 1rem;
}

.site-brand {
    color: #f1e7d6;
    text-decoration: none;
    font-weight: 700;
    font-size: 1.1rem;
    letter-spacing: .02em;
}

.site-brand:hover,
.site-brand:focus {
    color: white;
    text-decoration: underline;
}


/* ==========================================================
   Modern calculator page base
   The class name is historical; it is used as the modern-page wrapper.
   ========================================================== */

.stl-modern-test {
    background: #f7f4ed;
    color: #2e2a27;
    font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
    line-height: 1.5;
}

.stl-modern-test .container-fluid {
    background: #f7f4ed;
}

.stl-modern-test .row.content {
    height: auto;
    min-height: 0;
}

.stl-modern-test h1,
.stl-modern-test h2,
.stl-modern-test h3 {
    color: #4a3d32;
}

.stl-modern-test h1 {
    margin-top: 1.4rem;
    margin-bottom: 1.4rem;
    line-height: 1.2;
    text-align: center;
    font-weight: 700;
}

.stl-modern-test .col-sm-6 ul,
.stl-modern-test .col-sm-6 ol,
.stl-modern-test .col-sm-6 li {
    text-align: left !important;
}


/* ==========================================================
   STL page title panel
   Markup structure:

   .stl-title-panel
       .stl-title-panel-top
           h1
           .stl-title-panel-image-wrap > img.stl-title-panel-image
       p.stl-title-panel-intro
   ========================================================== */

.stl-modern-test .stl-title-panel,
.stl-modern-test .stl-title-panel * {
    box-sizing: border-box;
}

.stl-modern-test .stl-title-panel {
    margin: 0 0 1.25rem 0;
    padding: 16px;
    background: linear-gradient(135deg, #fffaf1 0%, #f6ecdc 60%, #ead8bd 100%);
    border: 1px solid #d6bea0;
    border-left: 6px solid #b87333;
    border-radius: 14px;
    box-shadow: 0 8px 20px rgba(70, 42, 15, 0.14);
}

.stl-modern-test .stl-title-panel-top {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 230px;
    gap: 16px;
    align-items: center;
}

.stl-modern-test .stl-title-panel h1 {
    margin: 0 !important;
    color: #3f352c;
    font-size: 2.35rem;
    line-height: 1.12;
    font-weight: 800;
    text-align: left !important;
}

.stl-modern-test .stl-title-panel-image-wrap {
    width: 230px;
}

.stl-modern-test .stl-title-panel-image {
    display: block;
    width: 230px !important;
    max-width: 230px !important;
    height: auto !important;
    border: 3px solid rgba(255, 255, 255, 0.9);
    border-radius: 10px;
    box-shadow: 0 5px 14px rgba(54, 32, 12, 0.24);
}

.stl-modern-test .stl-title-panel-intro {
    margin: 14px 0 0 0;
    color: #332c25;
    font-size: 1.02em;
    line-height: 1.45;
}

@media (max-width: 991px) {
    .stl-modern-test .stl-title-panel-top {
        grid-template-columns: 1fr;
    }

    .stl-modern-test .stl-title-panel h1 {
        text-align: center !important;
        font-size: 2.15rem;
    }

    .stl-modern-test .stl-title-panel-image-wrap {
        width: 100%;
        max-width: 360px;
        margin: 0 auto;
    }

    .stl-modern-test .stl-title-panel-image {
        width: 100% !important;
        max-width: 360px !important;
    }
}

@media (max-width: 480px) {
    .stl-modern-test .stl-title-panel {
        padding: 14px;
        border-radius: 11px;
    }

    .stl-modern-test .stl-title-panel h1 {
        font-size: 1.85rem;
    }

    .stl-modern-test .stl-title-panel-intro {
        font-size: 1em;
        line-height: 1.42;
    }
}


/* ==========================================================
   Calculator input cards and form controls
   ========================================================== */

.stl-modern-test .dataentry,
.stl-modern-test #divInputs,
.stl-modern-test #displayResultsBlock {
    background: linear-gradient(#fffdf8, #f6f0e6);
    border: 1px solid #d9cfbe;
    border-radius: 14px;
    box-shadow: 0 2px 4px rgba(0, 0, 0, .08),
                0 10px 18px rgba(0, 0, 0, .08);
    padding: 1rem;
    margin-bottom: 1rem;
}

.stl-modern-test input[type="text"],
.stl-modern-test select,
.stl-modern-test textarea {
    background: #fffdf8;
    color: #2e2a27;
    border: 1px solid #c8bca9;
    border-radius: 6px;
    padding: .35rem .45rem;
}

.stl-modern-test input[type="text"]:focus,
.stl-modern-test select:focus,
.stl-modern-test textarea:focus {
    border-color: #c58b2a;
    outline: none;
    box-shadow: 0 0 0 2px rgba(197, 139, 42, .22);
}

.stl-modern-test input[type="radio"],
.stl-modern-test input[type="checkbox"] {
    accent-color: #b97918;
}


/* ==========================================================
   Calculate button
   ========================================================== */

.stl-modern-test .calc-button-row {
    text-align: center;
    margin: 1.25rem 0 .75rem;
}

.stl-modern-test .calc-action-button {
    display: inline-block;
    min-width: 180px;
    min-height: 52px;
    font-size: 1.8rem;
    font-weight: 800;
    color: white;
    padding: .65rem 1.5rem;
    border-radius: 12px;
    background: linear-gradient(#e5b866 0%, #d49a3c 45%, #b97918 100%);
    border: 1px solid #8d5c11;
    border-bottom: 4px solid #6f4309;
    box-shadow: inset 0 2px 0 rgba(255, 255, 255, .38),
                inset 0 -2px 0 rgba(0, 0, 0, .12),
                0 3px 0 #6f4309,
                0 8px 14px rgba(0, 0, 0, .22);
    text-shadow: 0 -1px 0 rgba(0, 0, 0, .35);
    cursor: pointer;
}

.stl-modern-test .calc-action-button:hover {
    background: linear-gradient(#edc577 0%, #dda64b 45%, #c28119 100%);
    color: white;
}

.stl-modern-test .calc-action-button:active {
    transform: translateY(3px);
    border-bottom-width: 1px;
    box-shadow: inset 0 2px 0 rgba(255, 255, 255, .25),
                inset 0 -1px 0 rgba(0, 0, 0, .10),
                0 1px 0 #6f4309,
                0 4px 8px rgba(0, 0, 0, .18);
}


/* ==========================================================
   Results block
   ========================================================== */

.stl-modern-test #displayResultsBlock {
    background: linear-gradient(#fff8ea, #f2e3c7);
    border: 2px solid #c58b2a;
    border-radius: 14px;
    box-shadow: 0 2px 4px rgba(0, 0, 0, .10),
                0 12px 22px rgba(0, 0, 0, .12);
    padding: 1.1rem;
    margin-top: 1.25rem;
    margin-bottom: 1.25rem;
}

.stl-modern-test #displayResultsBlock h2,
.stl-modern-test #displayResultsBlock h3 {
    color: #4a3d32;
    border-bottom: 3px solid #c58b2a;
    display: inline-block;
    padding-bottom: .2rem;
}

.stl-modern-test #displayResultsBlock table {
    background: rgba(255, 255, 255, .35);
}

.stl-modern-test #displayResultsBlock td,
.stl-modern-test #displayResultsBlock th {
    padding: .25rem .4rem;
}


/* ==========================================================
   Sidebar and calculator table of contents
   ========================================================== */

.stl-modern-test .sidenav {
    background: #eee5d7;
    color: #2e2a27;
    border-right: 1px solid #d9cfbe;
    padding: 1rem;
}

.stl-modern-test .calculator-toc {
    max-width: 240px;
}

.stl-modern-test .calculator-toc a,
.stl-modern-test .calculator-toc a:link,
.stl-modern-test .calculator-toc a:visited,
.stl-modern-test .sidenav .calculator-toc a,
.stl-modern-test .sidenav .calculator-toc a:link,
.stl-modern-test .sidenav .calculator-toc a:visited {
    display: block !important;
    color: #7a4f1b !important;
    background: rgba(255, 253, 248, .55) !important;
    border: 1px solid rgba(217, 207, 190, .75) !important;
    border-left: 4px solid #c58b2a !important;
    border-radius: 6px !important;
    padding: .32rem .5rem .32rem .6rem !important;
    margin: .24rem 0 !important;
    text-decoration: none !important;
    font-weight: 650 !important;
    box-shadow: none !important;
    transform: none !important;
}

.stl-modern-test .calculator-toc a::before,
.stl-modern-test .sidenav .calculator-toc a::before {
    content: "" !important;
}

.stl-modern-test .calculator-toc a:hover,
.stl-modern-test .calculator-toc a:focus,
.stl-modern-test .sidenav .calculator-toc a:hover,
.stl-modern-test .sidenav .calculator-toc a:focus {
    color: #2d2926 !important;
    background: #fffdf8 !important;
    border-color: #c58b2a !important;
    border-left-color: #8d5c11 !important;
    text-decoration: underline !important;
    text-underline-offset: 3px;
    box-shadow: none !important;
    transform: none !important;
}

.stl-modern-test .calculator-toc a:active,
.stl-modern-test .sidenav .calculator-toc a:active {
    background: #f6f0e6 !important;
}


/* ==========================================================
   Footer
   ========================================================== */

.stl-modern-test footer {
    background: transparent;
    color: #5c5349;
    text-align: center;
    padding: 1.5rem 0 2rem;
    font-size: 1.9rem;
}

.stl-modern-test footer a,
.stl-modern-test footer a:link,
.stl-modern-test footer a:visited {
    color: #6a4f34 !important;
    text-decoration: none;
    font-weight: 700;
}

.stl-modern-test footer a:hover,
.stl-modern-test footer a:focus {
    color: #2d2926 !important;
    text-decoration: underline;
}
