/*
Theme Name: Amino House
Theme URI: https://aminohouse.store
Description: Research-grade peptide e-commerce. Custom WooCommerce theme.
Version: 0.3 (L2-FULL)
Author: Amino House
Requires at least: 6.0
Tested up to: 6.7
Requires PHP: 8.0
Text Domain: aminohouse
*/

/* Theme header only. All visual CSS is the VERBATIM preview stylesheet set,
   enqueued by inc/enqueue.php in the exact order the preview HTML loads them:
   styles.css → cart.css → product.css → polish.css → checkout.css → legal.css → partner.css
   Standalone classic theme — no Template: line. */

/* ── Addresses (the ONLY non-verbatim screen) ──────────────────────────────
   The Claude preview ships no addresses UI, so there is no design to port. The
   overview is wrapped in the account-card language (my-address.php); WC's native
   edit-address form has no preview equivalent, so these minimal rules keep its
   fields legible inside .acct-main now that WC's own stylesheets are dequeued. */
.acct-address { font-style: normal; line-height: 1.7; color: var(--ink); font-size: 14px; }
.acct-main .woocommerce-address-fields__field-wrapper { display: grid; grid-template-columns: 1fr 1fr; gap: 16px 20px; }
.acct-main form .form-row { display: flex; flex-direction: column; gap: 6px; margin: 0 0 4px; }
.acct-main form .form-row-wide { grid-column: 1 / -1; }
.acct-main form .form-row label { font-size: 13px; font-weight: 500; color: var(--ink); }
.acct-main form .input-text,
.acct-main form .select2-selection,
.acct-main form select { width: 100%; padding: 11px 13px; border: 1px solid var(--line); border-radius: 12px; background: #fff; font: inherit; font-size: 14px; color: var(--ink); }
.acct-main form .input-text:focus,
.acct-main form select:focus { outline: none; border-color: var(--ink); }
.acct-main .woocommerce-Address-title h2,
.acct-main form h3 { font-family: 'Source Serif 4', serif; font-size: 22px; margin: 0 0 18px; }
.acct-main .woocommerce-address-fields > p:last-of-type,
.acct-main form p.form-row > button { margin-top: 12px; }
.acct-main form button.button { display: inline-block; background: var(--ink); color: #fff; border: none; padding: 13px 26px; border-radius: 999px; font: inherit; font-size: 14px; font-weight: 500; cursor: pointer; }
.acct-main form button.button:hover { opacity: .92; }

/* ── Auth server-side error banner (no preview equivalent — the React preview is
   client-only and never renders a server auth error) ───────────────────────── */
.auth-error { background: #fef2f2; border: 1px solid #fecaca; color: #b91c1c; font-size: 13.5px; line-height: 1.5; padding: 11px 14px; border-radius: 12px; margin-bottom: 18px; }

/* Honeypot anti-spam field — visually hidden, bots fill it, humans never see it. */
/* The honeypot: hidden by clipping, never by an offset. `left: -9999px` is scrollable territory in a
   right-to-left document (and Chrome counts it into the root's scroll width either way), so every
   Arabic page with a form scrolled 10,000px sideways. Clip hides it in both directions. */
.amino-hp { position: absolute !important; inset-inline-start: 0; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); clip-path: inset(50%); white-space: nowrap; }

/* Single study (full-page research article). The preview only ships the modal, so this
   un-modals the verbatim .r-modal article design: no inner scroll / height cap, centered
   on the page with a soft border instead of the modal's drop shadow. */
.study-page { padding: 32px 0 80px; }
.study-page .co-back { display: inline-block; margin-bottom: 20px; }
.r-modal--page { max-height: none; overflow: visible; margin: 0 auto; border: 1px solid var(--border); box-shadow: 0 1px 2px rgba(13,15,26,.04); }
