/* Fontography */
@font-face { font-family: "Trade Gothic Next"; src: url('../../../font/trade-gothic/trade-gothic-next-lt-pro-bld.eot');
src: url('../../../font/trade-gothic/trade-gothic-next-lt-pro-bld.eot?#iefix') format('embedded-opentype'), url('../../../font/trade-gothic/trade-gothic-next-lt-pro-bld.woff2') format('woff2'), url('../../../font/trade-gothic/trade-gothic-next-lt-pro-bld.woff') format('woff'), url('../../../font/trade-gothic/trade-gothic-next-lt-pro-bld.ttf')  format('truetype'), url('../../../font/trade-gothic/trade-gothic-next-lt-pro-bld.svg#svgFontName') format('svg'); font-display:auto; font-style:normal; font-weight:700; }

@font-face { font-family: "Trade Gothic Next"; src: url('../../../font/trade-gothic/trade-gothic-next-lt-pro-bldit.eot');
src: url('../../../font/trade-gothic/trade-gothic-next-lt-pro-bldit.eot?#iefix') format('embedded-opentype'), url('../../../font/trade-gothic/trade-gothic-next-lt-pro-bldit.woff2') format('woff2'), url('../../../font/trade-gothic/trade-gothic-next-lt-pro-bldit.woff') format('woff'), url('../../../font/trade-gothic/trade-gothic-next-lt-pro-bldit.ttf')  format('truetype'), url('../../../font/trade-gothic/trade-gothic-next-lt-pro-bldit.svg#svgFontName') format('svg'); font-display:auto; font-style:italic; font-weight:700; }

@font-face { font-family: "Trade Gothic Next"; src: url('../../../font/trade-gothic/trade-gothic-next-lt-pro-it.eot');
src: url('../../../font/trade-gothic/trade-gothic-next-lt-pro-it.eot?#iefix') format('embedded-opentype'), url('../../../font/trade-gothic/trade-gothic-next-lt-pro-it.woff2') format('woff2'), url('../../../font/trade-gothic/trade-gothic-next-lt-pro-it.woff') format('woff'), url('../../../font/trade-gothic/trade-gothic-next-lt-pro-it.ttf')  format('truetype'), url('../../../font/trade-gothic/trade-gothic-next-lt-pro-it.svg#svgFontName') format('svg'); font-display:auto; font-style:italic; font-weight:400; }

@font-face { font-family: "Trade Gothic Next"; src: url('../../../font/trade-gothic/trade-gothic-next-lt-pro-rg.eot');
src: url('../../../font/trade-gothic/trade-gothic-next-lt-pro-rg.eot?#iefix') format('embedded-opentype'), url('../../../font/trade-gothic/trade-gothic-next-lt-pro-rg.woff2') format('woff2'), url('../../../font/trade-gothic/trade-gothic-next-lt-pro-rg.woff') format('woff'), url('../../../font/trade-gothic/trade-gothic-next-lt-pro-rg.ttf')  format('truetype'), url('../../../font/trade-gothic/trade-gothic-next-lt-pro-rg.svg#svgFontName') format('svg'); font-display:auto; font-style:normal; font-weight:400; }

@font-face { font-family: "Trade Gothic Next Condensed"; src: url('../../../font/trade-gothic/trade-gothic-next-lt-pro-hvcn.eot');
src: url('../../../font/trade-gothic/trade-gothic-next-lt-pro-hvcn.eot?#iefix') format('embedded-opentype'), url('../../../font/trade-gothic/trade-gothic-next-lt-pro-hvcn.woff2') format('woff2'), url('../../../font/trade-gothic/trade-gothic-next-lt-pro-hvcn.woff') format('woff'), url('../../../font/trade-gothic/trade-gothic-next-lt-pro-hvcn.ttf')  format('truetype'), url('../../../font/trade-gothic/trade-gothic-next-lt-pro-hvcn.svg#svgFontName') format('svg'); font-display:auto; font-style:normal; font-weight:700; }

