/*
Theme Name: LOGOS
Theme URI: https://logosmodular.com
Author: LOGOS Modular Systems LLC
Description: The LOGOS Modular Systems site theme: dark, monospace and gold like the LOGOS programs, with an 8-bit power-loop animation on the front page. A block theme - edit pages in the WordPress editor.
Requires at least: 6.5
Tested up to: 6.8
Requires PHP: 8.0
Version: 1.2.0
License: Proprietary
Text Domain: logos-theme
*/

/* ---- base ---- */
html { scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } *, *::before, *::after { animation: none !important; transition: none !important; } }
body { -webkit-font-smoothing: antialiased; }
/* Nothing may widen the page past the screen: a phone would zoom far out to show it. WooCommerce's mini-cart drawer
   waits just off the right edge, and once anything overflows a phone counts the drawer too. clip (not hidden) keeps
   the sticky header working. */
html, body { overflow-x: clip; max-width: 100%; }
@supports not (overflow-x: clip) { body { overflow-x: hidden; } }
img, video, iframe, svg, canvas { max-width: 100%; }
::selection { background: var(--wp--preset--color--gold); color: var(--wp--preset--color--charcoal); }
:where(a, button, input, select, textarea, summary):focus-visible { outline: 2px solid var(--wp--preset--color--gold); outline-offset: 2px; }
img { height: auto; max-width: 100%; }

/* ---- the header and footer ---- */
.logos-header { border-bottom: 1px solid var(--wp--preset--color--line); background: var(--wp--preset--color--deep); position: sticky; top: 0; z-index: 50; }
.logos-brand { display: flex; align-items: center; gap: .6rem; text-decoration: none !important; color: var(--wp--preset--color--text) !important; font-weight: 700; letter-spacing: .18em; }
.logos-brand img { width: 30px; height: 30px; display: block; }
.logos-brand span { color: var(--wp--preset--color--gold); }
.logos-header .wp-block-navigation a { text-decoration: none; padding: .35rem .2rem; border-bottom: 2px solid transparent; }
.logos-header .wp-block-navigation a:hover, .logos-header .current-menu-item > a, .logos-header [aria-current="page"] { border-bottom-color: var(--wp--preset--color--gold); color: var(--wp--preset--color--gold); }
.logos-footer { border-top: 1px solid var(--wp--preset--color--line); background: var(--wp--preset--color--deep); }
.logos-footer a { color: var(--wp--preset--color--dim); text-decoration: none; }
.logos-footer a:hover { color: var(--wp--preset--color--gold); }
.logos-prompt { color: var(--wp--preset--color--green); }
.logos-prompt::after { content: "_"; animation: logos-blink 1.1s steps(1) infinite; color: var(--wp--preset--color--gold); }
@keyframes logos-blink { 50% { opacity: 0; } }

/* ---- the front page's hero: the 8-bit power loop ---- */
.logos-hero { position: relative; overflow: hidden; min-height: min(calc(100vh - 64px), 860px); display: flex; align-items: center; }
.logos-hero::before { content: ""; position: absolute; inset: 0; pointer-events: none; z-index: 2;
  background: repeating-linear-gradient(to bottom, rgba(0,0,0,0) 0 2px, rgba(0,0,0,.18) 2px 3px); }
.logos-hero::after { content: ""; position: absolute; inset: 0; pointer-events: none; z-index: 2;
  background: radial-gradient(ellipse at center, rgba(0,0,0,0) 55%, rgba(0,0,0,.45) 100%); }
