
.fpp{
  /* Neutral (WP-like) UI. Do not depend on theme variables/classes. */
  --fpp-accent: #2271b1;        /* WP admin blue */
  --fpp-accent-dark: #135e96;
  --fpp-text: #1d2327;
  --fpp-bg: #ffffff;
  --fpp-muted: rgba(0,0,0,.65);
  --fpp-border: rgba(0,0,0,.14);
  --fpp-shadow: 0 10px 30px rgba(0,0,0,.08);
  font-family: system-ui, -apple-system, Segoe UI, Roboto, Ubuntu, Cantarell, Noto Sans, Helvetica, Arial, "Apple Color Emoji", "Segoe UI Emoji";
  color: var(--fpp-text);
  width: 100%;
  max-width: 1200px;
  margin-left: auto;
  margin-right: auto;
}

/* Theme-reset protection */
.fpp, .fpp *{ box-sizing: border-box; }
.fpp a{ color: inherit; }
.fpp__head{margin: 0 0 14px;}
.fpp__title{margin:0 0 6px;font-size: clamp(20px, 2vw, 30px);line-height:1.15;color: var(--fpp-title-color, var(--fpp-text));}
.fpp__subtitle{opacity:.85;color: var(--fpp-subtitle-color, var(--fpp-muted));}

.fpp__grid{display:grid;grid-template-columns:1fr;gap:14px;}
@media (min-width: 980px){ .fpp__grid{grid-template-columns: 1fr 1fr; align-items:start;} }

.fpp__card{
  background: var(--fpp-bg);
  border: 1px solid var(--fpp-border);
  border-radius: 18px;
  box-shadow: var(--fpp-shadow);
  padding: 14px;
}
.fpp__card--sticky{position: sticky; top: 90px;}
@media (max-width: 979px){ .fpp__card--sticky{position: static;} }

.fpp__fields{display:grid;grid-template-columns:1fr;gap:10px;}
@media (min-width: 640px){ .fpp__fields{grid-template-columns:1fr 1fr;} }

.fpp__label{display:block;font-weight:600;font-size:14px;}
.fpp__hint{font-weight:400;opacity:.75;font-size:12px;}
.fpp__input,.fpp__select{
  margin-top:6px;
  width:100%;
  padding:10px 12px;
  border-radius: 12px;
  border:1px solid var(--fpp-border);
  outline:none;
  height:auto;
  background: var(--fpp-bg);
  color: var(--fpp-text);
}
.fpp__input:focus,.fpp__select:focus{border-color: var(--fpp-accent); box-shadow: 0 0 0 3px rgba(34,113,177,.18);}

/* Hard override for aggressive theme resets like `.page * { padding:0; border:none; }` */
.fpp input.fpp__input,
.fpp select.fpp__select,
.fpp textarea.fpp__input{
  padding:10px 12px !important;
  border:1px solid var(--fpp-border) !important;
  background: var(--fpp-bg) !important;
}

/* CTA */
.fpp__cta{
  margin-top: 14px;
  padding: 14px;
  border-radius: 18px;
  border: 1px solid rgba(34,113,177,.22);
  background: rgba(34,113,177,.06);
}
.fpp__cta-title{margin:0 0 6px; font-weight:900;}
.fpp__cta-subtitle{margin:0 0 12px; opacity:.86;}
.fpp__cta .fpp__lead{margin-top:0; border-top:none; padding-top:0;}
.fpp__cta .fpp__actions{margin-top:12px;}
.fpp__extras{margin-top:12px;border-top:1px dashed var(--fpp-border);padding-top:12px;display:grid;grid-template-columns:1fr;gap:8px;}
@media (min-width: 640px){ .fpp__extras{grid-template-columns:1fr 1fr;} }
.fpp__check{display:flex;gap:10px;align-items:flex-start;font-size:14px;line-height:1.2;}
.fpp__check input{margin-top:2px;}

.fpp__lead{margin-top:12px;border-top:1px dashed var(--fpp-border);padding-top:12px;}
.fpp__lead-grid{display:grid;grid-template-columns:1fr;gap:10px;}
@media (min-width: 640px){ .fpp__lead-grid{grid-template-columns:1fr 1fr 1fr;} }
.fpp__consent{margin-top:8px;font-size:12px;opacity:.8;}

.fpp__section-title{font-weight:800;margin: 0 0 6px;grid-column:1/-1;}
.fpp__actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px;}
.fpp__messengers{display:flex;flex-wrap:wrap;gap:10px;margin-top:10px;}


.fpp__status{margin-top:10px;font-size:13px;opacity:.9;}

.fpp__summary-row{display:flex;justify-content:space-between;gap:10px;padding:6px 0;border-bottom:1px dashed var(--fpp-border);}
.fpp__total{margin-top:12px;padding-top:12px;border-top:1px solid var(--fpp-border);}
.fpp__total-label{font-weight:800;opacity:.9;}
.fpp__total-value{font-size: clamp(22px, 2.6vw, 34px); font-weight:900; margin-top:4px;}
.fpp__total-sub{display:grid;grid-template-columns:1fr;gap:4px;margin-top:8px;opacity:.9;}

