/* Superflies v2 — base: reset, typography scale, forms baseline, containers, utilities (plan.md §5.2, §5.6). */

/* ---- reset ---- */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:var(--sf-surface);color:var(--sf-ink);font-family:var(--sf-font);font-size:15px;line-height:1.55;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
body.single-post,body.blog,body.page-id-4313{background:var(--sf-white)}
img,svg,video{max-width:100%;height:auto;display:block}
img{border:0}
hr{border:0;border-top:1px solid var(--sf-border);margin:24px 0}
ul,ol{margin:0 0 16px;padding-left:20px}
p{margin:0 0 12px}
b,strong{font-weight:600}
ins{text-decoration:none}
figure{margin:0}
table{border-collapse:collapse;border-spacing:0}
button{font:inherit;color:inherit;cursor:pointer;background:none;border:0;padding:0}
button:disabled{cursor:not-allowed}
input,select,textarea{font:inherit;color:inherit}
:focus-visible{outline:2px solid var(--sf-link);outline-offset:2px}
::placeholder{color:var(--sf-muted-2);opacity:1}

/* ---- links ---- */
a{color:var(--sf-link);text-decoration:none}
a:hover{text-decoration:underline}
.sf-link{color:var(--sf-link);font-size:14px;font-weight:500;text-decoration:none;cursor:pointer;background:none;border:0;padding:0}
.sf-link:hover{text-decoration:underline}
.sf-link--muted{color:var(--sf-muted);font-size:13px;font-weight:500;text-decoration:none;cursor:pointer;background:none;border:0;padding:0}
.sf-link--muted:hover{color:var(--sf-ink);text-decoration:underline}

/* ---- headings scale (§5.2) ---- */
h1,h2,h3,h4,h5,h6{margin:0 0 12px;color:var(--sf-ink);font-weight:700;line-height:1.2}
h1{font-size:32px}
h2{font-size:24px}
h3{font-size:18px}
h4{font-size:16px}
h5,h6{font-size:15px}
@media (max-width:767px){
  h1{font-size:24px}
  h2{font-size:18px}
  body{font-size:14px}
}

/* ---- forms baseline ---- */
input[type=text],input[type=email],input[type=password],input[type=number],input[type=tel],input[type=search],input[type=url],select,textarea,
.sf-input{width:100%;border:1.5px solid var(--sf-border-2);border-radius:var(--sf-r-8);padding:12px 14px;font-size:15px;line-height:1.3;background:var(--sf-white);color:var(--sf-ink);appearance:none;-webkit-appearance:none;margin:0}
input[type=text]:focus,input[type=email]:focus,input[type=password]:focus,input[type=number]:focus,input[type=tel]:focus,input[type=search]:focus,input[type=url]:focus,select:focus,textarea:focus,
.sf-input:focus{border-color:var(--sf-navy);outline:none}
textarea{min-height:120px;resize:vertical}
select,.sf-select{background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'><path d='M1 1l5 5 5-5' fill='none' stroke='%230f1c2e' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/></svg>");background-repeat:no-repeat;background-position:right 12px center;padding-right:34px}
input[type=checkbox],input[type=radio]{width:auto}
label{display:inline-block}
fieldset{border:0;padding:0;margin:0;min-width:0}
legend{padding:0}
input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
input[type=number]{-moz-appearance:textfield}

/* ---- containers (§5.6) ---- */
.sf-container{max-width:var(--sf-container);margin:0 auto;padding:0 var(--sf-gutter)}
.sf-main{display:block}
.sf-page{padding-top:24px;padding-bottom:56px}
body.sf-body--white{background:var(--sf-white)}
.sf-main>.sf-page.sf-page--bleed{padding:0}
.sf-main>.sf-page.sf-page--bleed>.woocommerce-notices-wrapper:not(:empty){padding:16px 0 0}
@media (max-width:767px){
  .sf-container{padding:0 var(--sf-gutter-m)}
  .sf-page{padding-top:12px;padding-bottom:40px}
}

/* ---- accessibility ---- */
.screen-reader-text{border:0;clip:rect(1px,1px,1px,1px);clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute!important;width:1px;word-wrap:normal!important}
.screen-reader-text:focus{background:var(--sf-white);clip:auto!important;clip-path:none;color:var(--sf-ink);display:block;font-size:14px;height:auto;left:5px;line-height:normal;padding:15px 23px 14px;text-decoration:none;top:5px;width:auto;z-index:100000}

/* ---- utilities ---- */
.sf-eyebrow{display:block;font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--sf-muted)}
.sf-muted{color:var(--sf-muted)}
.sf-hidden{display:none!important}
.sf-prose{max-width:780px;margin:0 auto}
.sf-prose h1{font-size:32px;margin-bottom:20px}
.sf-prose h2{font-size:24px;margin:32px 0 12px}
.sf-prose h3{font-size:18px;margin:24px 0 8px}
.sf-prose p,.sf-prose li{font-size:15px;line-height:1.65;color:var(--sf-text)}
.sf-prose img{border-radius:var(--sf-r-10)}
.sf-prose table{width:100%;font-size:14px}
.sf-prose th,.sf-prose td{border-bottom:1px solid var(--sf-border);padding:8px 10px;text-align:left}

/* admin bar: the header is sticky on desktop (20-header.css); offset it under the WP bar */
/* the theme removes WP's _admin_bar_bump_cb; push the page down under the fixed admin bar ourselves */
/* admin bar (logged-in admins only): body padding clears it; the sticky desktop header and the fixed drawer get the same offset.
   Below md the header is position:relative, so a `top` there would push it down a second time (46px grey band). */
body.admin-bar{padding-top:32px}
body.admin-bar .sf-drawer,body.admin-bar .sf-drawer__backdrop{top:32px}
@media (min-width:768px){body.admin-bar .sf-header{top:32px}}
@media (max-width:782px){body.admin-bar{padding-top:46px}body.admin-bar .sf-drawer,body.admin-bar .sf-drawer__backdrop{top:46px}}
@media (min-width:768px) and (max-width:782px){body.admin-bar .sf-header{top:46px}}

/* wp-rocket / lazy images: keep aspect boxes from collapsing */
:where(img[width][height]){height:auto} /* zero specificity: any class rule (logo 30px, 56×40 thumbs…) wins — the old form hid the SVG logo (review: logo missing) */
