/* Quotation page. Everything is prefixed fgq- so it cannot collide with the main stylesheet. */

.fgq-section{ background:var(--parchment); }
.fgq [hidden], .fgq-scale[hidden], .fgq-form [hidden]{ display:none !important; }

.fgq{
  display:grid;
  grid-template-columns:minmax(0,1.2fr) minmax(0,0.8fr);
  gap:28px;
  align-items:start;
}
@media (max-width:960px){ .fgq{ grid-template-columns:minmax(0,1fr); } }

/* ---------- Form card ---------- */
.fgq-form{
  background:var(--paper-card);
  border:1px solid var(--line);
  padding:6px 32px 26px;
  min-width:0;
}
@media (max-width:640px){ .fgq-form{ padding:4px 18px 22px; } }

.fgq-step{ padding:26px 0 8px; }
.fgq-step + .fgq-step{ border-top:1px solid var(--line); }
.fgq-step-head{ display:flex; align-items:baseline; gap:12px; margin-bottom:18px; }
.fgq-step-num{
  font-family:'JetBrains Mono', monospace; font-size:12px; font-weight:700;
  letter-spacing:0.06em; color:var(--rust);
}
.fgq-step-head h3{ font-size:21px; }

.fgq-field{ margin-bottom:20px; }
.fgq-label{
  display:block;
  font-family:'JetBrains Mono', monospace;
  font-size:11px; font-weight:600;
  text-transform:uppercase; letter-spacing:0.06em;
  color:rgba(34,38,31,0.62);
  margin-bottom:8px;
}
.fgq-label--gap{ margin-top:18px; }
.fgq-hint{
  font-size:13px; line-height:1.55;
  color:rgba(34,38,31,0.62);
  margin:8px 0 0;
}
.fgq-hint:empty{ display:none; }

.fgq-input, .fgq-select{
  width:100%;
  border:1px solid rgba(34,38,31,0.28);
  background:#fff;
  padding:13px 14px;
  font-family:'Space Grotesk', sans-serif;
  font-size:16px; /* 16px stops iOS zooming into the field */
  color:var(--ink);
  border-radius:2px;
  -webkit-appearance:none; appearance:none;
}
.fgq-input--short{ max-width:180px; }
.fgq-select{
  padding-right:40px;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5l5 5 5-5' fill='none' stroke='%2322261f' stroke-width='1.6'/%3E%3C/svg%3E");
  background-repeat:no-repeat;
  background-position:right 14px center;
}
.fgq-input:focus, .fgq-select:focus{ outline:2px solid var(--ochre); outline-offset:1px; }
.fgq-input::placeholder{ color:rgba(34,38,31,0.38); }

.fgq-row{ display:flex; gap:12px; align-items:stretch; flex-wrap:wrap; }
.fgq-row .fgq-input{ flex:1 1 160px; min-width:0; }

