/* VERIPHASE base — reset-ish, typography, links, buttons, forms, a11y. Child-owned (.vp-* + scoped element styles). */
*,*::before,*::after{ box-sizing:border-box; }
body.veriphase{ font-family:var(--sans); font-size:16px; color:var(--ink); background:var(--paper); line-height:1.6; -webkit-font-smoothing:antialiased; margin:0; }
.veriphase a{ color:var(--teal-deep); text-decoration:none; }
.veriphase a:hover{ color:var(--teal); }
.veriphase h1,.veriphase h2,.veriphase h3,.veriphase h4{ font-family:var(--serif); font-weight:700; line-height:1.08; letter-spacing:-.02em; color:var(--ink); }
.veriphase img{ max-width:100%; height:auto; }
.vp-wrap{ max-width:var(--maxw); margin:0 auto; padding:0 28px; }
.vp-mono{ font-family:var(--mono); }
.vp-eyebrow{ font-family:var(--mono); font-size:11.5px; letter-spacing:.22em; text-transform:uppercase; color:var(--teal-deep); font-weight:600; }

/* buttons */
.vp-btn{ display:inline-flex; align-items:center; justify-content:center; gap:.55em; font-family:var(--sans);
  font-weight:600; font-size:15px; padding:13px 22px; border-radius:100px; border:1.5px solid transparent;
  cursor:pointer; transition:.18s ease; line-height:1; }
.vp-btn-primary{ background:var(--ink); color:#fff; }
.vp-btn-primary:hover{ background:var(--teal-deep); color:#fff; transform:translateY(-1px); }
.vp-btn-ghost{ background:transparent; color:var(--ink); border-color:var(--line-2); }
.vp-btn-ghost:hover{ border-color:var(--ink); }
.vp-btn-teal{ background:var(--teal); color:#fff; }
.vp-btn-teal:hover{ background:var(--teal-deep); color:#fff; }

/* accessibility: visible focus */
.veriphase a:focus-visible, .veriphase button:focus-visible, .veriphase input:focus-visible,
.veriphase select:focus-visible, .veriphase .vp-btn:focus-visible{
  outline:2px solid var(--teal); outline-offset:2px; }

/* content container — align Storefront's .col-full with our tokens; default pages get clinical type */
.vp-site-content{ background:var(--paper); overflow-x:clip; } /* clip contains .vp-bleed; sticky header sits outside this */
body.veriphase .col-full{ max-width:var(--maxw); margin:0 auto; padding:0 28px; }
/* front page drives its own section widths via .vp-wrap (so bleed + contained bands align) */
body.veriphase.home .col-full{ max-width:none; padding:0; }
body.veriphase.home #content{ padding-top:0; }
body.veriphase.page-template-default:not(.home) .col-full,
body.veriphase.single .col-full,
body.veriphase.blog .col-full,
body.veriphase.archive:not(.woocommerce-page) .col-full{ max-width:860px; padding-top:48px; padding-bottom:64px; }
.veriphase .entry-content{ font-size:16.5px; color:var(--ink-2); }
.veriphase .entry-content h2{ font-size:26px; margin:36px 0 12px; }
.veriphase .entry-content h3{ font-size:20px; margin:28px 0 10px; }
.veriphase .entry-content p{ margin:0 0 16px; }
.veriphase .entry-content ul,.veriphase .entry-content ol{ margin:0 0 16px; padding-left:22px; }
.veriphase .entry-content li{ margin:6px 0; }
.veriphase .entry-title,.veriphase .page-title{ font-size:clamp(28px,4vw,42px); margin:0 0 18px; }

/* single-column: kill Storefront's floated sidebar layout */
.veriphase #primary,
.veriphase .content-area{ width:100%; float:none; margin:0; }
.veriphase #secondary,
.veriphase .widget-area,
.veriphase #colophon .storefront-handheld-footer-bar{ display:none; }

/* full-bleed helper for custom templates that live inside .col-full */
.vp-bleed{ width:100vw; margin-left:calc(50% - 50vw); }

/* mobile nav panel */
.vp-mnav{ border-top:1px solid var(--line); background:var(--paper-2); }
.vp-mnav .vp-wrap{ display:flex; flex-direction:column; padding:6px 28px 12px; }
.vp-mnav a{ padding:11px 0; font-weight:500; color:var(--ink-2); border-bottom:1px solid var(--line); }
.vp-mnav a:last-child{ border-bottom:none; }

/* skip link */
.skip-link{ position:absolute; left:-9999px; top:0; z-index:200; }
.skip-link:focus{ left:12px; top:12px; background:var(--ink); color:#fff; padding:10px 16px; border-radius:8px; }
.screen-reader-text{ position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); }

/* tags / pills */
.vp-tag{ display:inline-flex; align-items:center; gap:.4em; font-family:var(--mono); font-size:11px;
  letter-spacing:.04em; padding:4px 9px; border-radius:6px; background:var(--teal-tint); color:var(--teal-deep); font-weight:600; }
.vp-tag-ruo{ background:var(--ochre-tint); color:var(--ochre); }