.fpp__estimate{margin-top:14px;}
.fpp__estimate a{text-decoration: underline;}
.fpp__tablewrap{margin-top:10px; overflow-x:auto; -webkit-overflow-scrolling:touch; max-width:100%;}
.fpp__tablewrap--scroll{overflow:auto;}
.fpp__tabletitle{font-weight:900;margin-bottom:6px;}
.fpp__table{width:100%; min-width: 560px; border-collapse:collapse; font-size:13px;}
.fpp__table th,.fpp__table td{border-bottom:1px solid var(--fpp-border);padding:8px 6px;text-align:left;vertical-align:top;}
.fpp__table th:last-child,.fpp__table td:last-child{text-align:right;white-space:nowrap;}
.fpp__table tfoot th{border-top:1px solid var(--fpp-border);font-weight:900;}
.fpp__table .tdtitle th{background: rgba(0,0,0,.03); font-weight:900;}
.fpp__table .totaltd td,
.fpp__table .totaalltd td{font-weight:900;}
.fpp__table .nametd{min-width: 260px;}
.fpp__grand{margin-top:12px;padding:12px;border-radius:14px;background: rgba(34,113,177,.10);border:1px solid rgba(34,113,177,.28);}
.fpp__grand-row{display:flex;justify-content:space-between;gap:10px;font-size:16px;}

@media print{
  .fpp__card{box-shadow:none;}
  .fpp__actions,.fpp__messengers,.fpp__status,.fpp__head,.fpp__fields,.fpp__extras,.fpp__lead{display:none !important;}
  .fpp__grid{grid-template-columns:1fr !important;}
  .fpp__card--sticky{position:static !important; top:auto !important;}
}

.fpp__top{display:grid;grid-template-columns:1fr;gap:14px;align-items:start;}
@media (min-width: 980px){ .fpp__top{grid-template-columns: 1.2fr .8fr;} }
.fpp__summary-card{position:sticky; top: 90px;}
@media (max-width: 979px){ .fpp__summary-card{position:static;} }

/* Buttons (more contrast on white, but still calm) */
.fpp__btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  text-decoration:none !important;
  cursor:pointer;
  border-radius: 14px !important;
  padding:12px 16px !important;
  border:1px solid var(--fpp-accent) !important;
  background: var(--fpp-accent) !important;
  color:#fff !important;
  font-weight:800;
  line-height:1.1;
  box-shadow: 0 6px 18px rgba(0,0,0,.10);
  transition: transform .05s ease, box-shadow .15s ease, filter .15s ease, background .15s ease, border-color .15s ease;
}
.fpp__btn:hover{background: var(--fpp-accent-dark) !important; border-color: var(--fpp-accent-dark) !important;}
.fpp__btn:active{ transform:translateY(1px); }
.fpp__btn:focus{outline:none; box-shadow: 0 0 0 3px rgba(34,113,177,.22), 0 6px 18px rgba(0,0,0,.10);}

.fpp__btn--ghost{
  background: rgba(34,113,177,.10) !important;
  color: var(--fpp-text) !important;
  border-color: rgba(34,113,177,.45) !important;
}
.fpp__btn--ghost:hover{ background: rgba(34,113,177,.16) !important; }

/* Print button: higher contrast on white backgrounds */
.fpp__btn--print{
  background: rgba(15,23,42,.06) !important;
  border-color: rgba(15,23,42,.35) !important;
  color: var(--fpp-text) !important;
}
.fpp__btn--print:hover{ background: rgba(15,23,42,.10) !important; }

.fpp__btn--wa{
  background: rgba(22,163,74,.10) !important;
  color: #0f172a !important;
  border-color: rgba(22,163,74,.55) !important;
}
.fpp__btn--wa:hover{ background: rgba(22,163,74,.16) !important; }

.fpp__btn--tg{
  background: rgba(2,132,199,.10) !important;
  color: #0f172a !important;
  border-color: rgba(2,132,199,.55) !important;
}
.fpp__btn--tg:hover{ background: rgba(2,132,199,.16) !important; }

.fpp__messengers .fpp__btn{width:100%;}
@media (min-width: 640px){ .fpp__messengers .fpp__btn{width:auto;} }

/* Prevent horizontal blowouts on aggressive themes */
.fpp__estimate{max-width:100%; overflow:hidden;}

/* Neutral select: always use native <select>. If theme injects custom dropdowns, hide them. */
.fpp select{display:block !important;}
.fpp .nice-select{display:none !important;}

.fpp .fpp__mini{display:grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap:8px; margin:10px 0 6px;}
.fpp .fpp__mini b{font-weight:700;}
@media (max-width: 680px){
  .fpp .fpp__mini{grid-template-columns: 1fr;}
}