/* Segmented radio (Private / Corporate, m2 / hectares) */
.fgq-seg{
  display:inline-flex;
  border:1px solid rgba(34,38,31,0.28);
  border-radius:2px;
  overflow:hidden;
  background:#fff;
}
.fgq-seg label{ margin:0; cursor:pointer; position:relative; display:block; }
.fgq-seg input{ position:absolute; opacity:0; pointer-events:none; }
.fgq-seg span{
  display:block; padding:13px 18px; min-width:88px; text-align:center;
  font-size:15px; font-weight:500; color:var(--ink);
  border-left:1px solid rgba(34,38,31,0.18);
  transition:background .15s ease, color .15s ease;
}
.fgq-seg label:first-child span{ border-left:0; }
.fgq-seg input:checked + span{ background:var(--forest); color:#fff; }
.fgq-seg input:focus-visible + span{ outline:2px solid var(--ochre); outline-offset:-3px; }

/* Option list (radios) and checkboxes */
.fgq-opts{ display:grid; gap:8px; }
.fgq-opt, .fgq-check{
  display:flex; align-items:flex-start; gap:12px;
  background:#fff;
  border:1px solid rgba(34,38,31,0.2);
  padding:13px 14px;
  cursor:pointer;
  font-size:15px; line-height:1.4;
  border-radius:2px;
}
.fgq-opt input, .fgq-check input{
  margin:3px 0 0; flex:none; width:18px; height:18px;
  accent-color:var(--forest);
}
.fgq-opt small, .fgq-check small{
  display:block; margin-top:3px;
  font-size:13px; color:rgba(34,38,31,0.6);
}
.fgq-opt:has(input:checked), .fgq-check:has(input:checked){
  border-color:var(--forest);
  background:rgba(0,102,51,0.05);
}
.fgq-extra{ margin-bottom:20px; }
.fgq-sub{ margin:12px 0 0 2px; padding:14px 16px; border-left:3px solid var(--ochre); background:rgba(204,153,51,0.08); }

.fgq-tools{
  display:flex; gap:22px; flex-wrap:wrap;
  padding-top:18px; margin-top:6px;
  border-top:1px solid var(--line);
}
.fgq-link{
  background:none; border:0; padding:4px 0; cursor:pointer;
  font-family:'JetBrains Mono', monospace; font-size:12px; font-weight:600;
  text-transform:uppercase; letter-spacing:0.06em;
  color:var(--forest);
  text-decoration:underline; text-underline-offset:4px;
}
.fgq-link:hover{ color:var(--rust); }

/* Mobile: live total pinned to the top of the form while you scroll it */
.fgq-chip{
  display:none;
  position:sticky; top:84px; z-index:6;
  margin:0 -32px; padding:10px 32px;
  background:var(--forest-deep); color:var(--parchment);
  align-items:center; justify-content:space-between; gap:12px;
  font-family:'JetBrains Mono', monospace; font-size:11px; text-transform:uppercase; letter-spacing:0.06em;
}
.fgq-chip strong{ font-size:15px; letter-spacing:0; color:var(--ochre-soft); text-transform:none; }
@media (max-width:960px){ .fgq-chip{ display:flex; } }
@media (max-width:640px){ .fgq-chip{ margin:0 -18px; padding:10px 18px; } }

/* ---------- Summary card ---------- */
.fgq-summary{
  position:sticky; top:100px;
  background:var(--forest-deep); color:var(--parchment);
  border-top:4px solid var(--ochre);
  padding:26px 28px 24px;
  max-height:calc(100vh - 120px); overflow-y:auto;
  min-width:0;
}
@media (max-width:960px){ .fgq-summary{ position:static; max-height:none; overflow:visible; } }
@media (max-width:640px){ .fgq-summary{ padding:22px 18px; } }

.fgq-print-head{ display:none; }
.fgq-sum-top{ display:flex; justify-content:space-between; align-items:baseline; gap:12px; }
.fgq-sum-title{
  font-family:'JetBrains Mono', monospace; font-size:12px; font-weight:700;
  text-transform:uppercase; letter-spacing:0.08em; color:var(--ochre);
}
.fgq-date{ font-family:'JetBrains Mono', monospace; font-size:11px; color:rgba(247,243,230,0.55); }

.fgq-total{ margin:22px 0 4px; }
.fgq-total-label{
  font-family:'JetBrains Mono', monospace; font-size:11px; text-transform:uppercase;
  letter-spacing:0.08em; color:rgba(247,243,230,0.65);
}
.fgq-total-amount{
  font-family:'Fraunces', serif; font-weight:600;
  font-size:clamp(36px,4.4vw,48px); line-height:1.05;
  color:#fff; margin-top:8px; word-break:break-word;
}
.fgq-total-amount.is-empty{ color:rgba(247,243,230,0.3); }
.fgq-total-amount--text{ font-size:clamp(26px,3vw,32px); color:var(--ochre-soft); }
.fgq-total-sub{ font-size:13px; color:rgba(247,243,230,0.7); margin-top:8px; }

.fgq-missing{
  list-style:none; margin:16px 0 0; padding:12px 14px;
  background:rgba(247,243,230,0.07);
  border-left:3px solid var(--ochre);
  font-size:14px; line-height:1.5;
}
.fgq-missing li + li{ margin-top:6px; }

.fgq-lines{ list-style:none; margin:20px 0 0; padding:0; border-top:1px solid rgba(247,243,230,0.2); }
.fgq-lines li, .fgq-dep{
  display:flex; justify-content:space-between; align-items:flex-start; gap:16px;
  padding:14px 0; border-bottom:1px solid rgba(247,243,230,0.14);
}
.fgq-lines b, .fgq-dep b{ display:block; font-weight:600; font-size:15px; }
.fgq-lines small, .fgq-dep small{
  display:block; margin-top:4px; font-size:12.5px; line-height:1.5; color:rgba(247,243,230,0.62);
}
.fgq-amt{
  white-space:nowrap; font-family:'JetBrains Mono', monospace; font-size:14px; font-weight:600;
  color:var(--ochre-soft); padding-top:1px;
}
.fgq-amt.is-quote{ font-weight:500; font-size:12px; text-transform:uppercase; letter-spacing:0.04em; color:rgba(247,243,230,0.7); white-space:normal; text-align:right; max-width:90px; }
.fgq-dep{ margin-top:0; }
.fgq-dep .fgq-amt{ color:rgba(247,243,230,0.85); }

.fgq-inputs{ margin:20px 0 0; font-size:13px; }
.fgq-inputs-title{
  font-family:'JetBrains Mono', monospace; font-size:11px; text-transform:uppercase;
  letter-spacing:0.08em; color:rgba(247,243,230,0.55); margin-bottom:8px;
}
.fgq-inputs div{ display:flex; justify-content:space-between; gap:16px; padding:5px 0; }
.fgq-inputs dt{ color:rgba(247,243,230,0.6); }
.fgq-inputs dd{ margin:0; text-align:right; }
.fgq-inputs .fgq-inputs-title{ display:block; }

.fgq-notes{ margin:18px 0 0; padding:0 0 0 18px; font-size:12.5px; line-height:1.55; color:rgba(247,243,230,0.7); }
.fgq-notes li + li{ margin-top:6px; }

.fgq-actions{ margin-top:22px; display:grid; gap:10px; }
.fgq-actions-row{ display:grid; grid-template-columns:1fr 1fr; gap:10px; }
@media (max-width:420px){ .fgq-actions-row{ grid-template-columns:1fr; } }
.fgq-btn{
  display:inline-flex; align-items:center; justify-content:center; text-align:center;
  padding:13px 16px;
  font-family:'Space Grotesk', sans-serif; font-size:14px; font-weight:600; line-height:1.2;
  border-radius:2px; border:1px solid transparent; cursor:pointer; text-decoration:none;
  transition:transform .15s ease, background .15s ease, opacity .15s ease;
}
.fgq-btn:hover{ transform:translateY(-1px); }
.fgq-btn--primary{ background:var(--ochre); color:#1a1607; }
.fgq-btn--primary:hover{ background:var(--ochre-soft); }
.fgq-btn--ghost{ background:transparent; color:#f7f3e6; border-color:rgba(247,243,230,0.38); }
.fgq-btn--ghost:hover{ border-color:#f7f3e6; }
.fgq-btn[aria-disabled="true"]{ opacity:0.4; pointer-events:none; cursor:default; }

.fgq-fine{ margin:18px 0 0; font-size:12px; line-height:1.55; color:rgba(247,243,230,0.55); }
.fgq-fine:empty{ display:none; }

/* ---------- Scale table ---------- */
.fgq-scale{
  margin-top:28px;
  background:var(--paper-card);
  border:1px solid var(--line);
  padding:28px 32px;
}
@media (max-width:640px){ .fgq-scale{ padding:22px 16px; } }
.fgq-scale-head h3{ font-size:22px; margin-top:2px; }
.fgq-scale-head p{ font-size:14px; color:rgba(34,38,31,0.65); margin:8px 0 18px; max-width:680px; line-height:1.55; }
.fgq-table-wrap{ overflow-x:auto; -webkit-overflow-scrolling:touch; }
.fgq-table{ width:100%; border-collapse:collapse; font-size:14px; min-width:560px; }
.fgq-table th:first-child, .fgq-table td:first-child{ white-space:nowrap; }
.fgq-scroll-hint{ display:none; font-size:12px; color:rgba(34,38,31,0.55); margin:0 0 8px; }
@media (max-width:760px){ .fgq-scroll-hint{ display:block; } }
.fgq-table th{
  text-align:left; padding:10px 12px;
  font-family:'JetBrains Mono', monospace; font-size:10.5px; font-weight:600;
  text-transform:uppercase; letter-spacing:0.05em;
  color:rgba(34,38,31,0.62);
  border-bottom:1px solid var(--ink);
}
.fgq-table td{ padding:11px 12px; border-bottom:1px solid var(--line); }
.fgq-table .num{ text-align:right; font-variant-numeric:tabular-nums; white-space:nowrap; }
.fgq-table small{ font-size:11px; color:rgba(34,38,31,0.55); }
.fgq-table .is-col{ background:rgba(0,102,51,0.05); }
.fgq-table tr.is-hit td{ background:rgba(204,153,51,0.22); font-weight:600; }
.fgq-table tr.is-hit td.is-col{ background:rgba(204,153,51,0.34); }
.fgq-scale-note{ font-size:13.5px; color:rgba(34,38,31,0.7); margin:14px 0 0; }

/* ---------- Explainer cards ---------- */
.fgq-cards{ display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:1px; background:var(--line); border:1px solid var(--line); }
@media (max-width:900px){ .fgq-cards{ grid-template-columns:minmax(0,1fr); } }
.fgq-card{ background:var(--paper-card); padding:28px; }
.fgq-card .fgq-card-tag{
  font-family:'JetBrains Mono', monospace; font-size:11px; font-weight:700;
  text-transform:uppercase; letter-spacing:0.07em; color:var(--rust); margin-bottom:10px;
}
.fgq-card h3{ font-size:20px; margin-bottom:10px; }
.fgq-card p{ font-size:14.5px; line-height:1.65; color:rgba(34,38,31,0.75); margin:0 0 10px; }
.fgq-card dl{ margin:14px 0 0; font-size:13.5px; line-height:1.55; }
.fgq-card dt{ font-weight:600; margin-top:10px; }
.fgq-card dd{ margin:2px 0 0; color:rgba(34,38,31,0.7); }

.fgq-factors{ margin-top:36px; display:grid; grid-template-columns:minmax(0,0.9fr) minmax(0,1.1fr); gap:48px; align-items:start; }
@media (max-width:800px){ .fgq-factors{ grid-template-columns:minmax(0,1fr); gap:20px; } }
.fgq-factors ol{ margin:0; padding:0; list-style:none; counter-reset:f; border-top:1px solid var(--line); }
.fgq-factors li{
  counter-increment:f; position:relative;
  padding:16px 0 16px 46px; border-bottom:1px solid var(--line);
  font-size:15px; line-height:1.55;
}
.fgq-factors li::before{
  content:"0" counter(f);
  position:absolute; left:0; top:17px;
  font-family:'JetBrains Mono', monospace; font-size:12px; font-weight:700; color:var(--rust);
}

.fgq-source{ margin:22px 0 0; font-size:13px; line-height:1.55; color:rgba(34,38,31,0.62); }
.fgq-noscript{ padding:20px; background:var(--paper-card); border:1px solid var(--line); }

/* ---------- Enquiry: the merged contact form + direct details ---------- */
#enquiry{ scroll-margin-top:90px; }
.fgq-enquiry-section{ background:var(--parchment); }
.fgq-enquiry-grid{
  display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,0.9fr);
  gap:56px; align-items:start;
}
@media (max-width:860px){ .fgq-enquiry-grid{ grid-template-columns:minmax(0,1fr); gap:44px; } }
.fgq-enquiry-title{ font-size:clamp(28px,3.6vw,40px); line-height:1.1; margin-top:2px; }
.fgq-direct-title{ font-size:26px; line-height:1.15; margin-top:2px; }
.fgq-enquiry-intro{ margin:14px 0 24px; font-size:15.5px; line-height:1.65; color:rgba(34,38,31,0.72); max-width:560px; }
.fgq-enquiry-box, .fgq-plugin-form{ background:var(--paper-card); border:1px solid var(--line); padding:26px 28px; }
@media (max-width:640px){ .fgq-enquiry-box, .fgq-plugin-form{ padding:20px 16px; } }
.fgq-textarea{ display:block; resize:vertical; min-height:120px; line-height:1.5; }
.fgq-enq-actions{ display:flex; gap:10px; flex-wrap:wrap; margin-top:18px; }
.fgq-enq-actions .fgq-btn{ flex:1 1 180px; }
.fgq-btn--solid{ background:var(--forest); color:#fff; }
.fgq-btn--solid:hover{ background:#005229; }
.fgq-btn--outline{ background:transparent; color:var(--forest); border-color:var(--forest); }
.fgq-btn--outline:hover{ background:rgba(0,102,51,0.07); }
.fgq-enq-status{ min-height:1.3em; margin-top:12px; }
.fgq-enq .fgq-check{ margin-top:2px; }
.fgq-enq .fgq-check input:disabled + span{ opacity:0.6; }

.fgq-info{ border-top:1px solid var(--line); margin-top:8px; }
.fgq-info-row{ display:flex; gap:16px; padding:16px 0; border-bottom:1px solid var(--line); font-size:15px; line-height:1.5; }
.fgq-info-row .k{
  font-family:'JetBrains Mono', monospace; font-size:11px; font-weight:600; text-transform:uppercase;
  letter-spacing:0.06em; color:var(--rust); width:90px; flex:none; padding-top:3px;
}
.fgq-info-row a{ text-decoration:none; }
.fgq-info-row a:hover{ color:var(--rust); }

.fgq-formlink{ margin:14px 0 0; font-size:13px; }
.fgq-formlink a{ color:var(--ochre-soft); text-underline-offset:3px; }
.fgq-formlink a:hover{ color:#fff; }

/* If a form plugin is used instead of the built-in form, give it the same look */
.fgq-plugin-form .wpcf7 input[type="text"], .fgq-plugin-form .wpcf7 input[type="email"], .fgq-plugin-form .wpcf7 input[type="tel"],
.fgq-plugin-form .wpcf7 select, .fgq-plugin-form .wpcf7 textarea{
  width:100%; border:1px solid rgba(34,38,31,0.28); background:#fff; padding:13px 14px;
  font-family:'Space Grotesk', sans-serif; font-size:16px; color:var(--ink); border-radius:2px; margin:6px 0 16px;
}
.fgq-plugin-form .wpcf7 label{
  display:block; font-family:'JetBrains Mono', monospace; font-size:11px; font-weight:600;
  text-transform:uppercase; letter-spacing:0.06em; color:rgba(34,38,31,0.62);
}
.fgq-plugin-form .wpcf7 input[type="submit"]{
  background:var(--forest); color:#fff; border:0; padding:14px 28px; font-size:15px; font-weight:600;
  border-radius:2px; cursor:pointer; font-family:'Space Grotesk', sans-serif;
}

/* ---------- Print: just the estimate on a clean page ---------- */
@media print{
  header.site, footer, .hero, .creds, .cta, .fgq-form, .fgq-scale, .fgq-actions, .fgq-chip,
  .fgq-cards, .fgq-factors, .fgq-noprint, .section-head, .coord, #wpadminbar{ display:none !important; }
  body{ background:#fff !important; }
  section{ padding:0 !important; background:#fff !important; border:0 !important; }
  .wrap{ max-width:none; padding:0 !important; }
  .fgq{ display:block; }
  .fgq-summary{
    position:static; max-height:none; overflow:visible;
    background:#fff; color:#000; border:1px solid #999; border-top:4px solid #cc9933;
    padding:24px;
  }
  .fgq-print-head{ display:flex; align-items:center; gap:14px; padding-bottom:16px; margin-bottom:16px; border-bottom:1px solid #999; }
  .fgq-print-head img{ width:54px; height:54px; object-fit:contain; }
  .fgq-print-head strong{ display:block; font-size:16px; }
  .fgq-print-head span{ display:block; font-size:12px; color:#333; }
  .fgq-sum-title, .fgq-date, .fgq-total-label, .fgq-inputs-title{ color:#444 !important; }
  .fgq-total-amount{ color:#000 !important; }
  .fgq-lines li, .fgq-dep{ border-bottom:1px solid #bbb; }
  .fgq-lines small, .fgq-dep small, .fgq-inputs dt, .fgq-notes, .fgq-fine, .fgq-total-sub{ color:#333 !important; }
  .fgq-amt, .fgq-dep .fgq-amt{ color:#000 !important; }
  .fgq-missing{ background:#f3f3f3; color:#000; }
}
