/*
Theme Name: Flatsome Child
Description: Tarik Pham Estates — child theme for UX Builder section customizations
Author: UX Themes
Template: flatsome
Version: 3.0
*/

/* ─── Tarik Pham Estates — UX Builder Section Styles (.tpe-*) ─── */

/* ============================================================
   FLATSOME HEADER — style to match reference
   https://www.professionalscabramatta.com.au/
   Components configured via Customize → Header Builder.
   ============================================================ */

/* ---- Header bar: dark charcoal background ---- */
.header,
.header-main,
.header-bottom,
.header-wrapper,
.top-bar.flatsome-top-bar {
    background: var(--tpe-dark, #373D40);
    color: #fff;
}
.header-main { min-height: 70px; }
.header.show-on-scroll.stuck,
.stuck .header-main { background: var(--tpe-dark, #373D40); }

/* ---- Top Bar: thinner, lighter divider ---- */
.top-bar { font-size: 12px; min-height: 36px; border-bottom: 1px solid rgba(255,255,255,.06); }
.top-bar .nav > li > a,
.top-bar a,
.top-bar { color: rgba(255,255,255,.7); }
.top-bar a:hover { color: var(--tpe-red, #FF4853); }

/* ---- Logo: white text fallback + red "T" mark ----
   Works whether user uploaded an image or left text. */
#logo a,
.header-logo a,
#logo a:hover { color: #fff; text-decoration: none; font-family: 'Source Serif 4', Georgia, serif; font-weight: 800; }
#logo a span,
#logo a strong { color: #fff; }

/* Logo image — constrain to header height regardless of natural pixel size */
.header #logo img,
.header-main #logo img,
#logo img.header-logo,
#logo img.header-logo-dark {
/*     max-height: 42px !important;
    height: auto !important;
    width: auto !important;
    object-fit: contain; */
	margin-top: 10px;
}

/* ---- Main menu links: Poppins, 14px, white ---- */
.header-main .nav > li > a,
.header-bottom .nav > li > a,
.header-main .nav-divided > li > a {
    font-family: 'Poppins', system-ui, sans-serif;
    color: #fff;
    font-size: 17px;
    font-weight: 400;
    text-transform: none;
    padding: 0 18px;
}
.header-main .nav > li > a:hover,
.header-bottom .nav > li > a:hover,
.header-main .nav > li.active > a,
.header-main .nav > li:hover > a {
    color: var(--tpe-red, #FF4853);
}

/* Dropdown sub-menu */
.nav-dropdown,
.nav-dropdown.nav-dropdown-default {
    background: #fff;
    border: 1px solid rgba(0,0,0,.06);
    box-shadow: 0 8px 24px rgba(0,0,0,.15);
    border-radius: 6px;
    padding: 8px 0;
    min-width: 220px;
}
.nav-dropdown li > a {
    font-family: 'Poppins', system-ui, sans-serif;
    color: var(--tpe-dark, #373D40);
    font-size: 13px;
    font-weight: 400;
    padding: 9px 18px;
}
.nav-dropdown li > a:hover {
    color: var(--tpe-red, #FF4853);
    background: #fff5f5;
}

/* ---- Contact Us button — red pill + white circle arrow ---- */
/* :not(.icon) ensures the hamburger/nav-icon button is NOT styled as a pill */
.header-button .button:not(.icon),
.header-button .button.is-outline:not(.icon) {
    font-family: 'Poppins', system-ui, sans-serif;
    background: var(--tpe-red, #FF4853);
    border: none;
    color: #fff;
    border-radius: 100px;
    font-size: 14px;
    font-weight: 500;
    letter-spacing: .01em;
    text-transform: none;
    padding: 5px 5px 5px 22px;
    min-height: 44px;
    line-height: 1;
    display: inline-flex;
    align-items: center;
    gap: 12px;
    transition: background .2s;
}
/* White circle with red diagonal arrow — only on non-icon buttons */
.header-button .button:not(.icon)::after, .button-style::after {
    content: '';
    display: inline-flex;
    flex-shrink: 0;
    width: 34px;
    height: 34px;
    border-radius: 50%;
    background-color: #fff;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23FF4853' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='7' y1='17' x2='17' y2='7'/%3E%3Cpolyline points='7 7 17 7 17 17'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: center;
    background-size: 15px 15px;
    transition: transform .25s;
}
.header-button .button:not(.icon):hover {
    background: #d93840;
    color: #fff;
}
.header-button .button:not(.icon):hover::after {
    transform: rotate(45deg);
}

/* ---- Nav Icon (hamburger MENU) — minimal, transparent (NOT pill button) ---- */
.header li.nav-icon > .header-button > a.icon.button,
.header li.nav-icon a.icon,
.header li.nav-icon a {
    background: transparent !important;
    border: none !important;
    color: #fff !important;
    width: auto !important;
    height: auto !important;
    min-width: 0 !important;
    min-height: 0 !important;
    padding: 8px 12px !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    display: inline-flex;
    align-items: center;
    gap: 8px;
}
.header li.nav-icon a:hover { color: var(--tpe-red, #FF4853) !important; }
.header li.nav-icon a .icon-menu::before { font-size: 22px; }

/* Add the visible "MENU" label after the icon (reference shows it) */
.header li.nav-icon a::after {
    content: 'MENU';
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .12em;
}
@media (max-width: 849px) {
    .header li.nav-icon a::after { content: ''; }
}

/* ---- Slide-out overlay menu (Secondary Menu / Menu 2) ---- */
.off-canvas .mfp-content,
.mfp-bg.off-canvas-bg,
.nav-sidebar {
    background: var(--tpe-dark, #373D40);
    color: #fff;
}
.off-canvas .nav-sidebar > li > a,
.off-canvas .nav-vertical > li > a {
    color: rgba(255,255,255,.92);
    border-bottom: 1px solid rgba(255,255,255,.08);
    padding: 14px 22px;
    font-size: 14px;
}
.off-canvas .nav-sidebar > li > a:hover,
.off-canvas .nav-vertical > li > a:hover,
.off-canvas .nav-sidebar > li.active > a {
    color: var(--tpe-red, #FF4853);
    background: rgba(255,255,255,.04);
}
.off-canvas .nav-sidebar li li a { font-size: 13px; padding-left: 36px; color: rgba(255,255,255,.7); }
.off-canvas .nav-sidebar li li a:hover { color: var(--tpe-red, #FF4853); }
.off-canvas .toggle-nav-sub i { color: rgba(255,255,255,.5); }

/* ---- Search icon (when in Header Builder) ---- */
.header .icon-search,
.header-search-form .icon-search { color: #fff; }
.header .icon-search:hover { color: var(--tpe-red, #FF4853); }

/* ---- Footer (Flatsome default) — minimal brand tweaks ---- */
.absolute-footer,
.absolute-footer.dark { background: var(--tpe-dark, #373D40); color: rgba(255,255,255,.7); }
.absolute-footer .copyright-footer a { color: var(--tpe-red, #FF4853); }
.footer-1, .footer-2 { background: var(--tpe-dark, #373D40); color: #fff; }
.footer-1 a, .footer-2 a { color: rgba(255,255,255,.85); }
.footer-1 a:hover, .footer-2 a:hover { color: var(--tpe-red, #FF4853); }

/* ============================================================
   END Flatsome header styling
   ============================================================ */

/* ============================================================
   FOOTER UX BLOCK helpers (TPE Footer block id=2040)
   ============================================================ */
.tpe-footer-list { list-style: none; padding: 0; margin: 0; }
.tpe-footer-list li { margin-bottom: 9px; }
.tpe-footer-list a {
    color: rgba(255,255,255,0.75);
    text-decoration: none;
    font-size: 0.88rem;
    transition: color .15s;
}
.tpe-footer-list a:hover { color: var(--tpe-red, #FF4853); }

.tpe-footer-contact__line {
    display: flex;
    gap: 10px;
    align-items: flex-start;
    color: rgba(255,255,255,0.78);
    font-size: 0.88rem;
    margin: 0 0 10px;
    line-height: 1.5;
}
.tpe-footer-contact__line a { color: rgba(255,255,255,0.78); text-decoration: none; }
.tpe-footer-contact__line a:hover { color: var(--tpe-red, #FF4853); }
.tpe-footer-icon { color: var(--tpe-red, #FF4853); flex-shrink: 0; font-size: 1.1rem; }


/* ── Shared typography tokens ── */
:root {
    --tpe-red:       #FF4853;
    --tpe-dark:      #373D40;
    --tpe-text:      #1a1a1a;
    --tpe-muted:     #555;
    --tpe-light-bg:  #f8f8f8;
    --tpe-white:     #fff;
}

/* ── Page hero (dark charcoal header used on all UX Builder & hybrid pages) ── */
.tpe-page-hero { background: var(--tpe-dark); }
.tpe-page-hero .section-inner { padding: 60px 0; }

.tpe-eyebrow {
    display: inline-block;
    background: var(--tpe-red);
    color: #fff;
    font-size: .72rem;
    font-weight: 700;
    letter-spacing: .1em;
    text-transform: uppercase;
    padding: 4px 14px;
    border-radius: 20px;
    margin-bottom: 16px;
}

.tpe-page-title {
    font-size: clamp(1.8rem, 4vw, 2.8rem);
    font-weight: 800;
    color: #fff;
    line-height: 1.15;
    margin: 0 0 12px;
}

.tpe-page-sub {
    font-size: clamp(1rem, 2vw, 1.15rem);
    color: rgba(255,255,255,.8);
    line-height: 1.7;
    margin: 0;
}

/* ── About page ── */
.tpe-about-lead {
    font-size: 1.15rem;
    color: var(--tpe-muted);
    line-height: 1.8;
    margin-bottom: 0;
}

.tpe-about-stat-val {
    display: block;
    font-size: 2.4rem;
    font-weight: 800;
    color: var(--tpe-red);
    line-height: 1;
    margin-bottom: 6px;
}

.tpe-about-stat-lbl {
    font-size: .8rem;
    color: #888;
    text-transform: uppercase;
    letter-spacing: .06em;
}

.tpe-about-value-icon {
    font-size: 1.6rem;
    margin-bottom: 10px;
}

.tpe-about-value-title {
    font-size: 1.05rem;
    font-weight: 700;
    color: var(--tpe-text);
    margin: 0 0 8px;
}

.tpe-about-value-text {
    font-size: .9rem;
    color: var(--tpe-muted);
    line-height: 1.6;
    margin: 0;
}

/* ── Contact page ── */
.tpe-contact-info-item {
    display: flex;
    gap: 16px;
    align-items: flex-start;
    margin-bottom: 24px;
}

.tpe-contact-icon {
    flex-shrink: 0;
    width: 42px;
    height: 42px;
    background: var(--tpe-red);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-size: 1rem;
}

.tpe-contact-detail strong {
    display: block;
    font-size: .8rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .07em;
    color: #888;
    margin-bottom: 4px;
}

.tpe-contact-detail a,
.tpe-contact-detail p {
    font-size: 1rem;
    color: var(--tpe-text);
    text-decoration: none;
    margin: 0;
    line-height: 1.5;
}

.tpe-contact-detail a:hover { color: var(--tpe-red); }

/* ── Appraisal page ── */
.tpe-appraisal-step-num {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    background: var(--tpe-red);
    color: #fff;
    font-weight: 800;
    font-size: 1.1rem;
    border-radius: 50%;
    margin-bottom: 14px;
}

.tpe-appraisal-step-title {
    font-size: 1rem;
    font-weight: 700;
    color: var(--tpe-text);
    margin: 0 0 8px;
}

.tpe-appraisal-step-text {
    font-size: .9rem;
    color: var(--tpe-muted);
    line-height: 1.6;
    margin: 0;
}

/* ── Section headings (shared across pages) ── */
.tpe-section-title {
    font-size: clamp(1.4rem, 2.5vw, 1.9rem);
    font-weight: 800;
    color: var(--tpe-text);
    margin: 0 0 8px;
}

.tpe-section-sub {
    font-size: 1rem;
    color: var(--tpe-muted);
    margin: 0;
    line-height: 1.7;
}

.tpe-red-line {
    width: 48px;
    height: 4px;
    background: var(--tpe-red);
    border-radius: 2px;
    margin: 12px 0 24px;
}

/* ── CTA strip ── */
.tpe-cta-strip { background: var(--tpe-red); }
.tpe-cta-strip .section-inner { padding: 48px 0; }

.tpe-cta-title {
    font-size: clamp(1.4rem, 3vw, 2rem);
    font-weight: 800;
    color: #fff;
    margin: 0 0 8px;
}

.tpe-cta-sub {
    font-size: 1rem;
    color: rgba(255,255,255,.85);
    margin: 0;
}

.tpe-btn-white {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: #fff;
    color: var(--tpe-red) !important;
    font-weight: 700;
    font-size: .95rem;
    padding: 13px 28px;
    border-radius: 50px;
    text-decoration: none;
    transition: opacity .15s;
    white-space: nowrap;
}

.tpe-btn-white:hover { opacity: .9; }

/* ── Page intro (hybrid pages below dark hero) ── */
.tpe-listing-intro {
    font-size: 1rem;
    color: var(--tpe-muted);
    margin: 0;
}

/* ── Our Team intro ── */
.tpe-team-lead {
    font-size: 1.05rem;
    color: var(--tpe-muted);
    line-height: 1.8;
    margin: 0;
}

/* ── Responsive tweaks ── */
@media only screen and (max-width: 48em) {
    .tpe-page-title  { font-size: 1.8rem; }
    .tpe-cta-strip .row { text-align: center; }
    .tpe-contact-info-item { flex-direction: column; gap: 10px; }
}

/* ── H1 hero heading reset (SEO fix — wraps ux_text hero in <h1>) ── */
.text .pr-hero-h1 {
    font-size: inherit;
    font-weight: inherit;
    line-height: inherit;
    color: inherit;
    margin: 0;
    padding: 0;
}
/* ═══════════════════════════════════════════════════════════
   Tarik Pham Estates — Brand CSS  (Flatsome child override)
   ═══════════════════════════════════════════════════════════ */

/* ── Google Fonts ── */
@import url('https://fonts.googleapis.com/css2?family=Source+Serif+4:ital,opsz,wght@0,8..60,400;0,8..60,600;0,8..60,700;1,8..60,400&family=Poppins:wght@400;500;600;700&display=swap');

/* ── CSS Variables ── */
:root {
    --pr-red:      #FF4853;
    --pr-charcoal: #373D40;
    --pr-cream:    #ECE7DC;
    --pr-grey:     #6b7280;
    --pr-white:    #ffffff;
    --pr-font-heading: 'Source Serif 4', Georgia, serif;
    --pr-font-body:    'Poppins', system-ui, -apple-system, sans-serif;
}

/* ── Typography ── */
body,
.body-font,
p,
input,
textarea,
select,
button {
    font-family: var(--pr-font-body);
}

h1, h2, h3, h4, h5, h6,
.heading-font,
.ux-html h1, .ux-html h2, .ux-html h3 {
    font-family: var(--pr-font-heading);
}

/* ── Brand Colours — Flatsome overrides ── */

/* Primary / Accent colour → Ruby Red */
:root {
    --color-primary: var(--pr-red);
    --color-primary-dark: #e53e48;
}

a { color: var(--pr-red); }
a:hover { color: #e53e48; }

.button,
.button.primary,
.button.outline.primary,
input[type=submit],
button[type=submit] {
    background-color: var(--pr-red);
    border-color: var(--pr-red);
    color: #fff;
    font-family: var(--pr-font-body);
    font-weight: 600;
    letter-spacing: .3px;
}
.button:hover,
.button.primary:hover,
input[type=submit]:hover,
button[type=submit]:hover {
    background-color: #e53e48;
    border-color: #e53e48;
    color: #fff;
}

/* Flatsome nav active/hover */
.nav > li > a:hover,
.nav > li.active > a,
.nav > li.current-menu-item > a,
.nav > li.current-menu-ancestor > a {
    color: var(--pr-red) !important;
}

/* Header */
#header {
    background: var(--pr-charcoal);
}
#header .nav-dark > li > a,
#header .header-button a {
    color: #fff;
}
#header .nav-dark > li > a:hover {
    color: var(--pr-cream) !important;
}

/* Header top bar (if used) */
.header-top-bar {
    background: var(--pr-red);
    color: #fff;
}

/* Logo text fallback */
.logo-text {
    font-family: var(--pr-font-heading);
    color: #fff;
    font-size: 1.4rem;
    font-weight: 700;
    letter-spacing: -.3px;
}

/* ── Flatsome UX Builder section overrides ── */

/* Section background utility classes */
.bg-charcoal { background: var(--pr-charcoal); }
.bg-cream    { background: var(--pr-cream); }
.bg-red      { background: var(--pr-red); }

/* Hero section */
.section.is-hero {
    min-height: 520px;
}

/* ── Utility ── */
.text-red      { color: var(--pr-red); }
.text-charcoal { color: var(--pr-charcoal); }

/* ── Footer ── */
.footer-1,
.footer-2 {
    background: var(--pr-charcoal);
    color: rgba(255,255,255,.8);
}
.footer-1 a,
.footer-2 a {
    color: rgba(255,255,255,.75);
}
.footer-1 a:hover,
.footer-2 a:hover {
    color: var(--pr-red);
}
.footer-1 h3,
.footer-1 .widget-title {
    color: #fff;
    font-family: var(--pr-font-heading);
    font-size: 1rem;
    letter-spacing: .5px;
}
.absolute-footer {
    background: #222627;
    color: rgba(255,255,255,.5);
    font-size: .8rem;
}

/* ── Responsive ── */
@media (max-width: 768px) {
    .section.is-hero { min-height: 340px; }
}

/* ══════════════════════════════════════════
   FORM & BUTTON GLOBAL STYLES
   Matching reference: professionalscabramatta.com.au
   ══════════════════════════════════════════ */

/* ── CF7 Form Wrapper ── */
.cf7-form-wrap {
    font-family: var(--pr-font-body, 'Poppins', sans-serif);
}
.cf7-section {
    margin-bottom: 32px;
}
.cf7-section-title {
    font-size: 1rem;
    font-weight: 700;
    color: var(--pr-charcoal, #373D40);
    text-transform: uppercase;
    letter-spacing: .8px;
    padding: 10px 0;
    border-bottom: 2px solid var(--pr-red, #FF4853);
    margin: 0 0 20px 0;
}
.cf7-two-col {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
}
@media (max-width: 640px) {
    .cf7-two-col { grid-template-columns: 1fr; }
}
.cf7-field-wrap {
    margin-bottom: 16px;
}
.cf7-label {
    display: block;
    font-size: .8rem;
    font-weight: 600;
    color: #444;
    margin-bottom: 6px;
    text-transform: uppercase;
    letter-spacing: .4px;
}
.cf7-label abbr {
    color: var(--pr-red, #FF4853);
    text-decoration: none;
}

/* ── All CF7 Inputs / Selects / Textareas ── */
.wpcf7 input[type="text"],
.wpcf7 input[type="email"],
.wpcf7 input[type="tel"],
.wpcf7 input[type="url"],
.wpcf7 input[type="number"],
.wpcf7 input[type="password"],
.wpcf7 select,
.wpcf7 textarea {
    width: 100%;
    padding: 5px 14px;
    border: 1.5px solid #d0d0d0;
    border-radius: 25px;
    height: 50px;
    font-size: .95rem;
    font-family: inherit;
    color: var(--pr-charcoal, #373D40);
    background: #fff;
    transition: border-color .2s, box-shadow .2s;
    box-sizing: border-box;
    -webkit-appearance: none;
    appearance: none;
}
.wpcf7 input:focus,
.wpcf7 select:focus,
.wpcf7 textarea:focus {
    outline: none;
    border-color: var(--pr-charcoal, #373D40);
    box-shadow: 0 0 0 3px rgba(55,61,64,.12);
}
.wpcf7 select {
    background-repeat: no-repeat;
    background-position: right 12px center;
    padding-right: 36px;
    cursor: pointer;
}
.wpcf7 textarea {
    min-height: 120px;
    resize: vertical;
}

/* ── CF7 Labels (native) ── */
.wpcf7 label {
    display: block;
    font-size: .82rem;
    font-weight: 600;
    color: #444;
    margin-bottom: 6px;
    text-transform: uppercase;
    letter-spacing: .4px;
}
.wpcf7 span.wpcf7-form-control-wrap {
    display: block;
    margin-top: 4px;
	margin-right: 10px;
}

/* ── CF7 Submit Button ── */
.wpcf7 input[type="submit"],
.wpcf7 .wpcf7-submit {
    display: inline-block;
    background: #ff4853;
    color: #fff;
    font-family: inherit;
    font-size: .9rem;
    font-weight: 700;
    letter-spacing: .6px;
    text-transform: uppercase;
    padding: 14px 36px;
    border: none;
    border-radius: 99px;
    cursor: pointer;
    transition: background .2s, transform .1s;
    margin-top: 4px;
}
.wpcf7 input[type="submit"]:hover,
.wpcf7 .wpcf7-submit:hover {
    background: #222627;
    transform: translateY(-1px);
}
.wpcf7 input[type="submit"]:active,
.wpcf7 .wpcf7-submit:active {
    transform: translateY(0);
}

/* ── CF7 Validation Messages ── */
.wpcf7-not-valid-tip {
    color: var(--pr-red, #FF4853);
    font-size: .8rem;
    margin-top: 4px;
}
.wpcf7-response-output {
    padding: 12px 16px;
    border-radius: 4px;
    font-size: .9rem;
    margin-top: 16px !important;
    border: none !important;
}
.wpcf7-mail-sent-ok {
    background: #edfaef;
    color: #1a6b2a;
}
.wpcf7-mail-sent-ng,
.wpcf7-aborted {
    background: #fef0f0;
    color: #c0392b;
}
.wpcf7-spam-blocked,
.wpcf7-validation-errors {
    background: #fff8e1;
    color: #7a5c00;
}

/* ── Content Buttons — consistent site-wide ── */
.button.primary,
a.button.primary {
    border-radius: 4px !important;
    font-weight: 700 !important;
    letter-spacing: .5px !important;
    text-transform: uppercase !important;
    font-size: .85rem !important;
}
.button.primary:hover,
a.button.primary:hover {
    transform: translateY(-1px);
    transition: transform .15s;
}

/* ── Hero pill buttons — preserve pill shape ── */
.pr-hero-btn,
a.pr-hero-btn {
    border-radius: 99px !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
    font-size: 1rem !important;
}

/* ══════════════════════════════════════════
   PR ALERT FORM — 2-column pill-input style
   Matches: professionalscabramatta.com.au/register/
   ══════════════════════════════════════════ */

/* ── Container ── */
.pr-alert-form {
    font-family: var(--pr-font-body, 'Poppins', sans-serif);
    font-size: .9rem;
}

/* ── 2-column side-by-side ── */
.pr-alert-cols {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 40px;
    margin-bottom: 28px;
}
@media (max-width: 768px) {
    .pr-alert-cols { grid-template-columns: 1fr; gap: 24px; }
}

/* ── Column title ── */
.pr-alert-col-title {
    font-size: .85rem;
    font-weight: 700;
    color: var(--pr-charcoal, #373D40);
    text-transform: uppercase;
    letter-spacing: .8px;
    margin: 0 0 16px 0;
    padding-bottom: 10px;
    border-bottom: 2px solid #e0e0e0;
}

/* ── Field wrapper ── */
.pr-alert-field {
    margin-bottom: 14px;
}

/* ── Label ── */
.pr-alert-label {
    display: block;
    font-size: .75rem;
    font-weight: 500;
    color: #888;
    margin-bottom: 5px;
    letter-spacing: .2px;
}
.pr-req {
    color: #e74c3c;
    font-weight: 700;
}

/* ── Pill inputs & selects ── */
.pr-alert-form input[type="text"],
.pr-alert-form input[type="email"],
.pr-alert-form input[type="tel"],
.pr-alert-form input[type="url"],
.pr-alert-form input[type="number"],
.pr-alert-form input[type="password"],
.pr-alert-form select,
.pr-alert-form textarea {
    width: 100%;
    padding: 5px 18px;
	height: 50px;
    background: #ededea;
    border: 1.5px solid transparent;
    border-radius: 25px;
    font-size: .88rem;
    font-family: inherit;
    color: var(--pr-charcoal, #373D40);
    outline: none;
    box-sizing: border-box;
    -webkit-appearance: none;
    appearance: none;
    transition: background .2s, border-color .2s;
}
.pr-alert-form input:focus,
.pr-alert-form select:focus,
.pr-alert-form textarea:focus {
    background: #fff;
    border-color: #c5c5c0;
}
.pr-alert-form select {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath fill='%23888' d='M5 6L0 0h10z'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 16px center;
    background-color: #ededea;
    padding-right: 38px;
    cursor: pointer;
}
.pr-alert-form select:focus {
    background-color: #fff;
}

/* ── Sub-2-col within right column ── */
.pr-alert-two-col {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
}

/* ── Submit button — red pill ── */
.pr-alert-form .wpcf7-submit,
.pr-alert-form input[type="submit"] {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    background: #e74c3c;
    color: #fff;
    font-family: inherit;
    font-size: .9rem;
    font-weight: 700;
    letter-spacing: .3px;
    padding: 13px 30px;
    border: none;
    border-radius: 25px;
    cursor: pointer;
    transition: background .2s, transform .1s, box-shadow .2s;
    width: auto;
    margin-top: 4px;
}
.pr-alert-form .wpcf7-submit::after,
.pr-alert-form input[type="submit"]::after {
    content: "→";
    font-size: 1rem;
}
.pr-alert-form .wpcf7-submit:hover,
.pr-alert-form input[type="submit"]:hover {
    background: #c0392b;
    box-shadow: 0 4px 16px rgba(231,76,60,.35);
    transform: translateY(-1px);
}

/* ── Response output ── */
.pr-alert-form .wpcf7-response-output {
    padding: 12px 18px;
    border-radius: 12px;
    font-size: .85rem;
    margin-top: 14px !important;
    border: none !important;
}
.pr-alert-form .wpcf7-mail-sent-ok {
    background: #edfaef;
    color: #1a6b2a;
}
.pr-alert-form .wpcf7-validation-errors,
.pr-alert-form .wpcf7-spam-blocked {
    background: #fff8e1;
    color: #7a5c00;
}
.pr-alert-form .wpcf7-not-valid-tip {
    color: #e74c3c;
    font-size: .75rem;
    margin-top: 4px;
    padding-left: 8px;
}

/* ── Flatsome UX column spacing fix for alert form ── */
.section .pr-alert-form .wpcf7 {
    margin: 0;
}