.logos-hero > * { position: relative; z-index: 3; }
.logos-screen { position: relative; border: 1px solid var(--wp--preset--color--line); background: #0d0d0d; padding: 10px;
  box-shadow: 0 0 0 1px #000, 0 0 40px rgba(245,196,0,.06) inset; }
.logos-screen::before, .logos-screen::after { content: ""; position: absolute; width: 18px; height: 18px; border-color: var(--wp--preset--color--gold); border-style: solid; }
.logos-screen::before { top: -1px; left: -1px; border-width: 2px 0 0 2px; }
.logos-screen::after { bottom: -1px; right: -1px; border-width: 0 2px 2px 0; }
#logos-loop { display: block; width: 100%; height: auto; margin: 0 auto; aspect-ratio: 16 / 9; image-rendering: pixelated; image-rendering: crisp-edges; }
.logos-caption { font-size: .78rem; color: var(--wp--preset--color--dim); letter-spacing: .08em; margin-top: .6rem; }
.logos-caption b { font-weight: 400; }
.logos-caption .f { color: var(--wp--preset--color--fluid); } .logos-caption .t { color: var(--wp--preset--color--thermal); }
.logos-caption .r { color: var(--wp--preset--color--green); } .logos-caption .e { color: var(--wp--preset--color--gold); }
.logos-wordmark { font-size: clamp(3rem, 9vw, 6.5rem); font-weight: 700; letter-spacing: .22em; line-height: 1; color: var(--wp--preset--color--gold); margin: 0;
  text-shadow: 0 0 24px rgba(245,196,0,.25); }
.logos-kicker { color: var(--wp--preset--color--dim); letter-spacing: .3em; text-transform: uppercase; font-size: .8rem; }

/* ---- an inner page's head: kicker, title, lead, over a faint scanline band ---- */
[id] { scroll-margin-top: 84px; }
.logos-pagehead { position: relative; padding: 4rem 0 2.6rem; border-bottom: 1px solid var(--wp--preset--color--line); margin-bottom: 3rem; }
.logos-pagehead::before { content: ""; position: absolute; inset: 0 -100vmax; z-index: -1; pointer-events: none;
  background: repeating-linear-gradient(to bottom, rgba(255,255,255,.018) 0 2px, rgba(0,0,0,0) 2px 4px), var(--wp--preset--color--deep); }
.logos-pagehead h1 { font-size: clamp(2rem, 5vw, 3.2rem); color: var(--wp--preset--color--gold); margin: .3rem 0 1rem; letter-spacing: .04em; }
.logos-pagehead .lead { font-size: 1.15rem; max-width: 46rem; margin: 0; }
.logos-jump { display: flex; flex-wrap: wrap; gap: .5rem; margin-top: 1.6rem; }
.logos-jump a { font-size: .8rem; text-decoration: none; padding: .3rem .7rem; border: 1px solid var(--wp--preset--color--line); color: var(--wp--preset--color--dim); }
.logos-jump a:hover { border-color: var(--wp--preset--color--gold); color: var(--wp--preset--color--gold); }

/* ---- the stats strip ---- */
.logos-stats { display: grid; grid-template-columns: repeat(4, 1fr); border: 1px solid var(--wp--preset--color--line); background: var(--wp--preset--color--deep); }
.logos-stats div { padding: 1.2rem 1.4rem; border-left: 1px solid var(--wp--preset--color--line); }
.logos-stats div:first-child { border-left: 0; }
.logos-stats b { display: block; font-size: 1.6rem; color: var(--wp--preset--color--gold); }
.logos-stats span { color: var(--wp--preset--color--dim); font-size: .82rem; }

/* ---- a grid of cards, and a program's row (text beside its screenshot) ---- */
.logos-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr)); gap: 1.4rem; }
.logos-grid .logos-card { padding: 1.5rem; height: 100%; box-sizing: border-box; }
.logos-grid .logos-card h3 { margin: .7rem 0 .5rem; }
.logos-grid .logos-card p { color: var(--wp--preset--color--dim); margin: 0; }
.logos-program { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: 2.4rem; align-items: center; padding: 2.4rem 0; border-top: 1px dashed var(--wp--preset--color--line); }
.logos-program:nth-of-type(even) { grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); }
.logos-program:nth-of-type(even) > figure { order: -1; }
.logos-program h3 { font-size: 1.5rem; margin: .6rem 0; }
.logos-program h3 small { color: var(--wp--preset--color--dim); font-weight: 400; font-size: .85rem; letter-spacing: .05em; }
.logos-program figure { margin: 0; }
.logos-program ul { color: var(--wp--preset--color--dim); padding-left: 1.1rem; }
.logos-steps { counter-reset: step; list-style: none; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); gap: 1.2rem; }
.logos-steps li { counter-increment: step; border-top: 2px solid var(--wp--preset--color--gold-dim); padding-top: .8rem; color: var(--wp--preset--color--dim); }
.logos-steps li::before { content: "0" counter(step) " "; color: var(--wp--preset--color--gold); font-weight: 700; }
.logos-steps li b { color: var(--wp--preset--color--text); display: block; margin: .2rem 0 .3rem; }
.logos-term { background: var(--wp--preset--color--deep); border: 1px solid var(--wp--preset--color--line); padding: 1.2rem 1.4rem; font-size: .9rem; white-space: pre-wrap; overflow-x: auto; }
.logos-term .c { color: var(--wp--preset--color--dim); } .logos-term .g { color: var(--wp--preset--color--green); } .logos-term .y { color: var(--wp--preset--color--gold); }
.logos-draft { border: 1px dashed var(--wp--preset--color--thermal); color: var(--wp--preset--color--thermal); padding: .7rem 1rem; }
.logos-placeholder { border: 1px dashed var(--wp--preset--color--line); color: var(--wp--preset--color--dim); display: flex; align-items: center; justify-content: center; text-align: center; min-height: 220px; padding: 1rem; background: repeating-linear-gradient(45deg, rgba(255,255,255,.02) 0 10px, rgba(0,0,0,0) 10px 20px); }

