/* Orchard Design System — Layout */
/* Responsive layout replacing fixed 760px */

* {
    font-family: "Montserrat", "Open Sans", Corbel, Arial, sans-serif;
    box-sizing: border-box;
}
body {
    padding: 0;
    font-size: clamp(0.9375rem, 4vw, 1rem);
    letter-spacing: .02em;
    line-height: 1.6;
    color: var(--color-body, #38424b);
}
h1, h2, h3, h4, h5, h6 {
    font-family: "Source Serif 4", "Source Serif Pro VF", Georgia, "Times New Roman", serif;
    font-weight: 700;
    color: var(--color-heading, #031018);
    letter-spacing: -0.01em;
}
h1 { font-size: clamp(1.5rem, 4vw, 2rem); line-height: 1.1; }
h2 { font-size: clamp(1.25rem, 4vw, 1.5rem); line-height: 1.15; }
h3 { font-size: clamp(1.125rem, 4vw, 1.25rem); line-height: 1.2; }

form { margin: 0; padding: 0; }
fieldset { border: 0; }

.m-l-10 { margin-left: 10px; }
.pull-right { float: right; }
.pull-left { float: left; }

/* --- Buttons (Orchard style) --- */
.button,
.button-link,
.button-link-md,
.button-link-lg,
button,
input[type="submit"],
input[type="button"],
input[type="reset"] {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.75rem clamp(1rem, 2.5vw, 1.5rem);
    font-family: "Montserrat", "Open Sans", Arial, sans-serif;
    font-size: clamp(0.875rem, 1.66vw, 1rem);
    font-weight: 600;
    letter-spacing: .08em;
    text-transform: uppercase;
    line-height: 1;
    border-radius: 0.25rem;
    border: 0.125rem solid var(--border-accent, #8fb3a3);
    background: #fff;
    color: var(--color-link, #12443b);
    cursor: pointer;
    text-decoration: none;
    text-align: start;
    transition: background-color 0.2s;
    height: auto;
    width: auto;
    min-height: 3.25rem;
}
.button:hover, .button:focus,
.button-link:hover, .button-link:focus,
button:hover, button:focus,
input[type="submit"]:hover, input[type="submit"]:focus,
input[type="button"]:hover, input[type="button"]:focus,
input[type="reset"]:hover, input[type="reset"]:focus {
    background: var(--bg-accent, #e2eae4);
    text-decoration: none;
    color: var(--color-link-hover, #863213);
}
.button-link-inside,
.button-link-inside-md,
.button-link-inside-lg {
    display: inline-block;
    color: #fff;
    padding: 0.5em 1.5em;
}
.resultsButton { margin-right: 16px; }
.resultsButton-font { font-size: 0.875rem; }

/* --- Level 1 Layer --- */
#assistive {
    width: 100%;
    height: 2px;
    font-size: 1px;
    padding: 0;
    margin: 0;
}
#assistive2 {
    clear: both;
    width: 20px;
    height: 1px;
    font-size: 1px;
    padding: 0;
    margin: 0;
}

#container {
    clear: both;
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
    padding: 0;
}

/* --- Orchard Page Layout (sidebar variant) --- */
#container > :not(header):not(footer) {
    display: flex;
    flex-flow: row wrap;
    gap: 1rem clamp(1.25rem, 5vw, 4rem);
    padding-inline: clamp(1.5rem, 6vw, 8.1875rem);
}
#pageBody {
    flex: 5 1 35rem;
    min-height: 190px;
    margin-bottom: 10px;
}
#applications {
    flex: 5 1 35rem;
    margin: 0;
}
#pageTitle {
    margin: 0 20px;
}
#pageContent {
    width: 100%;
    margin: 10px 0;
    padding: 0;
}
#help {
    flex: 1 0 12.5rem;
    align-self: flex-start;
    margin: 11px 0 6px 0;
    padding: 16px 12px;
    border-radius: 6px;
    font-size: 0.875rem;
}
#rightnav {
    clear: both;
    float: left;
    margin-top: 12px;
    padding-right: 10px;
}
#copyright {
    width: 100%;
    clear: both;
    padding: 16px 0 6px 0;
    margin: 0;
    border-bottom-width: 4px;
    border-bottom-style: solid;
}
#globalbottom {
    width: 100%;
    clear: both;
    text-align: center;
    padding: 12px 0 20px 0;
    margin: 0;
}

