/* Additions to Julia's shared-styles.css. Julia's file is never edited. */

/* Imported images carry width/height attributes; Julia's CSS sets width:100% without height:auto. Zero specificity so her logo heights still win. */
:where(img){height:auto}

/* Paid landing page: Julia's paid page sets .vid to 700px wide (the shared file says 630px). */
.page-landing .vid{max-width:700px}

/* iOS zooms any focused input under 16px. Flagged to Julia; 16px from 620px down. */
@media(max-width:620px){
  .scanform input,.emailform input,.details-form input[type=text],.details-form input[type=email]{font-size:16px}
}

/* Step 1: own-profile tick inside each URL form. Hidden until the form is engaged (JS only). */
.scanform .consent-tick{flex-basis:100%;display:flex;gap:10px;align-items:flex-start;text-align:left;
  font-size:14px;line-height:1.45;color:var(--ink-soft);margin:4px 0 0;cursor:pointer}
.scanform .consent-tick input{width:22px;height:22px;min-width:22px;margin:0;accent-color:var(--brand);flex:none}
html.js .scanform:not(.engaged) .consent-tick{display:none}
.field-error{flex-basis:100%;margin:6px 0 0;font-size:14px;line-height:1.4;color:var(--fix);text-align:left}
.field-error[hidden]{display:none}
.is-invalid{border-color:var(--fix)!important;box-shadow:0 0 0 3px var(--fix-bg)!important}

/* Step 2 and the order-link page. */
.details-sec{padding:40px 0 64px}
.details-sec .narrow{max-width:560px;margin:0 auto}
.summary-line{display:flex;flex-wrap:wrap;gap:6px 12px;align-items:baseline;font-size:15px;color:var(--ink-soft);
  border:1px solid var(--line);border-radius:12px;padding:14px 16px;margin:0 0 20px;overflow-wrap:anywhere}
.summary-line b{color:var(--ink);font-weight:700}
.details-form{display:grid;gap:18px}
.details-form label.field{display:grid;gap:6px;font-weight:600;font-size:15px;color:var(--ink)}
.details-form input[type=text],.details-form input[type=email]{width:100%;min-height:48px;padding:12px 14px;
  border:1px solid var(--accent);border-radius:10px;background:#fff;color:#111;font:inherit;font-size:15.5px}
.details-form .marketing-tick{display:flex;gap:10px;align-items:flex-start;font-size:14px;line-height:1.45;color:var(--ink-soft);cursor:pointer}
.details-form .marketing-tick input{width:22px;height:22px;min-width:22px;margin:0;accent-color:var(--brand)}
.details-form .btn{width:100%;min-height:52px}
.details-form .btn[disabled]{opacity:.6;cursor:progress}
.form-note{font-size:13.5px;color:var(--ink-faint);margin:0}
#turnstile{min-height:0;max-width:100%;overflow:hidden}
.panel{border:1px solid var(--line);background:var(--card);border-radius:14px;padding:22px 20px;margin:0 0 20px}
.panel h2{font-size:20px;margin:0 0 8px}
.panel p{margin:0 0 14px;color:var(--ink-soft)}
.panel[hidden]{display:none}
.btn-secondary{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:12px 20px;
  border-radius:10px;border:1px solid var(--line);color:var(--ink);text-decoration:none;font-weight:600}

/* Legal pages. */
.doc{padding:40px 0 64px}
.doc .narrow{max-width:720px;margin:0 auto}
.doc h1{font-size:clamp(28px,6vw,40px);margin:0 0 8px}
.doc h2{font-size:20px;margin:32px 0 8px}
.doc p,.doc li{font-size:16px;line-height:1.65;color:var(--ink-soft)}
.doc a{color:var(--accent);overflow-wrap:anywhere}
.draft-note{background:#fff4e5;color:#6b3d00;border:1px solid #f0c27b;border-radius:10px;padding:10px 14px;font-size:14px;margin:0 0 20px}

/* FAQ summaries: comfortable tap targets on phones. */
@media(max-width:620px){.fq summary{min-height:44px}}

/* ---- Confirmation page rules, copied verbatim from confirmation-page.html ---- */
.confirm-hero{padding:52px 0 56px;text-align:center}
.confirm-hero h1{margin:0 auto 14px}
.confirm-hero .lede{font-size:17px;max-width:62ch;margin:0 auto}
.confirm-hero .lede b{color:var(--ink);font-weight:700}
.tl{list-style:none;margin:28px auto 0;padding:0 0 0 34px;position:relative;max-width:600px;text-align:left}
.tl::before{content:"";position:absolute;left:9px;top:8px;bottom:14px;width:2px;background:var(--line)}
.tl li{position:relative;margin:0 0 26px}
.tl li::before{content:"";position:absolute;left:-32px;top:3px;width:14px;height:14px;border-radius:50%;background:var(--brand);box-shadow:0 0 0 4px var(--paper)}
.tl li:last-child{margin-bottom:0}
.tl .when{display:block;font-size:11.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--accent);margin-bottom:3px}
.tl .what{display:block;font-size:16.5px;font-weight:700;color:var(--ink);margin-bottom:4px}
.tl p{margin:0;font-size:15px;color:var(--ink-soft);line-height:1.55}
.notbox{border:1px solid var(--line);background:var(--card);border-radius:14px;padding:26px 28px;max-width:600px;margin:40px auto 0;text-align:left}
.notbox h3{margin:0 0 10px;font-size:18px;font-weight:700}
.notbox p{margin:0 0 10px;font-size:15px;color:var(--ink-soft);line-height:1.55}
.notbox ol{margin:6px 0 0;padding-left:20px;font-size:15px;color:var(--ink-soft);line-height:1.6}
.notbox b{color:var(--ink);font-weight:500}
.series{text-align:center}
.series .lede{font-size:16.5px;max-width:60ch;margin:0 auto}
.series .when{font-size:17px;font-weight:700;color:var(--ink);margin:14px 0 0}
.series .btn{display:inline-block;background:var(--brand);color:#fff;font-weight:700;font-size:16px;padding:14px 26px;border-radius:10px;text-decoration:none;margin-top:22px}
.series .small{font-size:13.5px;color:var(--ink-faint);margin-top:14px}

/* ---- Mobile fixes found in Task 21 ---- */
/* Nav lockup is 384px wide (195px logo + byline), which scrolled every page sideways at 320, 375 and 390.
   Below 431px the byline drops under the logo on its own line; both logos keep their designed heights. */
@media(max-width:430px){
  .brandlock{flex-wrap:wrap;row-gap:10px}
  .byline{padding-left:0;border-left:0;flex-basis:100%}
  .byline span{max-width:none}
}
/* Thank-you page "What you get" heading is nowrap (about 299px at 25px), wider than the 264px column at 320.
   Allowing a wrap only changes anything when the line does not fit. */
@media(max-width:430px){
  .split .h2{white-space:normal}
}