/* ---- panels and cards (the programs' corner brackets) ---- */
.logos-card { box-sizing: border-box; position: relative; border: 1px solid var(--wp--preset--color--line); background: var(--wp--preset--color--panel); transition: border-color .15s, transform .15s; }
.logos-card::before { content: ""; position: absolute; top: -1px; left: -1px; width: 14px; height: 14px; border-top: 2px solid var(--wp--preset--color--gold); border-left: 2px solid var(--wp--preset--color--gold); }
.logos-card:hover { border-color: var(--wp--preset--color--gold-dim); }
a.logos-card-link { text-decoration: none; color: inherit; display: block; height: 100%; }
a.logos-card-link:hover .logos-card { transform: translateY(-2px); }
.logos-card .arrow { color: var(--wp--preset--color--gold); }
.logos-tag { display: inline-block; font-size: .72rem; letter-spacing: .12em; text-transform: uppercase; padding: .15rem .5rem; border: 1px solid var(--wp--preset--color--line); color: var(--wp--preset--color--dim); }
.logos-tag.gold { border-color: var(--wp--preset--color--gold-dim); color: var(--wp--preset--color--gold); }

/* headings: a gold prompt mark like the programs' panel titles */
.logos-section-title::before { content: "\25B8\00a0"; color: var(--wp--preset--color--gold); }
.logos-rule { border: 0; border-top: 1px dashed var(--wp--preset--color--line); }

/* ---- screenshots ---- */
.logos-shot img { max-width: 100%; display: block; border: 1px solid var(--wp--preset--color--line); box-shadow: 0 10px 30px rgba(0,0,0,.45); }
.logos-shot figcaption { color: var(--wp--preset--color--dim); font-size: .75rem; }

/* ---- the trace chain ---- */
.logos-chain { display: flex; flex-wrap: wrap; gap: .5rem; align-items: center; justify-content: center; }
.logos-chain span { border: 1px solid var(--wp--preset--color--line); padding: .4rem .7rem; background: var(--wp--preset--color--panel); }
.logos-chain span.ar { border: 0; background: none; color: var(--wp--preset--color--gold); padding: 0; }