/* --- Main Text Layer --- */
#text {
    width: 100%;
    padding: 0;
    margin: 0;
    clear: both;
}
.pageTitleBrdr {
    clear: both;
    border-bottom: 3px solid var(--gta-green, #07493d);
    line-height: 1px;
    padding: 0;
    margin: 0 6px;
}
.pageContentBrdr {
    clear: both;
    border-bottom: 1px solid;
    line-height: 13px;
    padding: 0;
    margin: 12px 0 0 0;
}
.pageContentBrdrPadded {
    clear: both;
    border-bottom: 1px solid;
    line-height: 13px;
    padding: 20px 0 0 0;
    margin: 0;
}
.extraBorderTop {
    border-top: 1px solid;
    line-height: 11px;
    padding: 0;
    margin: 0;
}
.extraBorderBtm {
    border-bottom: 1px solid;
    line-height: 13px;
    margin: 0;
    padding: 0;
    clear: both;
}

/* --- Accumulated Charges Box --- */
#text #acch {
    float: left;
    width: 200px;
    border-width: 1px;
    border-style: solid;
    margin: 0 0 12px 0;
    padding: 6px 6px 6px 20px;
}
#text #col2 {
    float: right;
    width: calc(100% - 220px);
    margin: 0 0 13px 7px;
    clear: none;
}
#text #col4 {
    float: left;
    width: 100%;
    margin: 0;
    padding-top: 15px;
}
#col1of1 { margin-top: 0; }

/* --- App title Formats (removed — Orchard breadcrumb pattern) --- */

/* --- Help Panel --- */
#help h3 {
    display: block;
    padding: 0 5px 6px 0;
    margin: 0;
    font-family: "Source Serif 4", Georgia, serif;
    font-size: 1rem;
    font-weight: 700;
}
#help ol {
    display: block;
    padding: 0;
    margin: 0 0 12px 19px;
}
#help li {
    font-size: 0.8125rem;
    padding: 5px 5px 0 0;
    line-height: 1.5;
}
#help a { text-decoration: underline; }

h3#faq {
    padding: 0;
    line-height: 26px;
}
h3#faq a {
    padding-top: 0;
    vertical-align: bottom;
    text-indent: 30px;
    float: left;
}

/* --- Right Navigation --- */
#rightnav ul { padding: 0; margin: 0; }
#rightnav li {
    font-size: 0.8125rem;
    line-height: 1.5;
    padding: 0 0 8px 0;
    list-style: none;
}
#rightnav h3 { padding-bottom: 8px; }

/* --- Copyright & Footer --- */
p#copyright {
    font-size: 0.8125rem;
    text-align: center;
}
p#globalbottom {
    font-size: 0.8125rem;
}

/* --- Link Formats --- */
a { text-decoration: none; }
a:hover { text-decoration: underline; }
#copyright a { text-decoration: underline; }
.menu li {
    font: 600 0.875rem/1.5 "Montserrat", "Open Sans", Arial, sans-serif;
}
#results a { text-decoration: underline; }

