/* =========================================================
   COMPONENTS — reusable pieces shared by every template.
   ========================================================= */

/* ---------- Layout helpers ---------- */
.omp-wrap{max-width:var(--omp-max);margin-inline:auto;padding-inline:var(--omp-pad)}
.omp-sec{padding-block:var(--omp-sec)}
.omp-sec--limestone{background:var(--omp-limestone)}
.omp-sec--dark{background:var(--omp-acacia);color:#fff}
.omp-center{text-align:center}
.omp-center .omp-lead{margin-inline:auto}

/* ---------- Headings ---------- */
/* Eyebrow: plain text label, no pill or dot (standard #4) */
.omp-kicker{display:block;font-family:var(--omp-f-label);font-size:13px;letter-spacing:.06em;color:var(--omp-murram);margin-bottom:12px}
.omp-h2{font-family:var(--omp-f-display);font-weight:700;font-size:var(--omp-fs-h2);line-height:1.04;color:var(--omp-acacia);margin:0}
.omp-h2 span{font-weight:400;color:var(--omp-murram)}
.omp-sec--dark .omp-h2{color:#fff}
.omp-sec--dark .omp-h2 span{color:var(--omp-savanna)}
.omp-lead{font-size:var(--omp-fs-lead);line-height:1.65;color:var(--omp-stone);max-width:600px;margin:16px 0 0}
.omp-sec--dark .omp-lead{color:var(--omp-muted-dark)}

/* ---------- Buttons ---------- */
.omp-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:0 28px;border-radius:var(--omp-r-pill);border:1.5px solid transparent;font-family:var(--omp-f-body);font-weight:700;font-size:15px;line-height:1;text-decoration:none;cursor:pointer;transition:background-color .2s,color .2s,border-color .2s}
.omp-btn--sm{min-height:44px;padding:0 18px;font-size:14px}
.omp-btn--murram{background:var(--omp-murram);color:#fff}
.omp-btn--murram:hover{background:var(--omp-murram-deep);color:#fff}
.omp-btn--gold{background:var(--omp-savanna);color:var(--omp-ink)}
.omp-btn--gold:hover{background:var(--omp-savanna-hover);color:var(--omp-ink)}
.omp-btn--dark{background:var(--omp-acacia);color:#fff}
.omp-btn--dark:hover{background:#000;color:#fff}
.omp-btn--line{background:transparent;border-color:var(--omp-line);color:var(--omp-acacia)}
.omp-btn--line:hover{border-color:var(--omp-murram);color:var(--omp-murram)}
.omp-btn--white{background:#fff;color:var(--omp-acacia)}
.omp-btn--white:hover{background:var(--omp-wa);color:#fff}
.omp-btn--wa{background:var(--omp-wa);color:#fff}
.omp-btn--wa:hover{background:#18763F;color:#fff}

/* ---------- Call block (icon + "Call us now" + number) ---------- */
.omp-call{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--omp-acacia)}
.omp-call__ic{width:46px;height:46px;border-radius:50%;background:var(--omp-blush);color:var(--omp-murram);display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}
.omp-call small{display:block;font-size:13px;color:var(--omp-stone);line-height:1.2}
.omp-call b{display:block;font-size:17px;font-weight:700;color:var(--omp-acacia);line-height:1.3}
.omp-call:hover b{color:var(--omp-murram)}

/* ---------- Chips (filters) ---------- */
.omp-chip{display:inline-flex;align-items:center;min-height:44px;padding:0 20px;border-radius:var(--omp-r-pill);border:1.5px solid var(--omp-line);background:#fff;color:var(--omp-acacia);font-weight:600;font-size:14px;text-decoration:none;cursor:pointer}
.omp-chip:hover{border-color:var(--omp-murram);color:var(--omp-murram)}
.omp-chip.is-active,.omp-chip[aria-pressed="true"]{background:var(--omp-murram);border-color:var(--omp-murram);color:#fff}

/* ---------- Tags ---------- */
.omp-tag{display:inline-flex;align-items:center;gap:6px;font-family:var(--omp-f-label);font-size:12px;letter-spacing:.04em;padding:5px 12px;border-radius:var(--omp-r-pill);background:var(--omp-savanna);color:var(--omp-ink);font-weight:400}
.omp-tag--line{background:transparent;border:1.5px solid var(--omp-savanna);color:var(--omp-murram-deep)}
.omp-tag--dark{background:var(--omp-acacia);color:#fff}
.omp-price{display:inline-block;color:var(--omp-murram-deep);font-family:var(--omp-f-display);font-weight:700;font-size:22px}

/* ---------- Form fields (CF7 inherits these) ---------- */
.omp-fld,.wpcf7-form label{display:flex;flex-direction:column;gap:8px;font-weight:600;font-size:14px;color:var(--omp-acacia)}
.omp-fld input,.omp-fld select,.omp-fld textarea,
.wpcf7-form input:not([type="submit"]):not([type="checkbox"]):not([type="radio"]),
.wpcf7-form select,.wpcf7-form textarea{width:100%;min-height:52px;padding:0 16px;border:1px solid var(--omp-line);border-radius:var(--omp-r-sm);background:#fff;color:var(--omp-ink);font-size:15px;transition:border-color .2s,box-shadow .2s}
.omp-fld textarea,.wpcf7-form textarea{padding:14px 16px;min-height:130px;resize:vertical}
.omp-fld :focus,.wpcf7-form :is(input,select,textarea):focus{outline:0;border-color:var(--omp-savanna);box-shadow:0 0 0 4px rgba(233,180,76,.25)}
.wpcf7-form input[type="submit"]{min-height:52px;padding:0 30px;border:0;border-radius:var(--omp-r-pill);background:var(--omp-murram);color:#fff;font-weight:700;cursor:pointer}
.wpcf7-form input[type="submit"]:hover{background:var(--omp-murram-deep)}
.wpcf7-not-valid-tip{font-size:13px;font-weight:500;color:#B42318}
.wpcf7 form .wpcf7-response-output{border-radius:var(--omp-r-sm);padding:12px 16px;margin:16px 0 0}