/* ---- pricing ---- */
.logos-price { font-size: 2.4rem; color: var(--wp--preset--color--gold); font-weight: 700; line-height: 1.1; }
.logos-price small { font-size: .9rem; color: var(--wp--preset--color--dim); font-weight: 400; }
.logos-ticks { list-style: none; padding-left: 0; }
.logos-ticks li { padding-left: 1.4em; position: relative; margin: .35em 0; }
.logos-ticks li::before { content: "\2713"; position: absolute; left: 0; color: var(--wp--preset--color--green); }
.logos-ticks li.no::before { content: "\2013"; color: var(--wp--preset--color--dim); }
.logos-btn, .wp-element-button, .wp-block-button__link { font-family: inherit; letter-spacing: .06em; }
a.logos-btn { display: inline-block; padding: .7rem 1.3rem; background: var(--wp--preset--color--gold); color: var(--wp--preset--color--charcoal) !important; font-weight: 700; text-decoration: none !important; border: 1px solid var(--wp--preset--color--gold); }
a.logos-btn:hover { background: #FFD633; }
a.logos-btn.ghost { background: transparent; color: var(--wp--preset--color--gold) !important; }
a.logos-btn.ghost:hover { background: rgba(245,196,0,.08); }
.logos-founder { display: grid; grid-template-columns: 200px 1fr; gap: 2rem; align-items: start; padding-top: .5rem; }
.logos-founder figure { margin: 0; }
@media (max-width: 700px) { .logos-founder { grid-template-columns: 1fr; gap: 1.2rem; } .logos-founder figure { max-width: 260px; } }
.logos-beta-hint { margin: .5rem 0 0; font-size: .78rem; color: var(--wp--preset--color--dim); }
.logos-beta-badge { font-style: normal; font-size: .62rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--wp--preset--color--thermal); border: 1px solid var(--wp--preset--color--thermal); padding: .05rem .35rem; margin-left: .1rem; align-self: center; }
.logos-beta-banner { border: 1px solid var(--wp--preset--color--thermal); border-left-width: 3px; background: var(--wp--preset--color--panel); padding: .8rem 1rem; margin: 1.4rem 0 0; max-width: 46rem; }
.logos-beta-banner b { color: var(--wp--preset--color--thermal); letter-spacing: .1em; }

/* ---- the roadmap ---- */
.logos-roadmap { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr)); gap: 1rem; list-style: none; padding: 0; margin: 1rem 0 0; }
.logos-roadmap li { border: 1px solid var(--wp--preset--color--line); border-top: 2px solid var(--wp--preset--color--gold-dim); background: var(--wp--preset--color--panel); padding: 1rem 1.1rem; }
.logos-roadmap li b { display: block; color: var(--wp--preset--color--text); margin: .45rem 0 .3rem; }
.logos-roadmap li p { margin: 0; color: var(--wp--preset--color--dim); font-size: .9rem; }
.logos-roadmap .logos-tag { font-size: .66rem; }
span.logos-btn.soon { display: inline-block; padding: .7rem 1.3rem; border: 1px dashed var(--wp--preset--color--gold); color: var(--wp--preset--color--gold); font-weight: 700; cursor: default; }

/* ---- FAQ: details / summary, no script ---- */
.logos-faq details { border: 1px solid var(--wp--preset--color--line); background: var(--wp--preset--color--panel); margin: .5rem 0; padding: 0 1rem; }
.logos-faq summary { cursor: pointer; padding: .85rem 0; list-style: none; color: var(--wp--preset--color--text); }
.logos-faq summary::-webkit-details-marker { display: none; }
.logos-faq summary::before { content: "+ "; color: var(--wp--preset--color--gold); }
.logos-faq details[open] summary::before { content: "\2212 "; }
.logos-faq details > :not(summary) { color: var(--wp--preset--color--dim); margin-top: 0; }

/* ---- forms (the contact form and the plugin's feedback form) ---- */
.logos-form label, .logos-feedback label { display: block; font-size: .8rem; color: var(--wp--preset--color--dim); margin: .8rem 0 .3rem; letter-spacing: .05em; }
.logos-form input[type=text], .logos-form input[type=email], .logos-form select, .logos-form textarea,
.logos-feedback input[type=text], .logos-feedback input[type=email], .logos-feedback select, .logos-feedback textarea,
.woocommerce input.input-text, .woocommerce select, .woocommerce textarea, .wc-block-components-text-input input {
  width: 100%; max-width: 100%; box-sizing: border-box; background: var(--wp--preset--color--field) !important; color: var(--wp--preset--color--text) !important; border: 1px solid var(--wp--preset--color--line) !important; padding: .65rem .7rem; font-family: inherit; font-size: .95rem; border-radius: 0 !important; }
