/*
 * Visual refresh layered over site.css (same approach as the wholesale site's
 * modern.css). site.css keeps the structure; this file replaces the surface:
 * Verdana/Geneva type, bevel buttons, dashed rules, aqua title bars.
 *
 * Idea: a sunlit gallery wall at home. Linen page (the logo's own background,
 * so the JPEG logo sits on it seamlessly), white mats around the content,
 * walnut-brown ink, and the logo's orange as the single call-to-action colour.
 * Olive and aqua from the logo appear only as small tints.
 */

:root {
    --linen: #edebdf;        /* page; exact logo background */
    --linen-deep: #e3e0d0;
    --mat: #ffffff;          /* content cards */
    --ink: #3b2c0e;          /* walnut: text, nav */
    --ink-soft: #6b5a3a;     /* secondary text, 6:1 on white */
    --rule: #ddd8c6;
    --orange: #c4560f;       /* links/accents on light (4.9:1 on white) */
    --orange-fill: #e8731c;  /* filled buttons (logo orange) */
    --orange-hover: #d0620f;
    --olive: #a99a10;
    --aqua: #d5ecea;         /* pale tint from the logo */
    --danger: #b3261e;
    --radius: 6px;
    --shadow: 0 1px 2px rgba(59, 44, 14, .06), 0 6px 20px rgba(59, 44, 14, .06);
    --font-ui: 'Jost', 'Century Gothic', 'CenturyGothic', Futura, Arial, sans-serif;
    --font-display: 'Fraunces', Georgia, 'Times New Roman', serif;
}

/* ---------- Base ---------- */

html { background: var(--linen); }
body {
    font-family: var(--font-ui);
    font-size: 15px;
    line-height: 1.55;
    color: var(--ink);
    background: var(--linen);
    -webkit-font-smoothing: antialiased;
}

/* site.css pins Verdana/Arial/Geneva/Century Gothic on dozens of selectors */
body, table, td, th, input, select, textarea, button,
.txtverdana12, .mainbrown, .mainwhite, .mainwhitesmall, .txtarial12, .txtarial12a, .txtarial13,
.browsbox, .uploadphotobar, .spotlightbar, .headersmllinks, .footinfo, .footlinks a, .nmgfootertext,
.nmgfootertext a, .dimensionstitle, .testitxt, .billinfo, .billinfo a, .cartsmry, .shipinfo, .eroor,
.redtxt, .button, .home_testi_blk, #home_slide_show div, #step1 {
    font-family: var(--font-ui);
}

.txtverdana12, .mainbrown, .txtarial12, .testitxt { font-size: 14px; line-height: 1.55; color: var(--ink); }
.mainwhite, .mainwhitesmall { line-height: 1.5; }

a { color: var(--orange); text-underline-offset: 2px; transition: color .15s; }
a:hover { color: var(--ink); }
:focus-visible { outline: 2px solid var(--orange-fill); outline-offset: 2px; }
::selection { background: var(--orange-fill); color: #fff; }

h1, h2, h3 { font-family: var(--font-display); font-weight: 600; color: var(--ink); letter-spacing: -.01em; }

/* ---------- Buttons & fields ---------- */

.btn, .button, #step1, input[type="submit"], input[type="button"], button[type="submit"] {
    display: inline-block;
    font-family: var(--font-ui);
    font-size: 14px;
    font-weight: 500;
    line-height: 1.2;
    letter-spacing: .01em;
    color: #fff;
    background: var(--orange-fill);
    border: 0;
    border-radius: var(--radius);
    padding: 10px 18px;
    cursor: pointer;
    text-decoration: none;
    transition: background-color .15s, transform .05s;
}
.btn:hover, .button:hover, #step1:hover, input[type="submit"]:hover, input[type="button"]:hover, button[type="submit"]:hover {
    background: var(--orange-hover);
    color: #fff;
}
.btn:active, .button:active, input[type="submit"]:active, button[type="submit"]:active { transform: translateY(1px); }

/* image buttons (input type=image) keep their artwork */
input[type="image"] { border-radius: var(--radius); }