/* --- Application Formats --- */
#pageTitle h1 {
    font-family: "Source Serif 4", Georgia, serif;
    font-size: clamp(1.25rem, 4vw, 1.75rem);
    text-align: center;
    float: left;
    clear: none;
    margin: 0;
    padding: 16px 0 8px 0;
    width: 100%;
}
#applications h2 {
    text-align: left;
    margin: 5px 0;
    padding: 6px 0 6px 0;
    border-bottom: 3px solid var(--gta-orange, #f58555);
    font-family: "Source Serif 4", Georgia, serif;
    font-size: 1.125rem;
    font-weight: 700;
}
#applications h3 {
    font-size: 0.875rem;
    font-weight: 600;
    float: right;
    text-align: right;
    padding: 10px 0 5px 0;
    margin: 0;
}
#subheader h3 { float: none; text-align: left; }
#applications #pageTitle h3 { padding-top: 20px; }
#applications p, #error div {
    width: 100%;
    font-size: 0.875rem;
    padding: 0;
}
#applications p.extra { font-size: 0.8125rem; padding: 0; margin: 0; }
#applications .required { margin: 0; padding: 3px 0 10px 0; }
ul.menu { list-style: none; margin: 0; padding: 0; }
#applications .small { font-size: 0.75rem; margin: 0 0 10px 0; padding: 0; }
ol { margin: 0 6px 20px 26px; }
li { font-size: 0.875rem; }

div.errorMessage { margin: 0 0 8px 0; padding: 0; }
div.errorInfoText { margin: 0 0 8px 0; }
div.errorCode { margin: 0 0 8px 0; padding: 0; }

/* --- Accumulated Charges --- */
#acch h4 { font-size: 0.875rem; font-weight: 700; margin: 0; }
#acch p { margin: 0; }

/* --- Text Block --- */
#col2 h2.matches { padding: 0; text-decoration: none; border: none; }

/* --- Data Table Formats --- */
#dataentry, #dataentry2, #results { width: 100%; clear: both; }
#dataentry { margin: 0; }
#results { margin: 0 0 15px 0; }
#dataentry2 { margin: 0 0 28px 0; width: auto; }

#dataentry caption, #dataentry2 caption, #results caption {
    text-align: center;
    margin: 0;
    padding: 6px 0;
    border-bottom-width: 3px;
    border-bottom-style: solid;
    font-family: "Source Serif 4", Georgia, serif;
    font-size: 1.125rem;
    font-weight: 700;
}
#dataentry td, #dataentry2 td {
    font-size: 0.875rem;
    padding: 4px 10px;
}
#dataentry .labels, #dataentry2 .labels {
    text-align: right;
    font-weight: 600;
    font-size: 0.875rem;
    padding: 0 10px;
    vertical-align: middle;
}
#dataentry .labels { width: 205px; }
#dataentry2 .labels { width: 225px; }
#dataentry .fields, #dataentry .total { width: auto; }
#dataentry2 .fields { width: auto; }
.total { font-weight: bold; }

input, select, .rbfield {
    font: 100% "Montserrat", "Open Sans", Arial, sans-serif;
}