.logos-form textarea, .logos-feedback textarea { min-height: 140px; }
.logos-feedback input[type=file] { max-width: 100%; }
.logos-feedback label:has(input[type=radio]), .logos-feedback label:has(input[type=checkbox]) { display: inline-flex; gap: .4rem; align-items: center; margin-right: 1.2rem; color: var(--wp--preset--color--text); }
.logos-feedback-ok { border-left: 3px solid var(--wp--preset--color--green); padding: .1rem .9rem; background: var(--wp--preset--color--panel); }
.logos-feedback-error { border-left: 3px solid var(--wp--preset--color--red); padding: .1rem .9rem; background: var(--wp--preset--color--panel); }
.logos-form button, .logos-feedback button, .logos-feedback input[type=submit] { margin-top: 1rem; padding: .75rem 1.4rem; background: var(--wp--preset--color--gold); color: var(--wp--preset--color--charcoal); border: 0; font-family: inherit; font-weight: 700; cursor: pointer; }
.logos-hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }
.logos-note { border-left: 3px solid var(--wp--preset--color--gold); padding: .6rem .9rem; background: var(--wp--preset--color--panel); }
.logos-note.ok { border-left-color: var(--wp--preset--color--green); }
.logos-note.err { border-left-color: var(--wp--preset--color--red); }

/* ---- WooCommerce on the dark theme ---- */
.woocommerce table.shop_table, .wc-block-cart, .wc-block-checkout { color: var(--wp--preset--color--text); }
.woocommerce table.shop_table, .woocommerce table.shop_table td, .woocommerce table.shop_table th { border-color: var(--wp--preset--color--line) !important; }
.woocommerce-MyAccount-navigation ul { list-style: none; padding: 0; border: 1px solid var(--wp--preset--color--line); }
.woocommerce-MyAccount-navigation li a { display: block; padding: .55rem .8rem; text-decoration: none; border-bottom: 1px solid var(--wp--preset--color--line); }
.woocommerce-MyAccount-navigation li.is-active a { color: var(--wp--preset--color--gold); background: var(--wp--preset--color--panel); }
.woocommerce-info, .woocommerce-message, .woocommerce-error, .wc-block-components-notice-banner { background: var(--wp--preset--color--panel) !important; color: var(--wp--preset--color--text) !important; border-top-color: var(--wp--preset--color--gold) !important; }
.wc-block-components-panel, .wc-block-components-totals-wrapper, .wc-block-components-order-summary { border-color: var(--wp--preset--color--line) !important; }
.wc-block-mini-cart__button, .wc-block-customer-account__account-icon { color: var(--wp--preset--color--text); }
.woocommerce .select2-container--default .select2-selection--single, .select2-dropdown { background: var(--wp--preset--color--field); border: 1px solid var(--wp--preset--color--line); border-radius: 0; }
.woocommerce .select2-container--default .select2-selection--single .select2-selection__rendered { color: var(--wp--preset--color--text); }
.select2-results__option { color: var(--wp--preset--color--text); }
.select2-container--default .select2-results__option--highlighted[aria-selected], .select2-container--default .select2-results__option--highlighted[data-selected] { background: var(--wp--preset--color--gold); color: var(--wp--preset--color--charcoal); }
.select2-search--dropdown .select2-search__field { background: var(--wp--preset--color--deep); color: var(--wp--preset--color--text); }
.woocommerce-message .button, .woocommerce-info .button, .wc-block-components-notice-banner a,
.wc-block-components-notice-banner > .wc-block-components-notice-banner__content .wc-forward { color: var(--wp--preset--color--gold) !important; opacity: 1 !important; }
.comment-form input[type=text], .comment-form input[type=email], .comment-form input[type=url], .comment-form textarea { background: var(--wp--preset--color--field); color: var(--wp--preset--color--text); border: 1px solid var(--wp--preset--color--line); padding: .5rem; font-family: inherit; }
/* the checkout's payment panel: WooCommerce paints it light lilac, unreadable on the dark theme (Stripe's own fields
   take their colours from the logos-licensing plugin) */