@font-face { font-family: "Trade Gothic Next Condensed"; src: url('../../../font/trade-gothic/trade-gothic-next-lt-pro-hvcnit.eot');
src: url('../../../font/trade-gothic/trade-gothic-next-lt-pro-hvcnit.eot?#iefix') format('embedded-opentype'), url('../../../font/trade-gothic/trade-gothic-next-lt-pro-hvcnit.woff2') format('woff2'), url('../../../font/trade-gothic/trade-gothic-next-lt-pro-hvcnit.woff') format('woff'), url('../../../font/trade-gothic/trade-gothic-next-lt-pro-hvcnit.ttf')  format('truetype'), url('../../../font/trade-gothic/trade-gothic-next-lt-pro-hvcnit.svg#svgFontName') format('svg'); font-display:auto; font-style:italic; font-weight:700; }

@font-face { font-family: "Trade Gothic Next Condensed"; src: url('../../../font/trade-gothic/trade-gothic-next-lt-pro-cn.eot');
src: url('../../../font/trade-gothic/trade-gothic-next-lt-pro-cn.eot?#iefix') format('embedded-opentype'), url('../../../font/trade-gothic/trade-gothic-next-lt-pro-cn.woff2') format('woff2'), url('../../../font/trade-gothic/trade-gothic-next-lt-pro-cn.woff') format('woff'), url('../../../font/trade-gothic/trade-gothic-next-lt-pro-cn.ttf')  format('truetype'), url('../../../font/trade-gothic/trade-gothic-next-lt-pro-cn.svg#svgFontName') format('svg'); font-display:auto; font-style:normal; font-weight:400; }

@font-face { font-family: "Trade Gothic Next Condensed"; src: url('../../../font/trade-gothic/trade-gothic-next-lt-pro-cnit.eot');
src: url('../../../font/trade-gothic/trade-gothic-next-lt-pro-cnit.eot?#iefix') format('embedded-opentype'), url('../../../font/trade-gothic/trade-gothic-next-lt-pro-cnit.woff2') format('woff2'), url('../../../font/trade-gothic/trade-gothic-next-lt-pro-cnit.woff') format('woff'), url('../../../font/trade-gothic/trade-gothic-next-lt-pro-cnit.ttf')  format('truetype'), url('../../../font/trade-gothic/trade-gothic-next-lt-pro-cnit.svg#svgFontName') format('svg'); font-display:auto; font-style:italic; font-weight:400; }

@font-face { font-family: "Neue Helvetica"; src: url('../../../font/neue-helvetica/helvetica-neue-ultra-light.eot');
src: url('../../../font/neue-helvetica/helvetica-neue-ultra-light.eot?#iefix') format('embedded-opentype'), url('../../../font/neue-helvetica/helvetica-neue-ultra-light.woff2') format('woff2'), url('../../../font/neue-helvetica/helvetica-neue-ultra-light.woff') format('woff'), url('../../../font/neue-helvetica/helvetica-neue-ultra-light.ttf')  format('truetype'), url('../../../font/neue-helvetica/helvetica-neue-ultra-light.svg#svgFontName') format('svg'); font-display:auto; font-style:normal; font-weight:100; }

@font-face { font-family: "Neue Helvetica"; src: url('../../../font/neue-helvetica/helvetica-neue-ultra-light-italic.eot');
src: url('../../../font/neue-helvetica/helvetica-neue-ultra-light-italic.eot?#iefix') format('embedded-opentype'), url('../../../font/neue-helvetica/helvetica-neue-ultra-light-italic.woff2') format('woff2'), url('../../../font/neue-helvetica/helvetica-neue-ultra-light-italic.woff') format('woff'), url('../../../font/neue-helvetica/helvetica-neue-ultra-light-italic.ttf')  format('truetype'), url('../../../font/neue-helvetica/helvetica-neue-ultra-light-italic.svg#svgFontName') format('svg'); font-display:auto; font-style:oblique; font-weight:100; }