input[type="text"], input[type="email"], input[type="password"], input[type="tel"], input[type="number"],
input:not([type]), select, textarea {
    font-family: var(--font-ui);
    font-size: 14px;
    color: var(--ink);
    background: #fff;
    border: 1px solid #cdc6ae;
    border-radius: var(--radius);
    padding: 7px 10px;
    box-sizing: border-box;
    max-width: 100%;
}
select { padding-right: 6px; }
input[type="text"]:focus, input[type="email"]:focus, input[type="password"]:focus, select:focus, textarea:focus {
    border-color: var(--orange-fill);
    box-shadow: 0 0 0 3px rgba(232, 115, 28, .18);
    outline: none;
}
input[type="radio"], input[type="checkbox"] { accent-color: var(--orange-fill); }

/* ---------- Header ---------- */

#main { text-align: left; }
#header { padding: 14px 0 0; }
#logo { padding: 8px 0 10px 4px; }
#logo img { display: block; }

.headersmllinks { font-size: 13px; color: var(--ink-soft); margin-top: 6px; }
.headersmllinks a { color: var(--ink); margin: 0 0 0 16px; text-decoration: none; }
.headersmllinks a:hover { color: var(--orange); }
.header-util { margin-top: 8px; }
.header-contact { display: flex; justify-content: flex-end; align-items: center; gap: 18px; margin-top: 8px; }
.header-phone { display: inline-flex; align-items: center; flex-wrap: wrap; gap: 4px 0; }
.header-phone svg { color: var(--orange-fill); margin-right: 6px; }
.header-phone a { margin-left: 10px; font-weight: 500; }
.header-social { display: inline-flex; gap: 6px; }
.header-social a { display: inline-flex; align-items: center; justify-content: center; width: 30px; height: 30px; margin: 0; border-radius: 50%; color: var(--ink); background: var(--linen-deep); }
.header-social a:hover { color: #fff; background: var(--orange-fill); }

.headerlinks {
    margin-top: 14px;
    padding: 0 6px;
    background: var(--ink);
    border-radius: var(--radius);
    display: flex;
    justify-content: space-between;
}
.headerlinks a {
    font-size: 15px;
    font-weight: 500;
    line-height: 1.2;
    letter-spacing: .01em;
    padding: 13px 16px;
    color: #fff;
    border-bottom: 3px solid transparent;
}
.headerlinks a:hover { color: #fff; border-bottom-color: var(--orange-fill); }
.headerlinks a:first-child { color: #ffd2ad; }

.nav-toggle { display: none; }

/* ---------- Content card ---------- */

.content {
    background: var(--mat);
    border-radius: var(--radius);
    box-shadow: var(--shadow);
    padding: 20px;
    margin-top: 16px;
}
.content.content-home { background: transparent; box-shadow: none; padding: 0; }

/* section title bars (were aqua strips with bold Geneva) */
.uploadphotobar, .spotlightbar {
    font-family: var(--font-display);
    font-size: 19px;
    font-weight: 600;
    line-height: 1.3;
    letter-spacing: -.005em;
    text-transform: none;
    color: var(--ink);
    background: none;
    padding: 6px 0 10px;
    margin: 18px 0 14px;
    border-bottom: 1px solid var(--rule);
}
.uploadphotobar label, .spotlightbar label { font: inherit; }
.uploadphotobar:first-child { margin-top: 0; }
.spotlightbar { color: var(--orange); }

.browsbox { font-size: 15px; font-weight: 500; color: var(--ink); }
.dimensionstitle { font-size: 15px; font-weight: 600; border-bottom: 1px solid var(--rule); padding-bottom: 6px; }
.shipinfohead { background: var(--aqua); border-radius: 4px; text-transform: none; font-size: 13px; padding: 6px 10px; }
.cartsmry { border-bottom: 1px solid var(--rule); font-size: 14px; }
.billinfo, .billinfo a { font-size: 14px; color: var(--ink); }

.eroor {
    font-size: 14px;
    font-weight: 500;
    color: var(--ink);
    background: #fff4e8;
    border: 1px solid #f3c99d;
    border-left: 4px solid var(--orange-fill);
    border-radius: var(--radius);
    margin: 0 0 14px;
    padding: 10px 14px;
    text-align: left;
}
.redtxt { color: var(--danger); font-weight: 500; }

table { border-collapse: collapse; }

/* sidebar promo images (free shipping, beat any price, guarantee) */
.content > .left img { border-radius: var(--radius); }

/* ---------- Home ---------- */

.home-side .why-box {
    display: block;
    background: var(--mat);
    border-radius: var(--radius);
    box-shadow: var(--shadow);
    padding: 20px 22px 22px;
    margin-bottom: 16px;
    color: var(--ink);
    text-decoration: none;
}
.why-box h2 { font-size: 24px; margin: 0; line-height: 1.15; }
.why-box .why-sub { margin: 2px 0 12px; color: var(--ink-soft); font-size: 14px; }
.why-box ul { list-style: none; margin: 0 0 18px; padding: 0; }
.why-box li { position: relative; padding: 7px 0 7px 28px; border-top: 1px solid var(--rule); font-size: 15px; }
.why-box li:first-child { border-top: 0; }
.why-box li::before {
    content: "";
    position: absolute; left: 2px; top: 12px;
    width: 12px; height: 7px;
    border-left: 2.5px solid var(--olive); border-bottom: 2.5px solid var(--olive);
    transform: rotate(-45deg);
}
.why-box li strong { color: var(--orange); font-weight: 600; }
.why-box .btn { display: block; text-align: center; }
.why-box:hover .btn { background: var(--orange-hover); }

.home-h { font-size: 19px; margin: 0 0 10px; line-height: 1.25; }

.home_testimonial_blk {
    position: relative;
    height: auto;
    min-height: 0;
    background: var(--ink);
    color: #fff;
    border-radius: var(--radius);
    padding: 20px 22px 44px;
    margin-bottom: 16px;
    text-align: left;
}
.home_testimonial_blk .home-h { color: #ffd2ad; }
.home_testi_blk {
    margin: 0;
    padding: 0 0 0 0;
    font-family: var(--font-display);
    font-style: italic;
    font-size: 18px;
    line-height: 1.45;
    color: #fff;
}
.home_testi_blk::before { content: "\201C"; }
.home_testi_blk::after { content: "\201D"; }
.testi-from { margin: 12px 0 0; font-weight: 500; color: #e8dcc4; }
.testi-from::before { content: "\2014\00a0"; }
.testi-next { position: absolute; right: 18px; bottom: 14px; color: #ffd2ad; text-decoration: none; font-weight: 500; }
.testi-next:hover { color: #fff; }

.home_slider { border-radius: var(--radius); overflow: hidden; box-shadow: var(--shadow); background: #fff; margin-bottom: 16px; }
#home_slide_show div .block_head { font-family: var(--font-display); font-weight: 600; color: var(--ink); }
#home_slide_show div .block_tagline { font-family: var(--font-ui); color: var(--orange); }

.home-tabs { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; margin: 0 0 16px; }
.home-tabs a {
    display: block;
    padding: 12px 14px 13px;
    background: var(--mat);
    border-radius: var(--radius);
    box-shadow: var(--shadow);
    border-top: 3px solid var(--orange-fill);
    color: var(--ink);
    font-weight: 600;
    font-size: 15px;
    line-height: 1.25;
    text-decoration: none;
    transition: transform .15s, box-shadow .15s;
}
.home-tabs a:nth-child(2) { border-top-color: var(--olive); }
.home-tabs a:nth-child(3) { border-top-color: #7cc3c0; }
.home-tabs a span { display: block; font-size: 11px; font-weight: 500; letter-spacing: .08em; text-transform: uppercase; color: var(--ink-soft); margin-bottom: 3px; }
.home-tabs a:hover { transform: translateY(-2px); box-shadow: 0 2px 4px rgba(59, 44, 14, .08), 0 10px 26px rgba(59, 44, 14, .1); color: var(--orange); }

.home-row { display: grid; grid-template-columns: 1.6fr 1fr; gap: 16px; margin-bottom: 16px; }
.home_subscribe_blk, .home_social_blk {
    float: none;
    width: auto;
    height: auto;
    background: var(--mat);
    border-radius: var(--radius);
    box-shadow: var(--shadow);
    padding: 18px 20px;
    margin: 0;
}
.home_subscribe_blk form { display: flex; gap: 8px; }
.home_email_blk { flex: 1; width: auto; min-width: 0; border: 1px solid #cdc6ae; padding: 9px 12px; }
#subsribe_msg { float: none; margin: 8px 0 0; }
#subsribe_msg:empty { display: none; }
.home_social_blk { display: block; }
.home_social_blk a { display: inline-flex; align-items: center; justify-content: center; width: 42px; height: 42px; margin-right: 8px; border-radius: 50%; color: #fff; background: var(--ink); }
.home_social_blk a:hover { background: var(--orange-fill); color: #fff; }

.home-aso-h { margin-top: 4px; }
.home_as_seen_on {
    background: var(--mat);
    border-radius: var(--radius);
    box-shadow: var(--shadow);
    padding: 18px 40px;
    margin-bottom: 8px;
    overflow: hidden;
}
.home_as_seen_on .nav { top: 50%; margin-top: -20px; width: 25px; height: 40px; }
.home_as_seen_on .nav::before {
    content: "";
    position: absolute; top: 14px; left: 8px;
    width: 9px; height: 9px;
    border-left: 2px solid var(--ink); border-bottom: 2px solid var(--ink);
    transform: rotate(45deg);
}
.home_as_seen_on .next::before { left: 4px; transform: rotate(-135deg); }
.home_as_seen_on .nav:hover::before { border-color: var(--orange-fill); }
.home_as_seen_on .nav img { opacity: 0; }

/* ---------- Footer ---------- */

#footer { padding-top: 0; margin-top: 28px; text-align: center; }
.footinfo {
    background: none;
    color: var(--ink-soft);
    font-size: 13px;
    font-weight: 400;
    padding: 6px 0 0;
    line-height: 1.5;
}
.footlinks {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 4px 22px;
    padding: 18px 0 10px;
    border-top: 1px solid var(--rule);
}
.footlinks a { font-size: 14px; color: var(--ink); text-decoration: none; text-transform: none; padding: 0; margin: 0; }
.footlinks a:hover { color: var(--orange); }

.nmgfootertext, .nmgfootertext a { font-size: 13px; color: var(--ink-soft); line-height: 1.6; }
.nmgfootertext a:hover { color: var(--orange); }
div.nmgfootertext { max-width: 860px; margin: 18px auto 30px; padding: 0 16px; }

@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after { transition: none !important; }
}

/* ---------- Upload: product choice as cards ---------- */

.product-picker { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; padding: 6px 0 4px; }
.product-picker > br { display: none; }
.product-picker > div { float: none; padding: 0; }
.product-picker label {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 6px;
    height: 100%;
    padding: 12px 10px 14px;
    border: 1px solid var(--rule);
    border-radius: 10px;
    background: #fff;
    cursor: pointer;
    transition: border-color .15s, box-shadow .15s;
}
.product-picker label br { display: none; }
.product-picker label img { width: 100%; max-width: 170px; height: auto; border-radius: 4px; }
.product-picker label strong { font-size: 15px; font-weight: 600; }
.product-picker label:hover { border-color: #d9c8a8; }
.product-picker label:has(input:checked) { border-color: var(--orange-fill); box-shadow: 0 0 0 3px rgba(232, 115, 28, .18); }
.product-picker input[type="radio"] { width: 18px; height: 18px; margin: 4px 0 0; }

/* sidebar promo boxes (free shipping, coupon, guarantee): were framed in 1px black */
.bordergray { border: 1px solid var(--rule); border-radius: var(--radius); overflow: hidden; padding: 0; margin-bottom: 10px; line-height: 0; }
.bordergray img { display: block; width: 100%; height: auto; border-radius: 0; }

/* ---------- Rates & sizes: size / price pairs ---------- */

.sizenpricep1, .sizenpricep2 {
    font-family: var(--font-ui);
    font-size: 14px;
    line-height: 1.2;
    padding: 7px 10px;
    margin-bottom: 6px;
    border: 1px solid var(--rule);
}
.sizenpricep1 { width: 150px; font-weight: 500; color: var(--ink); background: #f6f2e8; border-radius: var(--radius) 0 0 var(--radius); }
.sizenpricep2 { width: 90px; margin-right: 60px; font-weight: 600; color: var(--orange); background: #fff; border-left: 0; border-radius: 0 var(--radius) var(--radius) 0; }
#customesize { clear: both; display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
#customesize > div { padding: 0; }

/* order page: "Create custom border" / "Use standard gallery wrap" choices, one per line */
#ecdesignblockimg label { display: block; width: auto; padding: 4px 0; }

/* ---------- Cart & checkout ---------- */

.coupon { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; font-size: 14px; }
.coupon #coupon { height: auto; background: #fff; border: 1px solid #cdc6ae; flex: 1; min-width: 0; }
.coupon #coupnsnmt { height: auto; margin: 0; border: 0; padding: 8px 14px; font-weight: 500; }
.coupnerr { float: none; width: auto; margin: 8px 0; font-family: var(--font-ui); font-weight: 500; color: var(--danger); }
.coupnerr:empty { display: none; }

#carttable, #carttable td, #carttable th { font-family: var(--font-ui); font-size: 14px; }
#carttable th {
    background: #f6f2e8;
    color: var(--ink);
    font-weight: 600;
    font-size: 12px;
    letter-spacing: .06em;
    text-transform: uppercase;
    padding: 10px 8px;
    border-bottom: 1px solid var(--rule);
}
#carttable td { border-bottom: 1px solid var(--rule); padding: 12px 8px; }
#carttable td img { border-radius: 4px; }
#carttable input[type="text"] { width: 64px; text-align: center; }
.optiontxt { color: var(--ink); }

/* order review: billing / shipping / payment boxes */
.billinfo, .confermorder { font-family: var(--font-ui); }
.billinfo fieldset, .confermorder fieldset, #orderconfirm fieldset {
    border: 1px solid var(--rule);
    border-radius: 10px;
    padding: 12px 16px 14px;
    margin: 0;
    background: #fff;
}
.billinfo legend, .confermorder legend, #orderconfirm legend {
    font-family: var(--font-display);
    font-size: 16px;
    font-weight: 600;
    color: var(--ink);
    padding: 0 6px;
}
.note { font-family: var(--font-ui); font-size: 14px; font-weight: 500; color: var(--danger); }
.cartsubtotal, .cartsubtotal td { font-family: var(--font-ui); }

/* old blue text links (e.g. "Go back to cart") */
.bluetxt, a.bluetxt { color: var(--orange); }

/* ---------- Resolution guide (resolutionsuggestions.php) ---------- */
.res-guide { padding-top: 4px; }
.res-h { font-family: var(--font-display); font-size: 20px; font-weight: 600; margin: 0 0 6px; }
.res-sub { font-size: 16px; font-weight: 600; margin: 26px 0 10px; }
.res-scroll { overflow-x: auto; -webkit-overflow-scrolling: touch; border: 1px solid var(--rule); border-radius: var(--radius); }
.content table.res-table { display: table; width: 100%; max-width: none; border-collapse: collapse; font-size: 14px; text-align: center; }
.res-table th, .res-table td { padding: 8px 10px; border-bottom: 1px solid var(--rule); white-space: nowrap; }
.res-table thead th { background: var(--aqua); color: var(--ink); font-weight: 600; }
.res-table thead tr:first-child th[colspan] { border-bottom: 1px solid #b9dcd9; }
.res-table tbody th { background: #fbf9f3; text-align: left; font-weight: 600; }
.res-table tbody th small { display: block; font-size: 12px; font-weight: 400; color: var(--ink-soft); }
.res-table tbody tr:last-child > * { border-bottom: 0; }
.res-table tbody tr:hover td { background: #fbf9f3; }
.res-quality td.q-excellent { color: #2f6b2a; font-weight: 600; }
.res-quality td.q-good { color: #4f7a1d; }
.res-quality td.q-acceptable { color: #8a6d00; }
.res-quality td.q-poor { color: #b0451a; }
.res-quality td.q-none { color: #b8b09a; }
.res-table tbody th, .res-table thead tr:first-child th:first-child { position: sticky; left: 0; z-index: 1; }
.res-table thead tr:first-child th:first-child { background: var(--aqua); }

/* testimonial ratings (read-only) */
.testi-stars { margin: 4px 0 0; font-size: 18px; letter-spacing: 2px; line-height: 1; color: var(--rule); }
.testi-stars .on { color: var(--orange-fill); }

/* testimonial list: photo beside the quote */
.testimonials-main .dimensionstitle { display: flex; gap: 16px; align-items: flex-start; font-size: inherit; font-weight: 400; padding: 14px 0; }
.testimonials-main .dimensionstitle > .left { float: none; flex: 0 0 auto; }
.testimonials-main .dimensionstitle > .left img { max-width: 160px; margin: 0; padding: 0; }
.testimonials-main .dimensionstitle > .width500 { float: none; flex: 1 1 auto; width: auto; min-width: 0; }
.testimonials-main .dimensionstitle > .clear { display: none; }
.testimonials-main .txttesti { margin-top: 0; }
.testimonials-main .dimensionstitle .width500 > p:not(.txttesti):not(.testi-stars) { font-weight: 600; }
.testimonials-main .dimensionstitle .midlightcolor { font-weight: 400; }

/* ---------- Form validation (validationEngine.js) ----------
   The plugin inserts each message right after its field: a short red line under the
   field and a red outline on the field, instead of floating bubbles (as on wholesale). */
.formError {
    position: static !important;
    display: block;
    width: auto !important;
    margin: 5px 0 4px !important;
    opacity: 1 !important;
    cursor: default;
    pointer-events: none;
    clear: both;
}
.formError .formErrorArrow { display: none !important; }
.formError .formErrorContent {
    position: relative;
    width: auto !important;
    min-width: 0 !important;
    padding: 0 0 0 21px !important;
    background: none !important;
    border: 0 !important;
    box-shadow: none !important;
    border-radius: 0 !important;
    color: var(--danger) !important;
    font: 500 13px/18px var(--font-ui) !important;
    text-align: left;
    opacity: 1 !important;
}
.formError .formErrorContent::before {
    content: "!";
    position: absolute; left: 0; top: 2px;
    width: 15px; height: 15px; border-radius: 50%;
    background: var(--danger); color: #fff;
    font: 700 10px/15px var(--font-ui); text-align: center;
}
.formError.greenPopup .formErrorContent { color: #2f6b2a !important; }
.formError.greenPopup .formErrorContent::before { content: "\2713"; background: #2f6b2a; }
.formError.blackPopup .formErrorContent { color: var(--ink-soft) !important; }
.formError.blackPopup .formErrorContent::before { content: none; }
.formError.blackPopup .formErrorContent { padding-left: 0 !important; }
[aria-invalid="true"]:is(input, select, textarea) { border-color: var(--danger) !important; box-shadow: 0 0 0 3px rgba(179, 38, 30, .12) !important; }

/* form honeypot: clipped to nothing in place (not display:none, which some bots skip), as on wholesale */
.hp-field { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }

/* cart: coupon column beside the cart table (site.css gave the table a fixed 680px float,
   which no longer fits next to the coupon column and dropped below it) */
.homeboxes:has(> #carttbl) { display: flex; gap: 24px; align-items: flex-start; }
.homeboxes:has(> #carttbl) > .width270 { float: none; flex: 0 0 250px; width: auto; }
#carttbl { float: none; flex: 1 1 auto; width: auto; min-width: 0; }
#carttable { width: 100%; }

/* order review (confirmation.php, gconfirmation.php): cart summary and statement note on the
   left, the billing / shipping / edit / payment boxes two by two on the right. site.css
   floated fixed widths that no longer fit side by side. */
.homeboxes > form:has(> .right .billinfo) { display: grid; grid-template-columns: minmax(0, 300px) minmax(0, 1fr); gap: 0 28px; align-items: start; text-align: left; }
.homeboxes > form:has(> .right .billinfo) > .left { float: none; width: auto; grid-column: 1; }
.homeboxes > form:has(> .right .billinfo) > .right { float: none; width: auto; grid-column: 2; grid-row: 1 / span 9; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; align-items: stretch; }
.homeboxes > form:has(> .right .billinfo) > div.clear,
.homeboxes > form:has(> .right .billinfo) > .right > div.clear { display: none; }
.homeboxes > form:has(> .right .billinfo) > .right > :not(.billinfo) { grid-column: 1 / -1; float: none; padding-left: 0; }
.billinfo { float: none; width: auto; margin: 0; }
.billinfo > div, .billinfo fieldset { height: 100%; }
.billinfo table { margin: 0; }
.review-note { margin: 24px 0 0; font-size: 14px; line-height: 1.5; color: var(--ink-soft); text-align: left; }
.homeboxes > form:has(> .right .billinfo) #checkout, .homeboxes > form:has(> .right .billinfo) input[value="Confirm Order"] { justify-self: start; margin-top: 4px; padding: 11px 22px; }
.choutcttxt { width: auto; }
.homeboxes > form:has(> .right .billinfo) > .right > br, .homeboxes > form:has(> .right .billinfo) > br { display: none; }