/* --- Buttons --- */
td#buttonCell {
    border: none;
    height: 26px;
    margin: 0;
    padding: 27px 0 0 0;
}
button,
input[type="submit"],
input[type="button"],
input[type="reset"] {
    border: 0.125rem solid var(--border-accent, #8fb3a3);
    background: #fff;
    color: var(--color-link, #12443b);
    border-radius: 0.25rem;
    padding: 0.75rem clamp(1rem, 2.5vw, 1.5rem);
    margin: 0 0 0 13px;
    font-family: "Montserrat", "Open Sans", Arial, sans-serif;
    font-size: clamp(0.875rem, 1.66vw, 1rem);
    font-weight: 600;
    letter-spacing: .08em;
    text-transform: uppercase;
    cursor: pointer;
    height: auto;
    width: auto;
    min-height: 3.25rem;
    transition: background-color 0.2s;
    line-height: 1;
}
button:hover, button:focus,
input[type="submit"]:hover, input[type="submit"]:focus,
input[type="button"]:hover, input[type="button"]:focus,
input[type="reset"]:hover, input[type="reset"]:focus {
    background: var(--bg-accent, #e2eae4);
    color: var(--color-link-hover, #863213);
}
#tableButtons { float: right; margin-right: 35px; }
.buttonPad { margin-top: 7px; }
button.long { width: 120px; }

/* --- Results Table --- */
#datatable {
    width: 100%;
    border-collapse: collapse;
}
#paging button {
    min-height: auto;
    padding: 0.4rem 0.75rem;
    font-size: 0.8rem;
}
/* Orchard Pager */
#paging {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 6px;
    margin: 12px 0;
}
#paging button, #paging .page-num {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 32px;
    min-width: 32px;
    padding: 4px 10px;
    font-size: 0.875rem;
    font-weight: 600;
    font-family: "Montserrat", "Open Sans", Arial, sans-serif;
    text-decoration: none;
    border-radius: 50%;
    border: 2px solid var(--border-accent, #8fb3a3);
    background: #fff;
    color: var(--color-link, #12443b);
    cursor: pointer;
}
#paging button:hover, #paging .page-num:hover {
    background: var(--bg-accent, #e2eae4);
}
#paging .page-num.active {
    background: var(--bg-accent, #e2eae4);
    color: var(--color-heading, #031018);
}
#paging #pageInfo {
    font-size: 0.8rem;
    color: var(--color-body);
}
#paging button:disabled {
    opacity: 0.3;
    cursor: default;
    pointer-events: none;
}
#results th, #datatable th {
    margin: 0;
    padding: 6px 8px;
    font-size: 0.8125rem;
    font-weight: 700;
    font-family: "Montserrat", "Open Sans", Arial, sans-serif;
    text-transform: uppercase;
    letter-spacing: .04em;
}
#results td, #datatable td {
    padding: 4px 8px;
    font-size: 0.8125rem;
    text-align: center;
    margin: 0;
    border-top-width: 1px;
    border-top-style: solid;
}
#datatable td:nth-child(1),
#datatable th:nth-child(1) {
    text-align: left;
}
#datatable td:nth-child(2),
#datatable th:nth-child(2) {
    text-align: left;
}
#datatable td:nth-child(3),
#datatable th:nth-child(3) {
    text-align: left;
}
#datatable td:nth-child(4),
#datatable th:nth-child(4) {
    text-align: left;
}
#results td.none {
    padding: 0;
    font-size: 100%;
    margin: 0 0 10px 0;
    text-align: left;
    border-top-width: 0;
}

/* --- Terms of Use --- */
.alignToText { vertical-align: text-bottom; }
img[src*="back_arr"] { vertical-align: middle; }
#termsCheck { margin-top: 17px; }
#terms h1 { font-size: 0.875rem; font-weight: 700; width: 100%; margin-top: 11px; margin-bottom: 10px; }
#terms p { font-size: 0.875rem; clear: both; margin-top: 0; }
#applications #errortoggle { display: none; font-size: 0.875rem; padding: 10px 0; }
#tou { width: 100%; max-width: 470px; font-size: 0.875rem; }
#touscroll {
    clear: both;
    width: 100%;
    max-width: 528px;
    height: 200px;
    padding: 8px;
    border-width: 1px;
    border-style: inset;
    overflow: auto;
}

/* --- Main Template --- */
#imagePara { margin-top: 0; }
.newSection { clear: both; margin-top: 0; padding-top: 0; }

/* --- Application Header Layout (Orchard — see color.css for colors) --- */

/* --- Responsive --- */
@media (max-width: 768px) {
    #container > :not(header):not(footer) {
        padding-inline: 1rem;
    }
    #pageBody,
    #applications {
        flex: auto;
    }
    #help {
        flex: auto;
    }
    #text #acch { width: 100%; float: none; padding-left: 20px; }
    #text #col2 { width: 100%; float: none; margin-left: 0; }
    .header-breadcrumb { flex-wrap: wrap; gap: 0.25rem; }
}