@font-face { font-family: "Neue Helvetica"; src: url('../../../font/neue-helvetica/helvetica-neue-thin.eot');
src: url('../../../font/neue-helvetica/helvetica-neue-thin.eot?#iefix') format('embedded-opentype'), url('../../../font/neue-helvetica/helvetica-neue-thin.woff2') format('woff2'), url('../../../font/neue-helvetica/helvetica-neue-thin.woff') format('woff'), url('../../../font/neue-helvetica/helvetica-neue-thin.ttf')  format('truetype'), url('../../../font/neue-helvetica/helvetica-neue-thin.svg#svgFontName') format('svg'); font-display:auto; font-style:normal; font-weight:200; }

@font-face { font-family: "Neue Helvetica"; src: url('../../../font/neue-helvetica/helvetica-neue-thin-italic.eot');
src: url('../../../font/neue-helvetica/helvetica-neue-thin-italic.eot?#iefix') format('embedded-opentype'), url('../../../font/neue-helvetica/helvetica-neue-thin-italic.woff2') format('woff2'), url('../../../font/neue-helvetica/helvetica-neue-thin-italic.woff') format('woff'), url('../../../font/neue-helvetica/helvetica-neue-thin-italic.ttf')  format('truetype'), url('../../../font/neue-helvetica/helvetica-neue-thin-italic.svg#svgFontName') format('svg'); font-display:auto; font-style:oblique; font-weight:200; }

@font-face { font-family: "Neue Helvetica"; src: url('../../../font/neue-helvetica/helvetica-neue-light.eot');
src: url('../../../font/neue-helvetica/helvetica-neue-light.eot?#iefix') format('embedded-opentype'), url('../../../font/neue-helvetica/helvetica-neue-light.woff2') format('woff2'), url('../../../font/neue-helvetica/helvetica-neue-light.woff') format('woff'), url('../../../font/neue-helvetica/helvetica-neue-light.ttf')  format('truetype'), url('../../../font/neue-helvetica/helvetica-neue-light.svg#svgFontName') format('svg'); font-display:auto; font-style:normal; font-weight:300; }

@font-face { font-family: "Neue Helvetica"; src: url('../../../font/neue-helvetica/helvetica-neue-light-italic.eot');
src: url('../../../font/neue-helvetica/helvetica-neue-light-italic.eot?#iefix') format('embedded-opentype'), url('../../../font/neue-helvetica/helvetica-neue-light-italic.woff2') format('woff2'), url('../../../font/neue-helvetica/helvetica-neue-light-italic.woff') format('woff'), url('../../../font/neue-helvetica/helvetica-neue-light-italic.ttf')  format('truetype'), url('../../../font/neue-helvetica/helvetica-neue-light-italic.svg#svgFontName') format('svg'); font-display:auto; font-style:oblique; font-weight:300; }

@font-face { font-family: "Neue Helvetica"; src: url('../../../font/neue-helvetica/helvetica-neue-roman.eot');
src: url('../../../font/neue-helvetica/helvetica-neue-roman.eot?#iefix') format('embedded-opentype'), url('../../../font/neue-helvetica/helvetica-neue-roman.woff2') format('woff2'), url('../../../font/neue-helvetica/helvetica-neue-roman.woff') format('woff'), url('../../../font/neue-helvetica/helvetica-neue-roman.ttf')  format('truetype'), url('../../../font/neue-helvetica/helvetica-neue-roman.svg#svgFontName') format('svg'); font-display:auto; font-style:normal; font-weight:400; }

@font-face { font-family: "Neue Helvetica"; src: url('../../../font/neue-helvetica/helvetica-neue-italic.eot');
src: url('../../../font/neue-helvetica/helvetica-neue-italic.eot?#iefix') format('embedded-opentype'), url('../../../font/neue-helvetica/helvetica-neue-italic.woff2') format('woff2'), url('../../../font/neue-helvetica/helvetica-neue-italic.woff') format('woff'), url('../../../font/neue-helvetica/helvetica-neue-italic.ttf')  format('truetype'), url('../../../font/neue-helvetica/helvetica-neue-italic.svg#svgFontName') format('svg'); font-display:auto; font-style:oblique; font-weight:400; }

