/* AminoScript RUO – theme-agnostic component styles. Themes may override the custom properties. */
:root{
	--asra-ink:#1b1d22;--asra-paper:#f6f4ee;--asra-white:#fff;--asra-line:#e0ddd5;--asra-soft:#ebe6dc;
	--asra-muted:#56524a;--asra-green:#3a6b4c;--asra-green-700:#2f5a3e;--asra-green-100:#e9f0eb;--asra-olive:#f1f4e8;
	--asra-red:#b3412e;--asra-radius:8px;--asra-radius-card:10px;
	--asra-mono:"IBM Plex Mono",ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
}
.asra-topbar{background:var(--asra-ink);color:#fff;text-align:center;font-size:12.5px;font-weight:600;line-height:1.4;padding:7px 12px;letter-spacing:.01em}
.asra-eyebrow{font-family:var(--asra-mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--asra-green);margin:0 0 .4em;font-weight:500}
.asra-mono{font-family:var(--asra-mono);font-size:.92em}
.asra-muted{color:var(--asra-muted)}
.asra-btn{display:inline-flex;align-items:center;justify-content:center;gap:.4em;min-height:44px;padding:.65em 1.3em;border-radius:var(--asra-radius);font-weight:600;font-size:15px;border:1px solid transparent;cursor:pointer;line-height:1.2;text-decoration:none}
.asra-btn--primary{background:var(--asra-green);color:#fff}.asra-btn--primary:hover,.asra-btn--primary:focus-visible{background:var(--asra-green-700);color:#fff}
.asra-btn--danger{background:#fff;color:var(--asra-red);border-color:var(--asra-red)}.asra-btn--danger:hover{background:#fbeeeb}
.asra-btn:focus-visible{outline:3px solid #8fc2a4;outline-offset:2px}
.asra-pill{display:inline-flex;align-items:center;gap:4px;margin:.5em 0 0;border-radius:999px;background:var(--asra-olive);color:#4d5f2a;font-family:var(--asra-mono);font-size:10px;text-transform:uppercase;letter-spacing:.06em;padding:3px 8px}

/* Age gate */
/* Content is never hidden from the DOM; the modal overlays it (crawlers and assistive tech get full markup). */
html.asra-age-open,html.asra-age-open body{overflow:hidden}
.asra-age-gate{position:fixed;inset:0;z-index:100000;display:flex;align-items:center;justify-content:center;padding:16px}
.asra-age-gate[hidden]{display:none}
html.asra-age-pending .asra-age-gate{display:flex!important;visibility:visible}
.asra-age-gate__backdrop{position:absolute;inset:0;background:rgba(27,29,34,.82);backdrop-filter:blur(6px)}
.asra-age-gate__panel{position:relative;max-width:440px;width:100%;background:var(--asra-paper);border:1px solid var(--asra-line);border-radius:12px;padding:28px 26px 22px;text-align:center;color:var(--asra-ink);box-shadow:0 8px 24px rgba(27,29,34,.18);max-height:calc(100vh - 32px);overflow:auto}
.asra-age-gate__icon{width:54px;height:54px;margin:0 auto 12px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--asra-green-100);color:var(--asra-green);font-family:var(--asra-mono);font-weight:600;font-size:15px;border:1px solid #cfe0d4}
.asra-age-gate__title{font-size:22px;font-weight:800;letter-spacing:-.02em;margin:0 0 8px;color:var(--asra-ink)}
.asra-age-gate__text{font-size:14.5px;color:var(--asra-muted);margin:0 0 14px}
.asra-age-gate__question{font-weight:700;font-size:17px;margin:0 0 14px}
.asra-age-gate__actions{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-bottom:14px}
.asra-age-gate__actions .asra-btn{min-width:140px}
.asra-age-gate__denied{color:var(--asra-red);font-weight:600}
.asra-age-gate__fine{font-size:12px;color:var(--asra-muted);line-height:1.55;margin:0 0 8px}
.asra-age-gate__ruo{font-size:12px;margin:0}

/* Product summary COA card */
.asra-coa-card{border:1px solid var(--asra-line);border-radius:var(--asra-radius-card);background:#fff;padding:14px 16px;margin:0 0 1.2em}
.asra-coa-card__row{display:flex;justify-content:space-between;gap:12px;font-family:var(--asra-mono);font-size:12.5px;color:var(--asra-muted);padding:7px 0;border-bottom:1px dotted var(--asra-line)}
.asra-coa-card__row:last-of-type{border-bottom:0}
.asra-coa-card__row span:last-child{color:var(--asra-ink);font-weight:600;text-align:right}
.asra-coa-card__val{color:var(--asra-green)!important}
.asra-coa-card__links{display:flex;flex-wrap:wrap;gap:14px;margin-top:8px;font-size:13.5px;font-weight:600}
.asra-coa-card__links a{color:var(--asra-green);text-decoration:none}.asra-coa-card__links a:hover{text-decoration:underline}

/* Batch verification tab */
.asra-batch h2{margin:0 0 .6em}
.asra-batch h3{margin:1.4em 0 .5em;font-size:1.05em}
.asra-batch__list{margin:0;border:1px solid var(--asra-line);border-radius:var(--asra-radius-card);background:#fff;overflow:hidden}
.asra-batch__row{display:grid;grid-template-columns:minmax(140px,38%) 1fr;gap:12px;padding:11px 16px;border-bottom:1px dotted var(--asra-line);margin:0}
.asra-batch__row:last-child{border-bottom:0}
.asra-batch__row dt{font-family:var(--asra-mono);font-size:12px;text-transform:uppercase;letter-spacing:.05em;color:var(--asra-muted);font-weight:500;margin:0}
.asra-batch__row dd{margin:0;font-weight:600;color:var(--asra-ink);word-break:break-word}
.asra-coa-link.button,.asra-coa-link{display:inline-flex;align-items:center;gap:6px;background:var(--asra-green);color:#fff!important;border-radius:var(--asra-radius);padding:.55em 1em;font-weight:600;text-decoration:none}
.asra-coa-link:hover{background:var(--asra-green-700)}
.asra-batch__note{font-size:13.5px;color:var(--asra-muted);margin:1em 0 .4em}
.asra-batch__ruo{font-size:13.5px}

/* Product page notice / inline notices */
.asra-product-notice{border:1px solid #e7d4cf;background:#fbf3f0;border-radius:var(--asra-radius-card);padding:12px 14px;margin:1.2em 0;font-size:13px;line-height:1.55;color:var(--asra-muted)}
.asra-product-notice p{margin:0 0 .4em}.asra-product-notice p:last-child{margin:0}
.asra-product-notice__title{font-weight:700;color:var(--asra-ink)}
.asra-product-notice__ship{font-family:var(--asra-mono);font-size:11.5px;text-transform:uppercase;letter-spacing:.05em;color:var(--asra-green)}
.asra-inline-ruo,.asra-ruo-notice{border-left:3px solid var(--asra-green);background:var(--asra-green-100);padding:10px 14px;margin:0 0 1.2em;font-weight:600;font-size:14px;color:var(--asra-ink)}

/* Loop spec */
.asra-loop-spec{display:block;margin:.3em 0 .2em}
.asra-loop-spec__row{display:flex;justify-content:space-between;font-family:var(--asra-mono);font-size:11.5px;color:var(--asra-muted);padding:3px 0;border-bottom:1px dotted var(--asra-line)}
.asra-loop-spec__val{color:#2a6f8f;font-weight:600}

/* Checkout acknowledgment */
.asra-ack-wrap{border:1px solid var(--asra-green);background:var(--asra-green-100);border-radius:var(--asra-radius);padding:12px 14px;margin:0 0 14px}
.asra-ack-wrap label{font-weight:600;line-height:1.5;font-size:14px}
.wc-block-components-checkbox.wc-block-checkout__additional-fields,.wc-block-checkout__order-fields .wc-block-components-checkbox{border:1px solid var(--asra-green);background:var(--asra-green-100);border-radius:var(--asra-radius);padding:12px 14px}

/* Footer statement */
.asra-footer-statement{font-size:12.5px;line-height:1.7;color:var(--asra-muted)}
.asra-footer-statement p{margin:0 0 .6em}
.asra-footer-statement__ruo{color:var(--asra-ink)}
.asra-footer-fallback{max-width:1140px;margin:0 auto;padding:24px 16px;border-top:1px solid var(--asra-line)}

/* COA library */
.asra-coa-filter{width:100%;max-width:420px;margin:0 0 14px;padding:.7em .9em;border:1px solid var(--asra-line);border-radius:var(--asra-radius);background:#fff}
.asra-table-scroll{overflow-x:auto;border:1px solid var(--asra-line);border-radius:var(--asra-radius-card);background:#fff}
.asra-coa-table{width:100%;border-collapse:collapse;margin:0;font-size:14px}
.asra-coa-table th{font-family:var(--asra-mono);font-size:11px;text-transform:uppercase;letter-spacing:.06em;text-align:left;color:var(--asra-muted);background:var(--asra-paper);padding:10px 14px;border-bottom:1px solid var(--asra-line);font-weight:500}
.asra-coa-table td{padding:10px 14px;border-bottom:1px dotted var(--asra-line);vertical-align:top}
.asra-coa-table tr:last-child td{border-bottom:0}
.asra-coa-table a{color:var(--asra-green);font-weight:600;text-decoration:none}

/* Contact form */
.asra-contact-form label{display:block;font-family:var(--asra-mono);font-size:11px;text-transform:uppercase;letter-spacing:.07em;color:var(--asra-muted);margin-bottom:4px}
.asra-contact-form input[type=text],.asra-contact-form input[type=email],.asra-contact-form select,.asra-contact-form textarea{width:100%;padding:.7em .85em;border:1px solid #d3cfc4;border-radius:var(--asra-radius);background:#fff;font:inherit}
.asra-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.asra-form-note{font-size:12.5px;color:var(--asra-muted)}
.asra-hp{position:absolute!important;left:-9999px!important}
.asra-form-msg{padding:10px 14px;border-radius:var(--asra-radius);margin-bottom:14px;font-weight:600}
.asra-form-msg--ok{background:var(--asra-green-100);color:var(--asra-green-700)}.asra-form-msg--err{background:#fbeeeb;color:var(--asra-red)}
@media (max-width:600px){.asra-form-grid{grid-template-columns:1fr}.asra-batch__row{grid-template-columns:1fr;gap:2px}}
html.asra-ack-missing .wc-block-components-address-form__aminoscript-ruo-ack{border-color:var(--asra-red)!important;background:#fbeeeb!important}
html.asra-ack-missing .wc-block-components-address-form__aminoscript-ruo-ack::after{content:var(--asra-ack-msg);display:block;color:var(--asra-red);font-weight:600;font-size:14px;margin-top:8px}
