/* Consent banner + form additions. Loaded on every page; deliberately tiny and
   dependency-free so it survives a strict CSP (D6). */
.zh-consent{position:fixed;inset-inline:0;bottom:0;z-index:9999;display:none;
  background:#fff;border-top:3px solid #b08d57;box-shadow:0 -2px 18px rgba(0,0,0,.18);
  padding:16px 20px;font-size:15px;line-height:1.6;color:#222}
.zh-consent[data-open="1"]{display:block}
.zh-consent__inner{max-width:1100px;margin:0 auto;display:flex;gap:16px;
  align-items:center;flex-wrap:wrap;justify-content:space-between}
/* 380px basis + the button row overflows a 400px phone, which pushed the whole
   page into horizontal scroll. min-width:0 lets the flex item actually shrink. */
.zh-consent__text{flex:1 1 320px;min-width:0;margin:0}
.zh-consent__text a{color:#8a6d3b;text-decoration:underline}
.zh-consent__buttons{display:flex;gap:10px;flex-wrap:wrap}
.zh-consent button{font:inherit;cursor:pointer;border-radius:4px;padding:10px 22px;
  border:1px solid #b08d57}
/* Elementor styles bare <button>, so these need the extra specificity to win. */
.zh-consent .zh-consent__accept{background:#7d6035;color:#fff;border-color:#7d6035}
.zh-consent .zh-consent__reject,
.zh-consent .zh-consent__manage{background:#fff;color:#6b5535;border-color:#b08d57}
.zh-consent .zh-consent__save{background:#b08d57;color:#fff;border-color:#b08d57}
.zh-consent button:focus-visible{outline:3px solid #245bd4;outline-offset:2px}

/* Honeypot: hidden from people, reachable by bots.

   NOT the usual `left:-9999px` trick: this page is dir="rtl", and an absolutely
   positioned element parked far off-axis extends the document's scrollable area,
   which in RTL shifts the visible viewport onto empty space — every page rendered
   BLANK. This is the standard clip-based visually-hidden pattern instead: it
   occupies no layout and creates no overflow in either direction.

   Also deliberately not `display:none` — bots skip those fields, which is exactly
   the ones we want them to fill. aria-hidden + tabindex="-1" keep it away from
   screen readers and the keyboard. */
.zh-hp{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}

.zh-form-error{margin:10px 0 0;color:#a32020;font-size:14px}

/* --- preferences panel ------------------------------------------------- */
.zh-consent__prefs{margin:14px 0 0;border-top:1px solid #e3d9c7;padding-top:12px;
  width:100%;text-align:start}
.zh-consent__row{display:flex;gap:10px;align-items:flex-start;margin:0 0 10px}
.zh-consent__row input{margin-top:4px;width:18px;height:18px;flex:none}
.zh-consent__row strong{display:block}
.zh-consent__row small{color:#555}
.zh-consent__manage{background:#fff;color:#6b5535}

/* --- legal pages -------------------------------------------------------- */
.zh-legal{line-height:1.85;font-size:17px}
.zh-legal h1{margin:0 0 6px}
.zh-legal h2{margin:32px 0 10px;font-size:1.25em}
.zh-legal p,.zh-legal li{max-width:70ch}
.zh-legal-updated{color:#666;font-size:15px;margin:0 0 24px}
.zh-legal-list{padding-inline-start:1.3em}
.zh-legal-table{width:100%;border-collapse:collapse;margin:14px 0;font-size:15px;
  display:block;overflow-x:auto}
.zh-legal-table th,.zh-legal-table td{border:1px solid #ddd;padding:8px 10px;text-align:start;
  vertical-align:top}
.zh-legal-table th{background:#f6f1e7;font-weight:700}

/* --- footer legal strip ------------------------------------------------- */
.zh-legal-links{display:flex;flex-wrap:wrap;gap:8px 18px;justify-content:center;
  align-items:center;padding:14px 20px;background:#1c1c1c;color:#ddd;font-size:14px}
.zh-legal-links a,.zh-legal-links button{color:#ddd;text-decoration:underline;
  background:none;border:0;font:inherit;cursor:pointer;padding:0}
.zh-legal-links a:hover,.zh-legal-links button:hover{color:#fff}
.zh-legal-links a:focus-visible,.zh-legal-links button:focus-visible{
  outline:3px solid #7fb3ff;outline-offset:3px}

/* --- Section 11 notice under every form ---------------------------------
   Same shape as michaelwaknin.co.il (tinted card, 13px text, underlined accent
   links), recoloured for this site: that one is a dark theme, so its muted grey
   and translucent blue would be near-invisible on white.

   Contrast measured against the panel background #fbf8f2, not against white —
   text on a tinted card is read against the card:
     body  #3d3d3d  -> 10.25:1   (AA needs 4.5)
     links #6b5228  ->  6.92:1   (AA needs 4.5)
   The gold edge bar is decoration, not the only cue: the card's own tint and
   border already separate it from the form. */
.privacy-notice{
  /* The card sits on TWO different surfaces on this site: a white page (footer
     form) and a near-black sidebar (contact page). A pale tint alone is 1.1:1
     against white — effectively invisible there — so the BORDER is what makes it
     read as a distinct block, not the fill:
       border #a37f45 vs white page  -> 3.70:1
       fill   #f4ecdd vs dark sidebar -> 12.06:1 */
  background:#f4ecdd;
  border:1px solid #a37f45;
  border-inline-start:4px solid #8a6a37;
  border-radius:8px;
  padding:14px 18px;
  margin-top:12px;
  text-align:start;
}
.privacy-notice p{
  font-size:13px;
  line-height:1.75;
  color:#3d3d3d;          /* 9.25:1 on the card */
  margin:0 0 8px;
}
.privacy-notice p:last-child{margin-bottom:0}
.privacy-notice a{
  color:#5c4620;          /* 7.61:1 on the card */
  text-decoration:underline;
  font-weight:600;
}
.privacy-notice a:hover{color:#3a2c14}
.privacy-notice a:focus-visible{outline:3px solid #245bd4;outline-offset:2px}

/* Explicit consent checkbox. Elementor resets `input` hard (appearance:none,
   its own border/background), which renders a checkbox as an invisible box —
   hence the appearance:auto and the neutralising of those resets. */
/* Lives INSIDE .privacy-notice on purpose. It used to sit on the page itself,
   which meant its colour depended on whatever surrounded the form — and the
   contact page's form sits on a near-black sidebar, where #3d3d3d text was
   invisible. Inside the card the background is known, so the contrast is too. */
.zh-consent-field{
  margin-top:14px;
  padding-top:12px;
  border-top:1px solid #ddcdab;
}
.zh-consent-field label{
  display:flex;
  align-items:flex-start;
  gap:10px;
  font-weight:400;
  font-size:13.5px;
  line-height:1.65;
  color:#3d3d3d;
  cursor:pointer;
}
.zh-consent-field input[type="checkbox"]{
  appearance:auto;-webkit-appearance:auto;
  width:18px;height:18px;min-width:18px;flex:none;
  margin:2px 0 0;padding:0;
  background:transparent;border:0;border-radius:0;box-shadow:none;
  accent-color:#b08d57;
  cursor:pointer;
}
.zh-consent-field input[type="checkbox"]:focus-visible{outline:3px solid #245bd4;outline-offset:2px}
.zh-consent-field a{color:#5c4620;text-decoration:underline;font-weight:600}





@media (max-width:600px){
  .zh-consent{padding:12px 14px;font-size:14px;max-height:70vh;overflow-y:auto}
  .zh-consent__inner{flex-direction:column;align-items:stretch;gap:12px}
  .zh-consent__text{flex:1 1 auto}
  .zh-consent__buttons{width:100%}
  .zh-consent__buttons button{flex:1 1 auto;padding:12px 10px}   /* 44px touch target */
  .zh-legal-links{gap:6px 12px;padding:12px 14px;font-size:13px}
  .privacy-notice{padding:12px 14px}
  .privacy-notice p{font-size:12.5px}
}