@font-face { font-family: "Neue Helvetica"; src: url('../../../font/neue-helvetica/helvetica-neue-bold.eot');
src: url('../../../font/neue-helvetica/helvetica-neue-bold.eot?#iefix') format('embedded-opentype'), url('../../../font/neue-helvetica/helvetica-neue-bold.woff2') format('woff2'), url('../../../font/neue-helvetica/helvetica-neue-bold.woff') format('woff'), url('../../../font/neue-helvetica/helvetica-neue-bold.ttf')  format('truetype'), url('../../../font/neue-helvetica/helvetica-neue-bold.svg#svgFontName') format('svg'); font-display:auto; font-style:normal; font-weight:700; }

@font-face { font-family: "Neue Helvetica"; src: url('../../../font/neue-helvetica/helvetica-neue-bold-italic.eot');
src: url('../../../font/neue-helvetica/helvetica-neue-bold-italic.eot?#iefix') format('embedded-opentype'), url('../../../font/neue-helvetica/helvetica-neue-bold-italic.woff2') format('woff2'), url('../../../font/neue-helvetica/helvetica-neue-bold-italic.woff') format('woff'), url('../../../font/neue-helvetica/helvetica-neue-bold-italic.ttf')  format('truetype'), url('../../../font/neue-helvetica/helvetica-neue-bold-italic.svg#svgFontName') format('svg'); font-display:auto; font-style:oblique; font-weight:700; }

/* A minimal reset to fix box sizing */
html { -webkit-box-sizing: border-box; box-sizing: border-box; }
*, *:before, *:after { -webkit-box-sizing: inherit; box-sizing: inherit; }
html, body { margin: 0; padding: 0; }

