/* =========================================================
   D Consulting: additions to styles.css (loaded after it, same tokens).
   The end-of-post asks block, the subscription forms (posts, blog index,
   homepage contact section), the author block, the author pages and the
   subscription notice pages.
   ========================================================= */

/* visually hidden, still read by screen readers (labels, the honeypot) */
.vh{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0}

/* a quiet secondary button on a light background */
.btn--line{background:#fff;color:var(--ink);border-color:#cfd8e5}
.btn--line:hover{border-color:var(--blue);color:var(--blue);transform:translateY(-2px)}

/* article meta: labelled dates and the byline link */
.post__meta a{color:inherit;text-decoration:underline;text-underline-offset:2px}
.post__meta a:hover{color:var(--blue)}

/* ---------- the asks block (end of every post) ---------- */
.asks{margin-top:48px;padding:30px 28px;border:1px solid var(--line);border-radius:var(--radius);background:var(--bg-soft)}
.asks__title{font-family:var(--serif);font-size:clamp(24px,3vw,30px);font-weight:700;line-height:1.2;margin:0 0 8px;color:var(--ink)}
.asks__lead{margin:0 0 20px;font-size:17px;line-height:1.65;color:#33415a}
.asks__btns{display:flex;flex-wrap:wrap;gap:12px}
.asks__btns .btn{white-space:normal;text-align:center;line-height:1.3}
.asks__sub{margin-top:28px;padding-top:24px;border-top:1px solid var(--line)}
.asks__follow{margin:22px 0 0;font-size:15.5px;color:var(--muted)}
.asks__follow a{color:var(--blue);text-decoration:underline;text-underline-offset:2px}

/* ---------- the subscription form ---------- */
.subform{margin:0}
.subform__lead{margin:0 0 12px;font-size:16.5px;font-weight:600;line-height:1.5;color:var(--ink)}
.subform__row{display:flex;flex-wrap:wrap;gap:10px}
.subform__input{flex:1 1 230px;min-width:0;font-family:var(--sans);font-size:15.5px;color:var(--ink);background:#fff;border:1.5px solid #cfd8e5;border-radius:999px;padding:13px 18px;transition:border-color .2s,box-shadow .2s}
.subform__input:focus{outline:none;border-color:var(--blue);box-shadow:0 0 0 4px rgba(46,111,209,.12)}
/* an address is Latin text: once typed, show it left-to-right on a Hebrew page */
html[dir="rtl"] .subform__input:not(:placeholder-shown){direction:ltr;text-align:right}
.subform__btn{flex:0 0 auto}
.subform__consent{margin:12px 0 0;font-size:14px;line-height:1.6;color:var(--muted)}
.subform__consent a{color:var(--blue);text-decoration:underline;text-underline-offset:2px}
.subform__status{margin:10px 0 0;font-size:14.5px;font-weight:600;min-height:1px}
.subform__status.ok{color:#1a8a4f}
.subform__status.err{color:#c0392b}

/* blog index: one line and the form, under the header */
.blogsub{max-width:640px;margin:-22px auto 46px;padding:22px 24px;border:1px solid var(--line);border-radius:var(--radius);background:var(--bg-soft)}

/* homepage contact section: the secondary "not ready for a call" block */
.contact__subscribe{margin-top:32px;padding:22px 24px;border:1px solid var(--line);border-radius:var(--radius);background:#fff;box-shadow:var(--shadow-sm)}
.contact__subscribe-title{margin:0 0 6px;font-size:18px;font-weight:700;color:var(--ink)}

/* ---------- the author block (end of every post) ---------- */
.author{display:flex;gap:18px;align-items:flex-start;margin-top:36px;padding-top:28px;border-top:1px solid var(--line)}
.author__photo{width:72px;height:72px;border-radius:50%;object-fit:cover;flex-shrink:0;box-shadow:var(--shadow-sm)}
.author__text{min-width:0}
.author__name{margin:0 0 4px;font-size:17px;font-weight:700}
.author__name a{color:var(--ink)}
.author__name a:hover{color:var(--blue)}
.author__bio{margin:0 0 6px;font-size:15.5px;line-height:1.65;color:#33415a}
.author__more{margin:0;font-size:15px}
.author__more a{color:var(--blue);text-decoration:underline;text-underline-offset:2px}

/* ---------- author pages ---------- */
.profile{max-width:740px;margin-inline:auto;padding:52px 24px 90px}
.profile__head{display:flex;gap:22px;align-items:center;margin-bottom:28px;flex-wrap:wrap}
.profile__photo{width:120px;height:120px;border-radius:50%;object-fit:cover;flex-shrink:0;box-shadow:var(--shadow-sm)}
.profile__name{font-family:var(--serif);font-size:clamp(34px,5vw,48px);font-weight:700;line-height:1.08;margin:0 0 6px;color:var(--ink)}
.profile__role{margin:0;font-size:16px;color:var(--muted)}
.profile p.profile__text{font-size:17.5px;line-height:1.75;color:#33415a;margin:0 0 18px}
.profile__links{list-style:none;padding:0;margin:30px 0 0;display:flex;flex-wrap:wrap;gap:12px}
.profile__links .btn{white-space:normal}

/* ---------- subscription notice pages ---------- */
.notice{max-width:620px;margin-inline:auto;padding:70px 24px 100px;text-align:center}
.notice h1{font-family:var(--serif);font-size:clamp(32px,5vw,46px);font-weight:700;line-height:1.1;margin:0 0 16px;color:var(--ink)}
.notice p{font-size:17px;line-height:1.7;color:#33415a;margin:0 0 14px}
.notice__actions{margin-top:28px;display:flex;justify-content:center;gap:12px;flex-wrap:wrap}

@media (max-width:560px){
  .asks{padding:24px 18px}
  .asks__btns .btn{flex:1 1 100%}
  .subform__btn{flex:1 1 100%}
  .blogsub{margin:-18px 0 36px;padding:18px 16px}
  .author{gap:14px}
  .profile__photo{width:96px;height:96px}
}

/* the plain header bar of the privacy and subscription pages */
.legalbar img{height:38px;width:auto}
