/* ═══════════════════════════════════════════════════════════════════════════
   Boss Agency — Theme Stylesheet
   ═══════════════════════════════════════════════════════════════════════════ */

/* ─── Brand Color Utilities ──────────────────────────────────────────────────
   These replicate all custom Tailwind color classes used across the templates.
   They load via boss.css and are guaranteed to apply regardless of whether
   the Tailwind CDN successfully reads the theme config.
   ──────────────────────────────────────────────────────────────────────────── */

/* Font families */
.font-serif { font-family: 'Playfair Display', Georgia, serif; }
.font-sans  { font-family: 'DM Sans', system-ui, sans-serif; }

/* Background — solids */
.bg-deep      { background-color: #1a2634; }
.bg-navy      { background-color: #2C3E50; }
.bg-pink      { background-color: #FB2B84; }
.bg-pink-light { background-color: #FCBAD3; }
.bg-cream     { background-color: #FAF8F5; }
.bg-warm      { background-color: #F3EDE7; }
.bg-taupe     { background-color: #E8E0D8; }
.bg-gold      { background-color: #C9A87C; }
.bg-whatsapp  { background-color: #25D366; }
.bg-blue      { background-color: #1A8CFF; }

/* Background — with opacity */
.bg-deep\/80      { background-color: rgba(26,38,52,0.80); }
.bg-deep\/85      { background-color: rgba(26,38,52,0.85); }
.bg-blue\/10      { background-color: rgba(26,140,255,0.10); }
.bg-blue\/20      { background-color: rgba(26,140,255,0.20); }
.bg-blue\/90      { background-color: rgba(26,140,255,0.90); }
.bg-pink\/10      { background-color: rgba(251,43,132,0.10); }
.bg-pink\/20      { background-color: rgba(251,43,132,0.20); }
.bg-pink-light\/30 { background-color: rgba(252,186,211,0.30); }
.bg-gold\/15      { background-color: rgba(201,168,124,0.15); }
.bg-gold\/20      { background-color: rgba(201,168,124,0.20); }
.bg-taupe\/40     { background-color: rgba(232,224,216,0.40); }
.bg-taupe\/50     { background-color: rgba(232,224,216,0.50); }
.bg-taupe\/60     { background-color: rgba(232,224,216,0.60); }
.bg-heading\/5    { background-color: rgba(45,52,54,0.05); }
.bg-whatsapp\/10  { background-color: rgba(37,211,102,0.10); }

/* Text — solids */
.text-deep      { color: #1a2634; }
.text-navy      { color: #2C3E50; }
.text-pink      { color: #FB2B84; }
.text-pink-light { color: #FCBAD3; }
.text-blue      { color: #1A8CFF; }
.text-blue-light { color: #B3D9FF; }
.text-cream     { color: #FAF8F5; }
.text-warm      { color: #F3EDE7; }
.text-taupe     { color: #E8E0D8; }
.text-gold      { color: #C9A87C; }
.text-heading   { color: #2d3436; }
.text-body      { color: #636e72; }
.text-whatsapp  { color: #25D366; }

/* Text — with opacity */
.text-body\/15  { color: rgba(99,110,114,0.15); }
.text-body\/30  { color: rgba(99,110,114,0.30); }
.text-body\/40  { color: rgba(99,110,114,0.40); }
.text-body\/50  { color: rgba(99,110,114,0.50); }
.text-body\/60  { color: rgba(99,110,114,0.60); }
.text-gold\/30  { color: rgba(201,168,124,0.30); }

/* Border — solids */
.border-deep    { border-color: #1a2634; }
.border-pink    { border-color: #FB2B84; }
.border-gold    { border-color: #C9A87C; }
.border-taupe   { border-color: #E8E0D8; }
.border-blue    { border-color: #1A8CFF; }
.border-cream   { border-color: #FAF8F5; }

/* Border — with opacity */
.border-blue\/20   { border-color: rgba(26,140,255,0.20); }
.border-gold\/30   { border-color: rgba(201,168,124,0.30); }
.border-taupe\/20  { border-color: rgba(232,224,216,0.20); }
.border-taupe\/30  { border-color: rgba(232,224,216,0.30); }
.border-taupe\/40  { border-color: rgba(232,224,216,0.40); }
.border-taupe\/50  { border-color: rgba(232,224,216,0.50); }
.border-taupe\/60  { border-color: rgba(232,224,216,0.60); }

/* Gradient direction fallbacks (standard Tailwind but included for safety) */
.bg-gradient-to-r  { background-image: linear-gradient(to right,  var(--tw-gradient-stops, transparent)); }
.bg-gradient-to-l  { background-image: linear-gradient(to left,   var(--tw-gradient-stops, transparent)); }
.bg-gradient-to-t  { background-image: linear-gradient(to top,    var(--tw-gradient-stops, transparent)); }
.bg-gradient-to-b  { background-image: linear-gradient(to bottom, var(--tw-gradient-stops, transparent)); }
.bg-gradient-to-br { background-image: linear-gradient(to bottom right, var(--tw-gradient-stops, transparent)); }
.bg-gradient-to-bl { background-image: linear-gradient(to bottom left,  var(--tw-gradient-stops, transparent)); }
.bg-gradient-to-tr { background-image: linear-gradient(to top right,    var(--tw-gradient-stops, transparent)); }
.bg-gradient-to-tl { background-image: linear-gradient(to top left,     var(--tw-gradient-stops, transparent)); }

/* Gradient FROM — custom colors (defined before VIA so VIA can override --tw-gradient-stops) */
.from-deep\/60 { --tw-gradient-from: rgba(26,38,52,0.60); --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(26,38,52,0)); }
.from-deep\/70 { --tw-gradient-from: rgba(26,38,52,0.70); --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(26,38,52,0)); }
.from-deep\/90 { --tw-gradient-from: rgba(26,38,52,0.90); --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(26,38,52,0)); }
.from-deep\/95 { --tw-gradient-from: rgba(26,38,52,0.95); --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(26,38,52,0)); }
.from-warm     { --tw-gradient-from: #F3EDE7;             --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(243,237,231,0)); }
.from-cream\/95 { --tw-gradient-from: rgba(250,248,245,0.95); --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(250,248,245,0)); }

/* Gradient VIA — custom colors (defined after FROM so they win the --tw-gradient-stops cascade) */
.via-deep\/50  { --tw-gradient-stops: var(--tw-gradient-from, rgba(26,38,52,0)), rgba(26,38,52,0.50), var(--tw-gradient-to, rgba(26,38,52,0)); }
.via-deep\/70  { --tw-gradient-stops: var(--tw-gradient-from, rgba(26,38,52,0)), rgba(26,38,52,0.70), var(--tw-gradient-to, rgba(26,38,52,0)); }
.via-deep\/80  { --tw-gradient-stops: var(--tw-gradient-from, rgba(26,38,52,0)), rgba(26,38,52,0.80), var(--tw-gradient-to, rgba(26,38,52,0)); }
.via-deep\/85  { --tw-gradient-stops: var(--tw-gradient-from, rgba(26,38,52,0)), rgba(26,38,52,0.85), var(--tw-gradient-to, rgba(26,38,52,0)); }
.via-cream\/85 { --tw-gradient-stops: var(--tw-gradient-from, rgba(250,248,245,0)), rgba(250,248,245,0.85), var(--tw-gradient-to, rgba(250,248,245,0)); }

/* Gradient TO — custom colors */
.to-cream      { --tw-gradient-to: #FAF8F5; }
.to-taupe      { --tw-gradient-to: #E8E0D8; }
.to-deep\/20   { --tw-gradient-to: rgba(26,38,52,0.20); }
.to-deep\/30   { --tw-gradient-to: rgba(26,38,52,0.30); }
.to-deep\/40   { --tw-gradient-to: rgba(26,38,52,0.40); }
.to-deep\/50   { --tw-gradient-to: rgba(26,38,52,0.50); }

/* ─── Reset & Base ──────────────────────────────────────────────────────── */

*, *::before, *::after { box-sizing: border-box; }
* { margin: 0; padding: 0; }
html { scroll-behavior: smooth; overflow-x: hidden; }
body { font-family: 'DM Sans', system-ui, sans-serif; color: #636e72; overflow-x: hidden; -webkit-font-smoothing: antialiased; }
img { max-width: 100%; height: auto; display: block; }
a { text-decoration: none; }

/* ─── Nav ───────────────────────────────────────────────────────────────── */

.nav-scrolled { background: rgba(255,255,255,0.97) !important; backdrop-filter: blur(20px); box-shadow: 0 1px 30px rgba(0,0,0,0.06); }
.nav-scrolled .nav-link { color: #2d3436 !important; }
.nav-scrolled .nav-logo { color: #2d3436 !important; }
.nav-scrolled #mobileMenuBtn { color: #2d3436 !important; }

/* ─── Buttons ───────────────────────────────────────────────────────────── */

.btn-primary {
    background: #FB2B84;
    color: #fff;
    padding: 14px 32px;
    border-radius: 100px;
    font-weight: 500;
    font-size: 0.9rem;
    letter-spacing: 0.02em;
    transition: background 0.3s ease, transform 0.3s ease, box-shadow 0.3s ease;
    display: inline-block;
    text-decoration: none;
    border: none;
    cursor: pointer;
}
.btn-primary:hover { background: #e0206f; transform: translateY(-2px); box-shadow: 0 8px 30px rgba(251,43,132,0.25); color: #fff; }

.btn-outline {
    border: 1.5px solid #2d3436;
    color: #2d3436;
    padding: 14px 32px;
    border-radius: 100px;
    font-weight: 500;
    font-size: 0.9rem;
    letter-spacing: 0.02em;
    transition: background 0.3s ease, color 0.3s ease, transform 0.3s ease;
    display: inline-block;
    text-decoration: none;
}
.btn-outline:hover { background: #2d3436; color: #fff; transform: translateY(-2px); }

.btn-outline-white {
    border: 1.5px solid rgba(255,255,255,0.5);
    color: #fff;
    padding: 14px 32px;
    border-radius: 100px;
    font-weight: 500;
    font-size: 0.9rem;
    letter-spacing: 0.02em;
    transition: background 0.3s ease, border-color 0.3s ease, transform 0.3s ease;
    display: inline-block;
    text-decoration: none;
}
.btn-outline-white:hover { background: rgba(255,255,255,0.1); border-color: rgba(255,255,255,0.8); transform: translateY(-2px); color: #fff; }

/* ─── Accent Lines ──────────────────────────────────────────────────────── */

.gold-line  { width: 48px; height: 2px; background: #C9A87C; }
.blue-line  { width: 48px; height: 2px; background: #1A8CFF; }
.pink-line  { width: 48px; height: 2px; background: #FB2B84; }

.pink-underline {
    background-image: linear-gradient(to right, #FB2B84, #FB2B84);
    background-size: 100% 2px;
    background-position: 0 100%;
    background-repeat: no-repeat;
    padding-bottom: 2px;
}
.blue-underline {
    background-image: linear-gradient(to right, #1A8CFF, #1A8CFF);
    background-size: 100% 2px;
    background-position: 0 100%;
    background-repeat: no-repeat;
    padding-bottom: 2px;
}
.gold-underline {
    background-image: linear-gradient(to right, #C9A87C, #C9A87C);
    background-size: 100% 2px;
    background-position: 0 100%;
    background-repeat: no-repeat;
    padding-bottom: 2px;
}

/* ─── Images ────────────────────────────────────────────────────────────── */

.img-editorial { object-fit: cover; transition: transform 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94); }
.img-editorial:hover { transform: scale(1.03); }

/* ─── Pricing Cards ─────────────────────────────────────────────────────── */

.pricing-card { transition: transform 0.4s ease, box-shadow 0.4s ease; }
.pricing-card:hover { transform: translateY(-6px); box-shadow: 0 20px 60px rgba(0,0,0,0.08); }

/* ─── Contact Cards ─────────────────────────────────────────────────────── */

.contact-card { transition: transform 0.4s ease, box-shadow 0.4s ease; }
.contact-card:hover { transform: translateY(-4px); box-shadow: 0 16px 48px rgba(0,0,0,0.06); }

/* ─── Service Lists ─────────────────────────────────────────────────────── */

.service-list li { position: relative; padding-left: 1.25rem; }
.service-list li::before {
    content: '';
    position: absolute;
    left: 0; top: 0.6em;
    width: 6px; height: 6px;
    border-radius: 50%;
    background: #C9A87C;
}

.blue-list li { position: relative; padding-left: 1.25rem; }
.blue-list li::before {
    content: '';
    position: absolute;
    left: 0; top: 0.6em;
    width: 6px; height: 6px;
    border-radius: 50%;
    background: #1A8CFF;
}

.pink-list li { position: relative; padding-left: 1.25rem; }
.pink-list li::before {
    content: '';
    position: absolute;
    left: 0; top: 0.6em;
    width: 6px; height: 6px;
    border-radius: 50%;
    background: #FB2B84;
}

/* ─── FAQ Accordion ─────────────────────────────────────────────────────── */

.faq-answer {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.4s ease, padding 0.3s ease;
}
.faq-answer.open { max-height: 800px; }

.faq-chevron { transition: transform 0.3s ease; }
.faq-item.open .faq-chevron { transform: rotate(180deg); }

/* ─── Form Inputs ───────────────────────────────────────────────────────── */

.boss-input {
    width: 100%;
    background: #FAF8F5;
    border: 1px solid rgba(232,224,216,0.6);
    border-radius: 12px;
    padding: 12px 16px;
    font-size: 0.875rem;
    color: #2d3436;
    outline: none;
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
    font-family: 'DM Sans', system-ui, sans-serif;
}
.boss-input::placeholder { color: rgba(99,110,114,0.4); }
.boss-input:focus { border-color: #FB2B84; box-shadow: 0 0 0 3px rgba(251,43,132,0.08); }

/* ─── Stats Strip ───────────────────────────────────────────────────────── */

.stats-strip { background: #1a2634; }

/* ─── Step Numbers ──────────────────────────────────────────────────────── */

.step-number {
    width: 48px; height: 48px;
    border-radius: 50%;
    display: flex; align-items: center; justify-content: center;
    font-weight: 700; font-size: 1rem;
    flex-shrink: 0;
}

/* ─── Testimonial Cards ─────────────────────────────────────────────────── */

.testimonial-card { transition: transform 0.3s ease, box-shadow 0.3s ease; }
.testimonial-card:hover { transform: translateY(-4px); box-shadow: 0 16px 40px rgba(0,0,0,0.06); }

/* ─── Gravity Forms — Full Custom Styles (GF own CSS is disabled) ────────── */

/* Honeypot — always hidden */
.gform_wrapper .gform_validation_container,
.gform_wrapper .gfield--type-honeypot { display: none !important; }

/* Wrapper reset */
.gform_wrapper { font-family: 'DM Sans', system-ui, sans-serif !important; }
.gform_wrapper *,
.gform_wrapper *::before,
.gform_wrapper *::after { box-sizing: border-box !important; }

/* Field list */
.gform_wrapper .gform_body .gform_fields {
    display: flex !important;
    flex-direction: column !important;
    gap: 24px !important;
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
}
.gform_wrapper .gfield {
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
}

/* Labels */
.gform_wrapper .gfield_label,
.gform_wrapper .gform-field-label {
    display: block !important;
    font-size: 0.72rem !important;
    font-weight: 600 !important;
    color: #2d3436 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.1em !important;
    margin-bottom: 8px !important;
    font-family: 'DM Sans', system-ui, sans-serif !important;
}
/* "(Required)" text — hide the verbose text, keep the asterisk-style marker */
.gform_wrapper .gfield_required { display: none !important; }

/* Field descriptions */
.gform_wrapper .gfield_description {
    font-size: 0.8rem !important;
    color: #9a9a9a !important;
    margin-top: 6px !important;
    line-height: 1.5 !important;
}

/* ginput_container — ensure full width block */
.gform_wrapper .ginput_container { display: block !important; width: 100% !important; }

/* ── Inputs & Textarea ── */
.gform_wrapper input[type="text"],
.gform_wrapper input[type="email"],
.gform_wrapper input[type="tel"],
.gform_wrapper input[type="number"],
.gform_wrapper input[type="url"],
.gform_wrapper input[type="password"] {
    display: block !important;
    width: 100% !important;
    background: #FAF8F5 !important;
    border: 1.5px solid #E8E0D8 !important;
    border-radius: 12px !important;
    padding: 13px 16px !important;
    font-size: 0.9rem !important;
    line-height: 1.5 !important;
    color: #2d3436 !important;
    font-family: 'DM Sans', system-ui, sans-serif !important;
    outline: none !important;
    transition: border-color 0.2s ease, box-shadow 0.2s ease, background 0.2s ease !important;
    -webkit-appearance: none !important;
    appearance: none !important;
}
.gform_wrapper textarea {
    display: block !important;
    width: 100% !important;
    background: #FAF8F5 !important;
    border: 1.5px solid #E8E0D8 !important;
    border-radius: 12px !important;
    padding: 13px 16px !important;
    font-size: 0.9rem !important;
    line-height: 1.5 !important;
    color: #2d3436 !important;
    font-family: 'DM Sans', system-ui, sans-serif !important;
    outline: none !important;
    transition: border-color 0.2s ease, box-shadow 0.2s ease, background 0.2s ease !important;
    min-height: 130px !important;
    resize: vertical !important;
    -webkit-appearance: none !important;
    appearance: none !important;
}

/* ── Select ── */
.gform_wrapper select {
    display: block !important;
    width: 100% !important;
    background-color: #FAF8F5 !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23888' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: right 14px center !important;
    background-size: 14px !important;
    border: 1.5px solid #E8E0D8 !important;
    border-radius: 12px !important;
    padding: 13px 40px 13px 16px !important;
    font-size: 0.9rem !important;
    line-height: 1.5 !important;
    color: #2d3436 !important;
    font-family: 'DM Sans', system-ui, sans-serif !important;
    outline: none !important;
    cursor: pointer !important;
    transition: border-color 0.2s ease, box-shadow 0.2s ease !important;
    -webkit-appearance: none !important;
    -moz-appearance: none !important;
    appearance: none !important;
}
.gform_wrapper select option {
    color: #2d3436 !important;
    background: #ffffff !important;
    font-size: 0.9rem !important;
}

/* ── Placeholders ── */
.gform_wrapper input::placeholder,
.gform_wrapper textarea::placeholder { color: #bbb5af !important; opacity: 1 !important; }

/* ── Focus ── */
.gform_wrapper input[type="text"]:focus,
.gform_wrapper input[type="email"]:focus,
.gform_wrapper input[type="tel"]:focus,
.gform_wrapper input[type="number"]:focus,
.gform_wrapper input[type="url"]:focus,
.gform_wrapper input[type="password"]:focus,
.gform_wrapper select:focus,
.gform_wrapper textarea:focus {
    border-color: #FB2B84 !important;
    background: #fff !important;
    box-shadow: 0 0 0 3px rgba(251,43,132,0.10) !important;
    outline: none !important;
}

/* ── Radio & Checkbox ── */
.gform_wrapper .gfield_radio,
.gform_wrapper .gfield_checkbox {
    display: flex !important;
    flex-direction: column !important;
    gap: 10px !important;
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
}
.gform_wrapper .gfield_radio li,
.gform_wrapper .gfield_checkbox li {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    list-style: none !important;
}
.gform_wrapper .gfield_radio input[type="radio"],
.gform_wrapper .gfield_checkbox input[type="checkbox"] {
    width: 18px !important;
    height: 18px !important;
    min-width: 18px !important;
    margin: 0 !important;
    accent-color: #FB2B84 !important;
    cursor: pointer !important;
    flex-shrink: 0 !important;
}
.gform_wrapper .gfield_radio label,
.gform_wrapper .gfield_checkbox label {
    font-size: 0.9rem !important;
    font-weight: 400 !important;
    color: #2d3436 !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
    line-height: 1.4 !important;
    cursor: pointer !important;
    margin: 0 !important;
}

/* ── Name / Address complex fields ── */
.gform_wrapper .ginput_complex {
    display: flex !important;
    gap: 16px !important;
    flex-wrap: wrap !important;
}
.gform_wrapper .ginput_complex .ginput_full { width: 100% !important; }
.gform_wrapper .ginput_complex .ginput_left,
.gform_wrapper .ginput_complex .ginput_right { flex: 1 1 calc(50% - 8px) !important; min-width: 120px !important; }
.gform_wrapper .ginput_complex input { margin-bottom: 4px !important; }
.gform_wrapper .ginput_complex .name_first,
.gform_wrapper .ginput_complex .name_last { flex: 1 1 calc(50% - 8px) !important; min-width: 120px !important; }
.gform_wrapper .ginput_complex label {
    font-size: 0.7rem !important;
    color: #9a9a9a !important;
    text-transform: uppercase !important;
    letter-spacing: 0.07em !important;
    margin-top: 5px !important;
    display: block !important;
}

/* ── Submit button ── */
.gform_wrapper .gform_footer,
.gform_wrapper .gform_page_footer {
    margin-top: 8px !important;
    padding: 0 !important;
}
.gform_wrapper .gform_footer input[type="submit"],
.gform_wrapper .gform_page_footer input[type="submit"],
.gform_wrapper input[type="submit"] {
    display: block !important;
    width: 100% !important;
    background: #FB2B84 !important;
    color: #fff !important;
    border: none !important;
    border-radius: 100px !important;
    padding: 14px 32px !important;
    font-size: 0.95rem !important;
    font-weight: 500 !important;
    letter-spacing: 0.02em !important;
    font-family: 'DM Sans', system-ui, sans-serif !important;
    cursor: pointer !important;
    transition: background 0.25s ease, transform 0.25s ease, box-shadow 0.25s ease !important;
    -webkit-appearance: none !important;
    appearance: none !important;
}
.gform_wrapper .gform_footer input[type="submit"]:hover,
.gform_wrapper .gform_page_footer input[type="submit"]:hover,
.gform_wrapper input[type="submit"]:hover {
    background: #e0206f !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 8px 20px rgba(251,43,132,0.25) !important;
}

/* ── Validation error banner ── */
.gform_wrapper .gform_validation_errors {
    background: rgba(192,57,43,0.06) !important;
    border: 1px solid rgba(192,57,43,0.25) !important;
    border-radius: 10px !important;
    padding: 16px 20px !important;
    margin-bottom: 24px !important;
    font-family: 'DM Sans', system-ui, sans-serif !important;
}
.gform_wrapper .gform_submission_error {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    font-size: 0.9rem !important;
    font-weight: 600 !important;
    color: #c0392b !important;
    font-family: 'DM Sans', system-ui, sans-serif !important;
    margin: 0 0 10px !important;
}
.gform_wrapper .gform_submission_error .gform-icon {
    width: 18px !important;
    height: 18px !important;
    flex-shrink: 0 !important;
    color: #c0392b !important;
}
.gform_wrapper .gform_validation_errors ol {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 0 0 28px !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 4px !important;
}
.gform_wrapper .gform_validation_errors ol li {
    font-size: 0.82rem !important;
    color: #c0392b !important;
}
.gform_wrapper .gform_validation_error_link {
    color: #c0392b !important;
    text-decoration: underline !important;
    text-underline-offset: 2px !important;
}
.gform_wrapper .gform_validation_error_link:hover {
    color: #a93226 !important;
}
/* Legacy class fallback */
.gform_wrapper .validation_error {
    display: flex !important;
    align-items: flex-start !important;
    gap: 10px !important;
    font-size: 0.875rem !important;
    color: #c0392b !important;
    background: rgba(192,57,43,0.06) !important;
    border: 1px solid rgba(192,57,43,0.2) !important;
    border-radius: 10px !important;
    padding: 12px 16px !important;
    margin-bottom: 20px !important;
    font-family: 'DM Sans', system-ui, sans-serif !important;
}
.gform_wrapper .gfield_error input,
.gform_wrapper .gfield_error select,
.gform_wrapper .gfield_error textarea {
    border-color: #FB2B84 !important;
    background: #fff8fb !important;
}
.gform_wrapper .gfield_error .gfield_label,
.gform_wrapper .gfield_error .gform-field-label { color: #FB2B84 !important; }
.gform_wrapper .gfield_validation_message,
.gform_wrapper .validation_message {
    font-size: 0.78rem !important;
    color: #FB2B84 !important;
    margin-top: 5px !important;
    display: block !important;
}

/* ── Confirmation ── */
.gform_wrapper .gform_confirmation_wrapper {
    text-align: center !important;
    padding: 32px 16px !important;
    font-family: 'DM Sans', system-ui, sans-serif !important;
    color: #2d3436 !important;
    font-size: 1rem !important;
    line-height: 1.6 !important;
}

/* ── AJAX spinner ── */
.gform_wrapper .gform_ajax_spinner { margin-top: 12px !important; }

/* ─── WordPress Body Classes ────────────────────────────────────────────── */

.wp-admin-bar-showing { padding-top: 32px; }
@media (max-width: 782px) { .wp-admin-bar-showing { padding-top: 46px; } }

/* ─── Noise Overlay ─────────────────────────────────────────────────────── */

.noise-overlay { position: relative; }
.noise-overlay::before {
    content: '';
    position: absolute;
    inset: 0;
    opacity: 0.025;
    pointer-events: none;
    background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)'/%3E%3C/svg%3E");
}

/* ─── Blue Button (BossChat brand) ──────────────────────────────────────── */

.btn-blue {
    background: #1A8CFF;
    color: #fff;
    padding: 14px 32px;
    border-radius: 100px;
    font-weight: 500;
    font-size: 0.9rem;
    letter-spacing: 0.02em;
    transition: background 0.3s ease, transform 0.3s ease, box-shadow 0.3s ease;
    display: inline-block;
    text-decoration: none;
    border: none;
    cursor: pointer;
}
.btn-blue:hover { background: #0070E0; transform: translateY(-2px); box-shadow: 0 8px 30px rgba(26,140,255,0.25); color: #fff; }

/* ─── Pain / Solution Lists ─────────────────────────────────────────────── */

.pain-list li { position: relative; padding-left: 2rem; }
.pain-list li::before {
    content: '';
    position: absolute;
    left: 0; top: 0.35em;
    width: 20px; height: 20px;
    border-radius: 50%;
    background: #1A8CFF;
    opacity: 0.1;
}
.pain-list li::after {
    content: '✕';
    position: absolute;
    left: 5px; top: 0.15em;
    color: #1A8CFF;
    font-size: 0.7rem;
    font-weight: 700;
}

.solution-list li { position: relative; padding-left: 2rem; }
.solution-list li::before {
    content: '';
    position: absolute;
    left: 0; top: 0.35em;
    width: 20px; height: 20px;
    border-radius: 50%;
    background: #25D366;
    opacity: 0.15;
}
.solution-list li::after {
    content: '✓';
    position: absolute;
    left: 4.5px; top: 0.1em;
    color: #25D366;
    font-size: 0.75rem;
    font-weight: 700;
}

/* ─── Struck-through text ───────────────────────────────────────────────── */

.struck { text-decoration: line-through; text-decoration-color: #ddd; }

/* ─── Timeline scroll (mobile) ──────────────────────────────────────────── */

.timeline-scroll { scrollbar-width: none; -ms-overflow-style: none; }
.timeline-scroll::-webkit-scrollbar { display: none; }

/* ─── WhatsApp Widget (full animated version) ───────────────────────────── */

.wa-widget { position: fixed; bottom: 28px; right: 28px; z-index: 999; display: flex; align-items: center; gap: 0; }
.wa-widget-bubble {
    width: 60px; height: 60px; border-radius: 50%; background: #25D366;
    display: flex; align-items: center; justify-content: center;
    cursor: pointer; box-shadow: 0 4px 24px rgba(37,211,102,0.4);
    transition: all 0.3s ease; flex-shrink: 0; position: relative; z-index: 2;
}
.wa-widget-bubble:hover { transform: scale(1.08); box-shadow: 0 6px 32px rgba(37,211,102,0.5); }
.wa-widget-bubble svg { width: 30px; height: 30px; fill: white; }
.wa-widget-bubble::before {
    content: ''; position: absolute; inset: -4px; border-radius: 50%;
    background: #25D366; opacity: 0; z-index: -1; animation: waPulse 2.5s ease-out infinite;
}
@keyframes waPulse { 0% { transform: scale(1); opacity: 0.4; } 100% { transform: scale(1.5); opacity: 0; } }
.wa-widget-label {
    background: white; color: #2d3436; font-size: 0.85rem; font-weight: 500;
    padding: 10px 18px; border-radius: 100px; box-shadow: 0 4px 20px rgba(0,0,0,0.1);
    white-space: nowrap; opacity: 0; transform: translateX(12px); pointer-events: none;
    transition: all 0.3s ease; position: absolute; right: 72px;
}
.wa-widget-label::after {
    content: ''; position: absolute; right: -6px; top: 50%; transform: translateY(-50%);
    width: 0; height: 0; border-top: 6px solid transparent; border-bottom: 6px solid transparent; border-left: 6px solid white;
}
.wa-widget:hover .wa-widget-label { opacity: 1; transform: translateX(0); pointer-events: auto; }
@media (max-width: 640px) {
    .wa-widget { bottom: 20px; right: 20px; }
    .wa-widget-bubble { width: 54px; height: 54px; }
    .wa-widget-bubble svg { width: 26px; height: 26px; }
    .wa-widget-label { display: none; }
}

/* ─── Thank You page — particles & check circle ─────────────────────────── */

.particle {
    position: absolute;
    border-radius: 50%;
    opacity: 0.35;
    animation: particleFloat 6s ease-in-out infinite;
    pointer-events: none;
}
@keyframes particleFloat {
    0%, 100% { transform: translateY(0) scale(1); opacity: 0.35; }
    50%       { transform: translateY(-18px) scale(1.1); opacity: 0.55; }
}

.check-circle {
    width: 72px; height: 72px;
    border-radius: 50%;
    background: linear-gradient(135deg, #FB2B84 0%, #e0206f 100%);
    display: flex; align-items: center; justify-content: center;
    box-shadow: 0 8px 32px rgba(251,43,132,0.3);
    animation: checkPop 0.5s cubic-bezier(0.34,1.56,0.64,1) both;
}
.check-circle svg { width: 36px; height: 36px; color: white; }
@keyframes checkPop {
    0%   { transform: scale(0); opacity: 0; }
    100% { transform: scale(1); opacity: 1; }
}

/* ─── Utility ───────────────────────────────────────────────────────────── */

.section-label {
    font-size: 0.75rem;
    font-weight: 500;
    letter-spacing: 0.15em;
    text-transform: uppercase;
}