html, body { background: #fff; font-family: 'Trade Gothic Next', Arial, sans-serif; }
input[type="button"], input[type="submit"] { -webkit-appearance: none; }
.grecaptcha-badge { visibility: hidden; }

/* A minimal reset to fix box sizing */
html { -webkit-box-sizing: border-box; box-sizing: border-box; }
*, *:before, *:after { -webkit-box-sizing: inherit; box-sizing: inherit; }
html, body { margin: 0; padding: 0; }

/* Generic responsive tweaks */
img { max-width: 100%; height: auto; border: none; outline: none; }
main { display: block; padding-top: 2rem; padding-bottom: 4rem; }

/* Hacky workaround for unfriendly pixels that break your flow */
body > img { display: none; }

html, body { background: #fff; color: #444; font-family: Arial, sans-serif; }
input[type="button"], input[type="submit"] { -webkit-appearance: none; }
.grecaptcha-badge { visibility: hidden; }

/* Basic Elements */
h1 { font-size: 1.5rem; line-height: 1.5rem; display: block; text-align: center; }
h2 { font-size: 1.25rem; line-height: 1.25rem; display: block; text-align: left; }

/* Layout */
.container { width: 100%; position: relative; margin: 0 auto; padding: 0; }
.fullwidth-container { max-width: 100%; }
.small-container { max-width: 720px; }
.medium-container { max-width: 960px; }
.large-container { max-width: 1140px; }
.block-container { display: block; }
.grid-container { display: grid; }
.flex-container { display: flex; }
.horizontal-pad { padding-left: 16px; padding-right: 16px; }
.desktop-horizontal-pad { padding-left: 16px; padding-right: 16px; }
.mobile-horizontal-pad { padding-left: 0; padding-right: 0; }
.pad-vertical-small { padding-top: 16px; padding-bottom: 16px; }

.grid-container-auto-2 { grid-template-columns: auto auto 1fr; }
.grid-pad-app-small { grid-gap: 16px; }

.container p { font-size: 1rem; line-height: 1.825rem; }
.autocomplete-suggestions { border: 1px solid #999; background: #FFF; overflow: auto; }
.autocomplete-suggestion { padding: 2px 5px; white-space: nowrap; overflow: hidden; }
.autocomplete-selected { background: #F0F0F0; }
.autocomplete-suggestions strong { font-weight: normal; color: red; }
.autocomplete-group { padding: 2px 5px; }
.autocomplete-group strong { display: block; border-bottom: 1px solid #000; }

/* Gravity Forms */
.gform_wrapper.gravity-theme .ginput_container_date,
.gform_wrapper.gravity-theme .ginput_container_date input { width: 100% !important; }

.gform_wrapper.gravity-theme input[type="color"],
.gform_wrapper.gravity-theme input[type="date"],
.gform_wrapper.gravity-theme input[type="datetime-local"],
.gform_wrapper.gravity-theme input[type="datetime"],
.gform_wrapper.gravity-theme input[type="email"],
.gform_wrapper.gravity-theme input[type="month"],
.gform_wrapper.gravity-theme input[type="number"],
.gform_wrapper.gravity-theme input[type="password"],
.gform_wrapper.gravity-theme input[type="search"],
.gform_wrapper.gravity-theme input[type="tel"],
.gform_wrapper.gravity-theme input[type="text"],
.gform_wrapper.gravity-theme input[type="time"],
.gform_wrapper.gravity-theme input[type="url"],
.gform_wrapper.gravity-theme input[type="week"],
.gform_wrapper.gravity-theme select,
.gform_wrapper.gravity-theme textarea { font-size: 1.25rem !important; line-height: 1.25rem !important; margin-bottom: 0 !important; margin-top: 0 !important; padding: .825rem !important; }

.gform_wrapper.gravity-theme .gform_footer button,
.gform_wrapper.gravity-theme .gform_footer input,
.gform_wrapper.gravity-theme .gform_page_footer button,
.gform_wrapper.gravity-theme .gform_page_footer input { background: #5bdbff !important; text-decoration: none !important; text-transform: uppercase !important; display: inline-block !important; font-size: 1.25rem !important; line-height: 1.25rem !important; color: #070707 !important; font-weight: bold !important; padding: 20px 25px !important; margin: 0 !important; border: none !important; cursor: pointer !important; }

.gform_wrapper.gravity-theme .gform_footer button:hover,
.gform_wrapper.gravity-theme .gform_footer input:hover,
.gform_wrapper.gravity-theme .gform_page_footer button:hover,
.gform_wrapper.gravity-theme .gform_page_footer input:hover { background: #3dcfff !important; }

/* Legacy logo (fallback) */
.logo { display: block; max-width: 280px; height: auto; margin: 2rem auto 1.5rem auto; }
.logo img { display: block; width: 100%; height: auto; }

/* Bento Header */
.bento-header {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 0.75rem;
    margin-top: 2rem;
    margin-bottom: 1.5rem;
}
.bento-header-centered {
    grid-template-columns: 1fr;
    justify-items: center;
}
.bento-logo-tile {
    background: linear-gradient(88.84deg, #0b0b0d 7.81%, #121248 99.7%);
    border-radius: 12px;
    padding: 1.5rem 2rem;
    display: flex;
    align-items: center;
    justify-content: center;
}
.bento-logo-tile a {
    display: block;
    line-height: 0;
}
.bento-logo-tile img {
    display: block;
    height: 72px;
    width: auto;
}
.bento-logo-tile-centered {
    padding: 2rem 3rem;
}
.bento-logo-tile-centered img {
    height: 84px;
}
.bento-user-tile {
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    padding: 1rem 1.25rem;
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 1rem;
}
.bento-user-info {
    display: flex;
    flex-direction: column;
    gap: 0.1875rem;
}
.bento-company {
    color: #1e293b;
    font-size: 1.125rem;
    font-weight: 600;
}
.bento-site-id {
    color: #64748b;
    font-size: 0.8125rem;
}
.bento-logout {
    color: #475569;
    font-size: 0.8125rem;
    text-decoration: none;
    padding: 0.4375rem 0.875rem;
    background: #fff;
    border: 1px solid #cbd5e1;
    border-radius: 6px;
    transition: all 0.15s ease;
    white-space: nowrap;
}
.bento-logout:hover {
    color: #1e293b;
    background: #f1f5f9;
    border-color: #94a3b8;
}

/* Mobile bento adjustments */
@media screen and (max-width: 640px) {
    .bento-header {
        grid-template-columns: 1fr;
        gap: 0.5rem;
    }
    .bento-logo-tile {
        padding: 1.25rem 1.5rem;
    }
    .bento-logo-tile img {
        height: 56px;
    }
    .bento-user-tile {
        padding: 0.75rem 1rem;
    }
    .bento-company {
        font-size: 0.875rem;
    }
}

/* Bento Login Page */
.bento-login {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.75rem;
    margin-top: 3rem;
    min-height: 360px;
}
.bento-login-logo {
    background: linear-gradient(88.84deg, #0b0b0d 7.81%, #121248 99.7%);
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 2rem;
}
.bento-login-logo a {
    display: block;
}
.bento-login-logo img {
    display: block;
    width: 220px;
    height: auto;
}
.bento-login-form {
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    padding: 2rem 2.5rem;
    display: flex;
    flex-direction: column;
    justify-content: center;
}
.bento-login-form h2 {
    margin: 0 0 0.25rem 0;
    font-size: 1.5rem;
    color: #1e293b;
    text-align: left;
}
.bento-login-form > p {
    margin: 0 0 1.5rem 0;
    color: #64748b;
    font-size: 0.9375rem;
}
.bento-login-form label {
    display: block;
    font-size: 0.8125rem;
    font-weight: 600;
    color: #475569;
    margin-bottom: 0.375rem;
}
.bento-login-form input[type="text"],
.bento-login-form input[type="password"] {
    width: 100%;
    padding: 0.625rem 0.875rem;
    font-size: 1rem;
    border: 1px solid #d1d5db;
    border-radius: 6px;
    margin-bottom: 1rem;
    transition: border-color 0.15s ease, box-shadow 0.15s ease;
}
.bento-login-form input[type="text"]:focus,
.bento-login-form input[type="password"]:focus {
    outline: none;
    border-color: #204ce5;
    box-shadow: 0 0 0 3px rgba(32, 76, 229, 0.15);
}
.bento-login-form input[type="submit"] {
    background: #5bdbff;
    color: #070707;
    border: none;
    padding: 0.75rem 1.5rem;
    font-size: 1rem;
    font-weight: 600;
    border-radius: 6px;
    cursor: pointer;
    transition: background 0.15s ease, transform 0.1s ease;
    width: 100%;
    margin-top: 0.5rem;
}
.bento-login-form input[type="submit"]:hover {
    background: #3dcfff;
}
.bento-login-form .login-remember {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    margin-bottom: 1rem;
}
.bento-login-form .login-remember label {
    margin: 0;
    font-weight: 400;
    color: #64748b;
}

/* Mobile login */
@media screen and (max-width: 720px) {
    .bento-login {
        grid-template-columns: 1fr;
        margin-top: 2rem;
        min-height: auto;
    }
    .bento-login-logo {
        padding: 2rem 1.5rem;
    }
    .bento-login-logo img {
        width: 180px;
    }
    .bento-login-form {
        padding: 1.5rem;
    }
}

.comparison-grid { grid-template-columns: 1fr 1fr; grid-gap: 32px; border: 1px solid #ccc; padding: 1rem; border-radius: .25rem; }
.comparison-grid + h2 { margin-top: 3rem; }
.container p:first-child { margin-top: 0; }
.sub-comparison-grid { grid-template-columns: 1fr; grid-gap: .25rem; }
.sub-comparison-grid-row-grid { grid-template-columns: 1fr 1fr; grid-gap: .5rem; }
.sub-comparison-grid-row-grid + .sub-comparison-grid-row-grid { border-top: 1px solid #ccc; padding-top: .25rem; }
/*.sub-comparison-grid-title { font-weight: 700; }*/

.gf_login_form input[type="text"], .gf_login_form input[type="password"] { width: 100%; }
.gf_login_form { max-width: 350px; margin: 48px auto 0 auto; }
.gf_login_links { margin: 16px auto; max-width: 350px; width: 100%; display: table; font-size: .825rem; }
.gf_login_form.gform_wrapper.gravity-theme .gfield_required { display: none; }
.gf_login_links a { color: #777; }

/* Application Messaging */
.msca-dconf.msca-msg.mcsa-ok { padding: 16px; background: #E3FCEF; margin: 32px 0; border-radius: 4px; border: 1px solid #36B37E; color: #00875A; font-weight: 700; text-align: center; }

.cell-data { font-size: 14px; font-weight: bold; text-align: right; }
.cell-label { font-size: 14px; color: #888; }
.sub-comparison-grid-quantity-cell { display: grid; grid-template-columns: repeat(2, 1fr); grid-gap: 16px; }
.sub-comparison-grid-quantity-cell + .sub-comparison-grid-quantity-cell { margin-top: 2px; border-top: 1px dotted #ccc; padding-top: 4px; }
.sub-comparison-grid-quantity-table { display: table; width: 100%; }

/* Special mobile UI/UX improvement tweaks */
@media screen and (min-width: 960px) {
	a, svg, button, input { -webkit-transition: all 0.3s ease; -o-transition: all 0.3s ease; transition: all 0.3s ease; }
	a:hover, svg:hover, button:hover, input:hover { -webkit-transition: all 0.3s ease; -o-transition: all 0.3s ease; transition: all 0.3s ease; }
}

@media screen and (max-width: 1000px) {

}

@media screen and (max-width: 960px) {
	.results .result-action { margin-left: 0; }
	.results .result { -ms-grid-columns: 1fr; grid-template-columns: 1fr; }
}

@media screen and (max-width: 720px) {

}

@media screen and (max-width: 640px) {

}

@media screen and (max-width: 560px) {

}


/* Table-Style Product Fields */
.gform_wrapper.gravity-theme .gf-product-qty {
    display: grid !important;
    grid-template-columns: minmax(200px, 1fr) 2fr auto !important;
    grid-template-rows: auto !important;
    align-items: center !important;
    gap: 1rem !important;
    padding: 0.875rem 1rem !important;
    margin-bottom: 0 !important;
    border-bottom: 1px solid #e2e8f0 !important;
    background: #fff !important;
}
.gform_wrapper.gravity-theme .gf-product-qty:first-of-type {
    border-top: 1px solid #e2e8f0 !important;
}
.gform_wrapper.gravity-theme .gf-product-qty:hover {
    background: #f8fafc !important;
}

/* Product name column */
.gform_wrapper.gravity-theme .gf-product-qty .gfield_label {
    font-size: 0.9375rem !important;
    font-weight: 600 !important;
    color: #1e293b !important;
    margin: 0 !important;
    padding: 0 !important;
    grid-column: 1 !important;
    grid-row: 1 !important;
}

/* Description column */
.gform_wrapper.gravity-theme .gf-product-qty .gfield_description:not(.instruction) {
    font-size: 0.8125rem !important;
    color: #64748b !important;
    margin: 0 !important;
    padding: 0 !important;
    line-height: 1.4 !important;
    grid-column: 2 !important;
    grid-row: 1 !important;
}
.gform_wrapper.gravity-theme .gf-product-qty .gfield_description.instruction {
    display: none !important;
}

/* Quantity input column */
.gform_wrapper.gravity-theme .gf-product-qty .ginput_container {
    margin: 0 !important;
    padding: 0 !important;
    grid-column: 3 !important;
    grid-row: 1 !important;
}
.gform_wrapper.gravity-theme .gf-product-qty input[type="number"] {
    width: 80px !important;
    text-align: center !important;
    font-size: 1rem !important;
    font-weight: 500 !important;
    padding: 0.5rem !important;
    border: 1px solid #d1d5db !important;
    border-radius: 6px !important;
    background: #fff !important;
}
.gform_wrapper.gravity-theme .gf-product-qty input[type="number"]:focus {
    border-color: #204ce5 !important;
    outline: none !important;
    box-shadow: 0 0 0 2px rgba(32, 76, 229, 0.2) !important;
}

/* Responsive: stack on mobile */
@media screen and (max-width: 640px) {
    .gform_wrapper.gravity-theme .gf-product-qty {
        grid-template-columns: 1fr auto !important;
        grid-template-rows: auto auto !important;
        gap: 0.25rem 1rem !important;
        padding: 0.75rem 1rem !important;
    }
    .gform_wrapper.gravity-theme .gf-product-qty .gfield_label {
        grid-column: 1 !important;
        grid-row: 1 !important;
    }
    .gform_wrapper.gravity-theme .gf-product-qty .gfield_description:not(.instruction) {
        grid-column: 1 !important;
        grid-row: 2 !important;
        font-size: 0.75rem !important;
    }
    .gform_wrapper.gravity-theme .gf-product-qty .ginput_container {
        grid-column: 2 !important;
        grid-row: 1 / 3 !important;
        align-self: center !important;
    }
}

/* Section headers - table header style */
.gform_wrapper.gravity-theme .gsection {
    border-bottom: none !important;
    padding: 0 !important;
    margin-top: 1.5rem !important;
    margin-bottom: 0.5rem !important;
}
.gform_wrapper.gravity-theme .gsection_title {
    font-size: 0.6875rem !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.08em !important;
    color: #64748b !important;
    margin-bottom: 0.25rem !important;
}
.gform_wrapper.gravity-theme .gsection_description {
    font-size: 0.8125rem !important;
    color: #94a3b8 !important;
    margin-top: 0 !important;
}

/* Products section - add table header row via pseudo-element */
#field_21_3 + .gf-product-qty::before,
.gform_wrapper.gravity-theme .gsection[id*="field_"][id$="_3"] + .gf-product-qty::before {
    content: "Product" !important;
    display: none; /* Enable if you want column headers */
}

/* Order Summary Section */
.gform_wrapper.gravity-theme .gf-order-total {
    background: #ecfeff !important;
    border: 1px solid #a5f3fc !important;
    border-radius: 10px !important;
    padding: 1.25rem 1.5rem !important;
}
.gform_wrapper.gravity-theme .gf-order-total .gfield_label {
    font-size: 0.875rem !important;
    font-weight: 500 !important;
    color: #0e7490 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.025em !important;
}
.gform_wrapper.gravity-theme .gf-order-total input {
    font-size: 1.75rem !important;
    font-weight: 700 !important;
    background: transparent !important;
    border: none !important;
    color: #0891b2 !important;
    padding: 0 !important;
    width: 100% !important;
}
.gform_wrapper.gravity-theme .gf-order-total input:focus {
    box-shadow: none !important;
    outline: none !important;
}
.gform_wrapper.gravity-theme .gf-order-total .gfield_description {
    font-size: 0.75rem !important;
    color: #0e7490 !important;
    opacity: 0.7 !important;
    margin-top: 0.5rem !important;
    font-style: italic !important;
}

/* Notes field styling - uses .gf-order-notes (GF 4.0 compatible, replaces deprecated gf_right_half) */
.gform_wrapper.gravity-theme .gf-order-notes textarea {
    min-height: 80px !important;
    border-radius: 8px !important;
    border: 1px solid #e2e8f0 !important;
    font-size: 0.9375rem !important;
}
.gform_wrapper.gravity-theme .gf-order-notes textarea:focus {
    border-color: #204ce5 !important;
    box-shadow: 0 0 0 3px rgba(32, 76, 229, 0.1) !important;
}

/* Form footer - better button */
.gform_wrapper.gravity-theme .gform_footer {
    margin-top: 2rem !important;
    padding-top: 1.5rem !important;
    border-top: 1px solid #e2e8f0 !important;
}
.gform_wrapper.gravity-theme .gform_footer input[type="submit"] {
    border-radius: 8px !important;
    font-size: 1rem !important;
    padding: 0.875rem 2rem !important;
    box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05) !important;
}

/* Login Form on Order Page */
.login-submit input[type="submit"] { background: #5bdbff; text-decoration: none; text-transform: uppercase; display: inline-block; font-size: 1.25rem; line-height: 1.25rem; color: #070707; font-weight: bold; padding: 20px 25px; margin: 0; border: none; cursor: pointer; border-radius: 8px; }
.login-submit input[type="submit"]:hover { background: #3dcfff; }
