/* Duck Foot Farmer Savings Calculator v1.2 — calculator-only shortcode for duckfootparts.ca */
.dfc {
  --df-black:#111111;
  --df-green:#073f2e;
  --df-gold:#f8bd26;
  --df-gold-dark:#dfa80d;
  --df-wheat:#fff7df;
  --df-wheat-2:#fffaf0;
  --df-line:#dedbd2;
  --df-muted:#64645f;
  --df-white:#ffffff;
  color:var(--df-black);
  font-family:inherit;
  line-height:1.4;
  width:100%;
}
.dfc *, .dfc *::before, .dfc *::after{box-sizing:border-box}
.dfc button,.dfc input,.dfc select{font:inherit}

.dfc-layout{
  display:grid;
  grid-template-columns:minmax(0,1.02fr) minmax(430px,.98fr);
  gap:18px;
  width:100%;
  align-items:start;
}
.dfc-card{
  background:#fff;
  border:1px solid #d8d8d4;
  border-radius:10px;
  box-shadow:0 8px 24px rgba(0,0,0,.07);
  overflow:hidden;
}
.dfc-input-card{padding:18px 18px 16px}
.dfc-section-head{padding:0 0 14px;border-bottom:1px solid var(--df-line)}
.dfc-farm-brand{display:flex;align-items:center;gap:16px}
.dfc-farm-logo{width:98px;height:82px;flex:0 0 98px;display:flex;align-items:center;justify-content:center}
.dfc-farm-logo img{max-width:100%;max-height:100%;display:block;object-fit:contain}
.dfc-kicker{margin:0 0 2px;font-size:.76rem;line-height:1.1;letter-spacing:.06em;font-weight:800;color:var(--df-black)}
.dfc-gold{font-size:1.38rem;letter-spacing:0}
.dfc-section-head h3,.dfc-report h3{margin:0;color:#111;font-size:1.18rem;line-height:1.1}

.dfc-form-block{padding:16px 0 0}
.dfc-form-block + .dfc-form-block{border-top:1px solid var(--df-line);margin-top:14px}
.dfc-form-block h4{margin:0 0 9px;font-size:1rem;line-height:1.1;color:#161616}
.dfc-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 12px}
.dfc-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.dfc label{display:block;min-width:0;font-size:.76rem;font-weight:650;color:#262626}
.dfc input[type="text"],.dfc input[type="email"],.dfc input[type="tel"],.dfc input[type="number"],.dfc select{
  width:100%;
  min-height:39px;
  margin-top:4px;
  padding:8px 10px;
  border:1px solid #cfd3d6;
  border-radius:5px;
  background:#fff;
  color:#1d1d1d;
  outline:none;
}
.dfc input:focus,.dfc select:focus{border-color:var(--df-gold-dark);box-shadow:0 0 0 3px rgba(248,189,38,.18)}
.dfc-unit{font-weight:500;color:#555}

.dfc-range-label{margin-top:14px;padding-top:0;background:transparent;border:0}
.dfc-range-label > span:first-child{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:.86rem;font-weight:800}
.dfc-range-label strong{font-size:1.05rem;color:#111;white-space:nowrap}
.dfc-range-label small{display:block;margin-top:4px;color:#555;font-size:.68rem;font-weight:500;line-height:1.35}
.dfc input[type="range"]{width:100%;min-height:25px;margin:4px 0 0;padding:0;border:0;background:transparent;box-shadow:none;accent-color:var(--df-gold)}

/* The 20% slider remains capped at the field-data maximum of 20%, but the visible track
   includes a grey tail so its default thumb sits at roughly the same position as the 75% loss slider. */
.dfc-speed-track-shell{position:relative;display:block;width:100%;height:30px}
.dfc-speed-track-shell::after{
  content:"";
  position:absolute;
  left:75%;
  right:0;
  top:50%;
  height:7px;
  transform:translateY(-50%);
  border-radius:999px;
  background:#cfd4d6;
  z-index:0;
  pointer-events:none;
}
.dfc-speed-track-shell input[type="range"]{position:relative;z-index:1;width:75%;margin:1px 0 0}

.dfc-header-block{padding-bottom:2px}
.dfc-assumptions{margin-top:15px;border:1px solid #f0ba1c;border-radius:6px;overflow:hidden;background:#fff}
.dfc-assumptions summary{
  list-style:none;
  cursor:pointer;
  padding:9px 11px;
  background:linear-gradient(90deg,#f4b817,#ffd252);
  color:#111;
  font-size:.78rem;
  font-weight:850;
  letter-spacing:.02em;
}
.dfc-assumptions summary::-webkit-details-marker{display:none}
.dfc-assumptions summary::after{content:"⌃";float:right;font-size:1rem;line-height:1}
.dfc-assumptions:not([open]) summary::after{content:"⌄"}
.dfc-assumption-grid{padding:10px 10px 2px}
.dfc-speed-range{margin:4px 10px 10px;padding-top:1px}

.dfc-error{margin:12px 0 0;padding:9px 10px;border-radius:5px;background:#fff1f1;border:1px solid #e4aaaa;color:#8a2020;font-size:.78rem}
.dfc-calc-button{
  width:100%;
  margin-top:12px;
  min-height:48px;
  border:0;
  border-radius:5px;
  background:linear-gradient(90deg,#ffbd1d,#ffd150);
  color:#111;
  font-weight:850;
  text-transform:uppercase;
  letter-spacing:.01em;
  cursor:pointer;
}
.dfc-calc-button:disabled{opacity:.65;cursor:wait}

.dfc-report-wrap{position:sticky;top:18px}
.dfc-report{padding:0}
.dfc-report-header{display:flex;align-items:center;gap:14px;padding:14px 16px 8px}
.dfc-report-logo{width:100px;height:72px;flex:0 0 100px;display:flex;align-items:center;justify-content:center}
.dfc-report-logo img{max-width:100%;max-height:100%;display:block;object-fit:contain}
.dfc-report-header .dfc-kicker{font-size:.72rem;margin-bottom:2px}
.dfc-report-header h3{font-size:1.5rem}
.dfc-report-summary{display:none}
.dfc-top-result{
  margin:4px 16px 2px;
  padding:10px 12px;
  border-radius:6px;
  background:linear-gradient(90deg,#fff2c1,#fff7df);
  display:grid;
  grid-template-columns:1fr auto;
  grid-template-areas:"label value" "small value";
  align-items:center;
  column-gap:16px;
}
.dfc-top-result span{grid-area:label;font-size:1rem;font-weight:800}
.dfc-top-result strong{grid-area:value;color:var(--df-green);font-size:2.75rem;line-height:.95;letter-spacing:-.04em;border-bottom:3px solid var(--df-gold)}
.dfc-top-result small{grid-area:small;font-size:.68rem;color:#333}
.dfc-report-grid{padding:4px 16px 2px}
.dfc-report-grid > div{display:flex;justify-content:space-between;align-items:baseline;gap:16px;padding:4px 8px;border-bottom:1px solid #e8e8e2;font-size:.72rem;line-height:1.15}
.dfc-report-grid > div span{color:#313131}
.dfc-report-grid > div strong{text-align:right;color:#111;font-size:.74rem;white-space:nowrap}
.dfc-report-grid > div.dfc-emphasis{background:#e8f1e8;font-weight:800}
.dfc-report-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:12px 16px}
.dfc-print-button,.dfc-dealer-button{display:flex;align-items:center;justify-content:center;min-height:43px;border-radius:5px;font-size:.72rem;font-weight:800;text-align:center;text-decoration:none!important;cursor:pointer}
.dfc-print-button{border:1.5px solid #c89a14;background:#fff;color:#111}
.dfc-dealer-button{border:1.5px solid var(--df-gold);background:var(--df-gold);color:#111!important}
.dfc-disclaimer{margin:0;padding:0 16px 14px;color:#6b7076;font-size:.62rem;line-height:1.35;font-style:italic}

@media(max-width:1080px){
  .dfc-layout{grid-template-columns:1fr}
  .dfc-report-wrap{position:static}
  .dfc-grid-3{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:650px){
  .dfc-input-card{padding:14px 12px}
  .dfc-farm-logo{width:76px;height:65px;flex-basis:76px}
  .dfc-gold{font-size:1.15rem}
  .dfc-section-head h3{font-size:1rem}
  .dfc-grid,.dfc-grid-3{grid-template-columns:1fr}
  .dfc input[type="text"],.dfc input[type="email"],.dfc input[type="tel"],.dfc input[type="number"],.dfc select{min-height:44px;font-size:16px}
  .dfc-report-header{align-items:center}
  .dfc-report-logo{width:78px;height:58px;flex-basis:78px}
  .dfc-report-header h3{font-size:1.2rem}
  .dfc-top-result{grid-template-columns:1fr;grid-template-areas:"label" "value" "small";row-gap:4px}
  .dfc-top-result strong{font-size:2.2rem;width:max-content;max-width:100%}
  .dfc-report-grid > div{font-size:.75rem}
  .dfc-report-actions{grid-template-columns:1fr}
}

@media print{
  body *{visibility:hidden!important}
  #dfc-farmer-report,#dfc-farmer-report *{visibility:visible!important}
  #dfc-farmer-report{position:absolute!important;inset:0 auto auto 0!important;width:100%!important;max-width:780px!important;border:1px solid #aaa!important;box-shadow:none!important}
  #dfc-farmer-report .dfc-report-actions{display:none!important}
  #dfc-farmer-report .dfc-disclaimer{padding-bottom:10px!important}
}

/* Email Farmer Report — v1.3 */
.dfc-email-button,.dfc-dealer-button{display:flex;align-items:center;justify-content:center;min-height:43px;border-radius:5px;font-size:.72rem;font-weight:800;text-align:center;text-decoration:none!important;cursor:pointer}
.dfc-email-button{border:1.5px solid #c89a14;background:#fff;color:#111;text-transform:uppercase}
.dfc-email-button:hover{background:#fffaf0}
.dfc-email-modal[hidden]{display:none!important}
.dfc-email-modal{position:fixed;inset:0;z-index:999999;display:flex;align-items:center;justify-content:center;padding:20px}
.dfc-email-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.62)}
.dfc-email-dialog{position:relative;z-index:1;width:min(610px,100%);max-height:calc(100vh - 40px);overflow:auto;background:#fff;border-radius:10px;border:1px solid #d8d8d4;box-shadow:0 18px 60px rgba(0,0,0,.28);padding:22px}
.dfc-email-close{position:absolute;top:10px;right:12px;width:38px;height:38px;border:0;background:transparent;color:#222;font-size:30px;line-height:1;cursor:pointer;border-radius:50%}
.dfc-email-close:hover{background:#f2f2ef}
.dfc-email-dialog-head{display:flex;align-items:center;gap:14px;padding-right:40px}
.dfc-email-dialog-head img{width:82px;height:62px;object-fit:contain;display:block}
.dfc-email-dialog-head h3{margin:2px 0 0;font-size:1.35rem;line-height:1.1}
.dfc-email-intro{margin:14px 0 16px;color:#4f4f4a;font-size:.84rem;line-height:1.45}
.dfc-email-form>label,.dfc-email-grid label{display:block;margin-bottom:12px;font-size:.8rem;font-weight:700}
.dfc-email-form input,.dfc-email-form textarea{width:100%;margin-top:5px;border:1px solid #cfd3d6;border-radius:5px;padding:9px 10px;background:#fff;color:#1d1d1d;outline:none;font:inherit}
.dfc-email-form input{min-height:42px}
.dfc-email-form textarea{resize:vertical;min-height:82px}
.dfc-email-form input:focus,.dfc-email-form textarea:focus{border-color:var(--df-gold-dark);box-shadow:0 0 0 3px rgba(248,189,38,.18)}
.dfc-email-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.dfc-honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.dfc-email-message{margin:4px 0 13px;padding:10px 11px;border-radius:5px;font-size:.8rem;line-height:1.4}
.dfc-email-success{background:#e8f3e8;border:1px solid #9bbd9e;color:#164d28}
.dfc-email-error{background:#fff1f1;border:1px solid #e4aaaa;color:#8a2020}
.dfc-email-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:4px}
.dfc-email-cancel,.dfc-email-send{min-height:44px;padding:9px 18px;border-radius:5px;font-weight:800;cursor:pointer}
.dfc-email-cancel{border:1px solid #bbb;background:#fff;color:#222}
.dfc-email-send{border:1px solid var(--df-gold);background:var(--df-gold);color:#111}
.dfc-email-send:disabled{opacity:.65;cursor:wait}
body.dfc-modal-open{overflow:hidden}
@media(max-width:650px){
  .dfc-email-modal{padding:12px}
  .dfc-email-dialog{max-height:calc(100vh - 24px);padding:17px 14px}
  .dfc-email-dialog-head img{width:68px;height:52px}
  .dfc-email-dialog-head h3{font-size:1.12rem}
  .dfc-email-grid{grid-template-columns:1fr;gap:0}
  .dfc-email-form input,.dfc-email-form textarea{font-size:16px}
  .dfc-email-actions{flex-direction:column-reverse}
  .dfc-email-actions button{width:100%}
}
/* Copyright line under report actions — v1.7 */
.dfc-copyright{
  margin:0;
  padding:0 16px 8px;
  text-align:center;
  color:#111;
  font-size:.68rem;
  line-height:1.35;
  letter-spacing:.01em;
}

