/* ==========================================================================
   conversion.css - added 2026-08-12 per SEO / Call-Conversion audit
   Loaded site-wide from Head.php. Additive only: it does not restyle any
   existing component, it fixes tap targets, stacking order and adds the
   call CTA / homepage enquiry form / related-guides blocks.
   ========================================================================== */

:root{
  --cv-brand:#983d20;
  --cv-brand-dk:#7d3119;
  --cv-ink:#3b2414;
  --cv-line:#ece4dd;
  --cv-wash:#fbf8f5;
  --cv-wa:#15803f;
  --cv-wa-dk:#116b34;
  --cv-radius:4px;
}

/* --------------------------------------------------------------------------
   P0-1  Floating Call / WhatsApp must sit ABOVE the disclaimer overlay.
   The disclaimer (#modalOverlay) is z-index:99999, which was burying the
   sticky buttons (they had z-index:auto), making Call unclickable on a
   first visit. Also needs its own stacking context.
   P1-5  Tap targets raised from 30x22 to >=48x48.
   -------------------------------------------------------------------------- */
.sticky-button{
  z-index:100000 !important;
}
.sticky-button .icon{
  margin:0 0 10px !important;
}
.sticky-button .icon a{
  display:flex !important;
  align-items:center;
  justify-content:center;
  min-width:48px;
  min-height:48px;
  width:48px;
  height:48px;
  text-decoration:none;
}
.sticky-button .icon a img{
  width:44px !important;
  height:44px !important;
  max-width:44px;
  display:block;
}
.sticky-button .icon a:focus-visible{
  outline:3px solid var(--cv-brand);
  outline-offset:2px;
}
/* visible "Call" label on the phone button */
.sticky-button .icon a.cv-call-btn{
  width:auto;
  min-width:48px;
  padding:0 15px 0 2px;
  border-radius:26px;
  background:#fff;
  box-shadow:0 2px 9px rgba(0,0,0,.25);
  gap:6px;
}
.sticky-button .icon a.cv-call-btn .cv-call-label{
  font-family:'Open Sans',sans-serif;
  font-size:14px;
  font-weight:700;
  letter-spacing:.3px;
  color:var(--cv-brand);
  line-height:1;
  white-space:nowrap;
}
.sticky-button .icon a.cv-call-btn:hover,
.sticky-button .icon a.cv-call-btn:focus{background:#fbf3ef}

/* --------------------------------------------------------------------------
   P0-4  Disclaimer buttons - Agree is the primary, larger action.
   -------------------------------------------------------------------------- */
.modalContent .cv-disclaimer-actions{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:12px;
  margin-top:6px;
}
.modalContent .cv-disclaimer-actions .buttonStyle#button,
.modalContent .cv-disclaimer-actions button.cv-agree{
  order:1;
  min-height:52px;
  padding:14px 40px;
  font-size:17px;
  font-weight:700;
  letter-spacing:.4px;
  background:var(--cv-brand);
  color:#fff;
  border:0;
  border-radius:var(--cv-radius);
  cursor:pointer;
}
.modalContent .cv-disclaimer-actions button.cv-agree:hover,
.modalContent .cv-disclaimer-actions button.cv-agree:focus{background:var(--cv-brand-dk)}
.modalContent .cv-disclaimer-actions .cv-decline{
  order:2;
  min-height:44px;
  padding:11px 20px;
  font-size:14.5px;
  font-weight:600;
  background:transparent;
  color:#6b6b6b;
  border:1px solid #cfc4bb;
  border-radius:var(--cv-radius);
  cursor:pointer;
}
.modalContent .cv-disclaimer-actions .cv-decline:hover,
.modalContent .cv-disclaimer-actions .cv-decline:focus{
  background:#f2ece7;color:var(--cv-ink)
}

/* --------------------------------------------------------------------------
   P0-2 / P1-6  Call + WhatsApp CTA band (homepage below hero, service pages
   immediately after the intro). Reuses the site palette.
   -------------------------------------------------------------------------- */
.cv-cta-band{
  background:var(--cv-wash);
  border-top:1px solid var(--cv-line);
  border-bottom:1px solid var(--cv-line);
  padding:22px 0;
}
.cv-cta-band .cv-inner{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:space-between;
  gap:14px;
}
.cv-cta-band .cv-copy{flex:1 1 320px;min-width:0}
.cv-cta-band .cv-copy h2,
.cv-cta-band .cv-copy p.cv-h{
  font-family:'Oswald',sans-serif;
  font-size:21px;
  line-height:1.3;
  color:var(--cv-ink);
  margin:0 0 4px;
  font-weight:600;
}
.cv-cta-band .cv-copy p{
  margin:0;
  color:#5a5a5a;
  font-size:15px;
  line-height:1.6;
}
.cv-cta-band .cv-phone{
  display:block;
  font-family:'Oswald',sans-serif;
  font-size:26px;
  line-height:1.2;
  font-weight:600;
  color:var(--cv-brand);
  text-decoration:none;
  margin-top:6px;
}
.cv-cta-band .cv-phone:hover,
.cv-cta-band .cv-phone:focus{color:var(--cv-brand-dk);text-decoration:none}
.cv-cta-band .cv-actions{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  flex:0 0 auto;
}
.cv-cta-band .cv-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:52px;
  padding:12px 24px;
  border:1px solid transparent;
  border-radius:var(--cv-radius);
  font-size:15.5px;
  font-weight:700;
  letter-spacing:.3px;
  line-height:1.2;
  text-decoration:none;
  white-space:nowrap;
  transition:background-color .18s ease,border-color .18s ease;
}
.cv-cta-band .cv-btn .fa{margin-right:9px;font-size:16px;line-height:1}
.cv-cta-band a.cv-btn-call{background:var(--cv-brand);border-color:var(--cv-brand);color:#fff}
.cv-cta-band a.cv-btn-call:hover,
.cv-cta-band a.cv-btn-call:focus{background:var(--cv-brand-dk);border-color:var(--cv-brand-dk);color:#fff;text-decoration:none}
.cv-cta-band a.cv-btn-wa{background:var(--cv-wa);border-color:var(--cv-wa);color:#fff}
.cv-cta-band a.cv-btn-wa:hover,
.cv-cta-band a.cv-btn-wa:focus{background:var(--cv-wa-dk);border-color:var(--cv-wa-dk);color:#fff;text-decoration:none}
.cv-cta-band .cv-btn:focus-visible{outline:3px solid var(--cv-ink);outline-offset:2px}

@media (max-width:767px){
  .cv-cta-band{padding:18px 0}
  .cv-cta-band .cv-inner{display:block}
  .cv-cta-band .cv-copy{margin-bottom:14px}
  .cv-cta-band .cv-copy h2,.cv-cta-band .cv-copy p.cv-h{font-size:19px}
  .cv-cta-band .cv-phone{font-size:27px}
  .cv-cta-band .cv-actions{display:grid;grid-template-columns:1fr;gap:10px}
  .cv-cta-band .cv-btn{width:100%}
}

/* --------------------------------------------------------------------------
   P0-3  Homepage enquiry form
   -------------------------------------------------------------------------- */
.cv-enq{background:#fff;padding:46px 0}
.cv-enq .cv-enq-box{
  max-width:720px;
  margin:0 auto;
  background:var(--cv-wash);
  border:1px solid var(--cv-line);
  border-left:3px solid var(--cv-brand);
  border-radius:var(--cv-radius);
  padding:26px 26px 22px;
  box-shadow:0 1px 3px rgba(59,36,20,.07);
}
.cv-enq h2{
  font-family:'Oswald',sans-serif;
  font-size:24px;line-height:1.3;color:var(--cv-ink);
  margin:0 0 6px;font-weight:600;
}
.cv-enq .cv-sub{color:#5a5a5a;font-size:15px;line-height:1.65;margin:0 0 18px}
.cv-enq .cv-field{margin-bottom:14px}
.cv-enq label{
  display:block;font-size:14px;font-weight:600;color:var(--cv-ink);margin:0 0 6px;
}
.cv-enq input[type=text],
.cv-enq input[type=tel],
.cv-enq textarea{
  width:100%;
  border:1px solid #d9cec5;
  border-radius:var(--cv-radius);
  padding:12px 14px;
  font-size:15.5px;
  line-height:1.5;
  color:#3a3a3a;
  background:#fff;
  min-height:48px;
}
.cv-enq textarea{min-height:110px;resize:vertical}
.cv-enq input:focus,.cv-enq textarea:focus{
  border-color:var(--cv-brand);outline:2px solid rgba(152,61,32,.18);outline-offset:0;
}
.cv-enq .cv-submit{
  display:inline-flex;align-items:center;justify-content:center;
  min-height:52px;padding:13px 34px;border:0;border-radius:var(--cv-radius);
  background:var(--cv-brand);color:#fff;font-size:16px;font-weight:700;letter-spacing:.3px;cursor:pointer;
}
.cv-enq .cv-submit:hover,.cv-enq .cv-submit:focus{background:var(--cv-brand-dk)}
.cv-enq .cv-submit[disabled]{opacity:.7;cursor:default}
.cv-enq .cv-alt{
  margin:14px 0 0;font-size:14.5px;color:#5a5a5a;line-height:1.6;
}
.cv-enq .cv-alt a{color:var(--cv-brand);font-weight:600}
.cv-enq .cv-msg{margin:0 0 14px;padding:11px 14px;border-radius:var(--cv-radius);font-size:15px;display:none}
.cv-enq .cv-msg.ok{display:block;background:#eaf6ee;border:1px solid #bfe0c9;color:#14682f}
.cv-enq .cv-msg.err{display:block;background:#fdeceb;border:1px solid #f2c2bd;color:#a12a1c}
@media (max-width:767px){
  .cv-enq{padding:32px 0}
  .cv-enq .cv-enq-box{padding:20px 18px 18px}
  .cv-enq h2{font-size:21px}
  .cv-enq .cv-submit{width:100%}
}

/* --------------------------------------------------------------------------
   P1-8  Related Guides block on service pages
   -------------------------------------------------------------------------- */
.cv-related{
  border:1px solid var(--cv-line);
  border-left:3px solid var(--cv-brand);
  border-radius:var(--cv-radius);
  background:var(--cv-wash);
  padding:20px 22px;
  margin:0 0 28px;
}
.cv-related h3{
  font-family:'Oswald',sans-serif;font-size:19px;color:var(--cv-ink);
  margin:0 0 6px;line-height:1.3;font-weight:600;
}
.cv-related p.cv-related-intro{margin:0 0 12px;color:#5a5a5a;font-size:15px;line-height:1.65}
.cv-related ul{list-style:none;padding:0;margin:0}
.cv-related li{
  position:relative;padding:8px 0 8px 24px;border-bottom:1px dashed var(--cv-line);
  font-size:15.5px;line-height:1.6;
}
.cv-related li:last-child{border-bottom:0;padding-bottom:0}
.cv-related li:before{
  content:"";position:absolute;left:2px;top:16px;width:7px;height:7px;
  border-right:2px solid var(--cv-brand);border-bottom:2px solid var(--cv-brand);
  transform:rotate(-45deg);
}
.cv-related a{color:var(--cv-ink);font-weight:600;text-decoration:none}
.cv-related a:hover,.cv-related a:focus{color:var(--cv-brand);text-decoration:underline}
.cv-related .cv-related-note{display:block;font-weight:400;color:#6b6b6b;font-size:14px;margin-top:2px}
@media (max-width:767px){
  .cv-related{padding:17px 16px}
}