.woocommerce-checkout #payment, .woocommerce-checkout #payment.woocommerce-checkout-payment { background: var(--wp--preset--color--panel) !important; border: 1px solid var(--wp--preset--color--line); border-radius: 0 !important; color: var(--wp--preset--color--text); }
.woocommerce-checkout #payment ul.payment_methods { border-bottom-color: var(--wp--preset--color--line) !important; }
.woocommerce-checkout #payment ul.payment_methods li, .woocommerce-checkout #payment ul.payment_methods li label { color: var(--wp--preset--color--text) !important; }
.woocommerce-checkout #payment div.payment_box { background: var(--wp--preset--color--deep) !important; color: var(--wp--preset--color--text) !important; border: 1px solid var(--wp--preset--color--line); border-radius: 0 !important; }
.woocommerce-checkout #payment div.payment_box::before { border-bottom-color: var(--wp--preset--color--line) !important; }
.woocommerce-checkout #payment div.payment_box fieldset, .woocommerce-checkout #payment .wc-saved-payment-methods li { background: transparent !important; border-color: var(--wp--preset--color--line) !important; color: var(--wp--preset--color--text) !important; }
.woocommerce-checkout #payment div.payment_box label, .woocommerce-checkout #payment div.payment_box p { color: var(--wp--preset--color--text) !important; }
.woocommerce-checkout #payment div.form-row.place-order { background: transparent; }
.woocommerce-checkout #payment .woocommerce-privacy-policy-text, .woocommerce-checkout #payment .woocommerce-terms-and-conditions-wrapper { color: var(--wp--preset--color--dim); }
.woocommerce #payment #place_order, .woocommerce-page #payment #place_order { background: var(--wp--preset--color--gold) !important; color: var(--wp--preset--color--charcoal) !important; border: 0; border-radius: 0; font-family: inherit; font-weight: 700; padding: .9rem 1.6rem; }
.logos-beta-note { border-top-color: var(--wp--preset--color--thermal) !important; }
.woocommerce div.product div.images img, .woocommerce ul.products li.product a img { border: 1px solid var(--wp--preset--color--line); }

/* ---- My Account, signed out: the sign-in, register, lost-password and new-password forms (WooCommerce's own markup;
   looks only). One narrow panel in the middle of the page, with the programs' corner bracket; fields with an edge
   that can be seen (3:1 on the panel); the same gold button. wp-login.php has its own sheet: assets/login.css. ---- */
.woocommerce-account:not(.logged-in) main .woocommerce { max-width: 460px; margin-left: auto; margin-right: auto; }
.woocommerce-account:not(.logged-in) main .woocommerce:has(#customer_login) { max-width: 940px; }
.woocommerce-account:not(.logged-in) main .wp-block-post-title { max-width: 460px; margin-left: auto; margin-right: auto; }
.woocommerce-account:not(.logged-in) main:has(#customer_login) .wp-block-post-title { max-width: 940px; }
.woocommerce-account:not(.logged-in) main .woocommerce > h2, .woocommerce-account:not(.logged-in) #customer_login h2 { font-size: 1rem; font-weight: 400; letter-spacing: .3em; text-transform: uppercase; color: var(--wp--preset--color--dim); margin: 1.6rem 0 0; }
.woocommerce form.login, .woocommerce form.register, .woocommerce form.lost_reset_password {
  position: relative; box-sizing: border-box; margin: 1rem 0 2rem; padding: 1.6rem 1.5rem 1.2rem; text-align: left;
  background: var(--wp--preset--color--panel); border: 1px solid var(--wp--preset--color--line); border-radius: 0; }
.woocommerce form.login::before, .woocommerce form.register::before, .woocommerce form.lost_reset_password::before {
  content: ""; position: absolute; top: -1px; left: -1px; width: 14px; height: 14px; border-top: 2px solid var(--wp--preset--color--gold); border-left: 2px solid var(--wp--preset--color--gold); }
.woocommerce form.login .form-row, .woocommerce form.register .form-row, .woocommerce form.lost_reset_password .form-row { float: none; width: 100%; padding: 0; margin: 0 0 1rem; box-sizing: border-box; }
.woocommerce form.login label, .woocommerce form.register label, .woocommerce form.lost_reset_password label { display: block; font-size: .85rem; letter-spacing: .05em; color: var(--wp--preset--color--dim); margin: 0 0 .3rem; line-height: 1.6; }
.woocommerce form.login .required, .woocommerce form.register .required, .woocommerce form.lost_reset_password .required { color: var(--wp--preset--color--red); }
.woocommerce form.login input.input-text, .woocommerce form.register input.input-text, .woocommerce form.lost_reset_password input.input-text {
  border-color: #7C776E !important; min-height: 44px; font-size: 1.05rem; }
.woocommerce form.login input.input-text:focus, .woocommerce form.register input.input-text:focus, .woocommerce form.lost_reset_password input.input-text:focus {
  border-color: var(--wp--preset--color--gold) !important; outline: 2px solid var(--wp--preset--color--gold); outline-offset: 1px; }
.woocommerce form input.input-text:-webkit-autofill { -webkit-text-fill-color: var(--wp--preset--color--text); box-shadow: 0 0 0 1000px var(--wp--preset--color--field) inset; caret-color: var(--wp--preset--color--text); }
/* the eye in a password field: WooCommerce draws it dark, for a white field */
.woocommerce form .show-password-input { min-width: 44px; min-height: 44px; right: 0; display: flex; align-items: center; justify-content: center; }
.woocommerce form .show-password-input::before, .woocommerce-page form .show-password-input::before { filter: invert(.82); }
.woocommerce form .password-input input[type=password], .woocommerce form .password-input input[type=text] { padding-right: 2.9rem; }
.woocommerce form.login .woocommerce-form__label-for-checkbox, .woocommerce form.register .woocommerce-form__label-for-checkbox { display: inline-flex; align-items: center; gap: .5rem; color: var(--wp--preset--color--text); margin: 0 0 1rem; cursor: pointer; }
.woocommerce form.login input[type=checkbox], .woocommerce form.register input[type=checkbox] { width: 1.1rem; height: 1.1rem; margin: 0; color-scheme: dark; accent-color: var(--wp--preset--color--gold); }
.woocommerce form.login button.button, .woocommerce form.register button.button, .woocommerce form.lost_reset_password button.button {
  display: block; float: none; width: 100%; min-height: 46px; margin: 0; padding: .8rem 1.4rem; background: var(--wp--preset--color--gold); color: var(--wp--preset--color--charcoal); border: 1px solid var(--wp--preset--color--gold); border-radius: 0; font-family: inherit; font-weight: 700; letter-spacing: .06em; }
.woocommerce form.login button.button:hover, .woocommerce form.register button.button:hover, .woocommerce form.lost_reset_password button.button:hover { background: #FFD633; border-color: #FFD633; color: var(--wp--preset--color--charcoal); }
.woocommerce form.login .lost_password { margin: 1rem 0 0; font-size: .9rem; }
.woocommerce form.lost_reset_password > p:first-of-type { margin-top: 0; color: var(--wp--preset--color--text); }
.woocommerce form.register .woocommerce-privacy-policy-text, .woocommerce form.register > p:not(.form-row) { color: var(--wp--preset--color--dim); font-size: .85rem; }
.woocommerce form .woocommerce-password-strength { border-radius: 0; color: #1A1A1A; font-family: inherit; }
.woocommerce form .woocommerce-password-hint { color: var(--wp--preset--color--dim); font-size: .85rem; }
.woocommerce-account:not(.logged-in) .woocommerce-error, .woocommerce-account:not(.logged-in) .woocommerce-message, .woocommerce-account:not(.logged-in) .woocommerce-info { border: 1px solid var(--wp--preset--color--line); border-top: 3px solid var(--wp--preset--color--gold); border-radius: 0; }
.woocommerce-account:not(.logged-in) .woocommerce-error { border-top-color: var(--wp--preset--color--red) !important; }
.woocommerce-account:not(.logged-in) .woocommerce-message { border-top-color: var(--wp--preset--color--green) !important; }
@media (max-width: 781px) {
  .woocommerce-account:not(.logged-in) #customer_login .col-1, .woocommerce-account:not(.logged-in) #customer_login .col-2 { float: none; width: 100%; }
  .woocommerce form.login, .woocommerce form.register, .woocommerce form.lost_reset_password { padding: 1.3rem 1.1rem 1rem; }
}

/* ---- small screens ---- */
@media (max-width: 781px) {
  .logos-hero { min-height: auto; }
  .logos-wordmark { letter-spacing: .14em; }
  .logos-stats { grid-template-columns: 1fr 1fr; }
  .logos-stats div:nth-child(3) { border-left: 0; }
  .logos-stats div:nth-child(n+3) { border-top: 1px solid var(--wp--preset--color--line); }
  .logos-program, .logos-program:nth-of-type(even) { grid-template-columns: 1fr; gap: 1.2rem; }
  .logos-program:nth-of-type(even) > figure { order: 0; }
  .logos-pagehead { padding-top: 2.4rem; }
  .logos-header .wp-block-navigation__responsive-container-open { color: var(--wp--preset--color--gold); }
}
