/*
 * WP Rankings v2 — migrated custom CSS.
 * Moved verbatim from the Customizer "Additional CSS" (DB: wp_posts custom_css
 * post ID 45204, theme "blockstrap") so it lives in version control and the DB
 * copy can be retired. Enqueued GLOBALLY (every page) to match the Customizer's
 * original scope — moving these rules here renders identically.
 *
 * REMOVED 2026-06-18 after sign-off + logged-out DOM verification (0 occurrences
 * across login, register, account, search, tag, single, trending, home):
 *   - .bsui .fw-normal { ... } and .bsui .fw-normal img { ... }  (V1 listing hack)
 *   - .bsui .pl-4, .bsui .px-4 { ... }                          (BS utility override)
 *   - figure.ratio.ratio-1x1.…rounded-circle.mt-5 { ... }       (old profile avatar)
 * (DB Additional CSS post 45204 retired the same day.)
 *
 * SCOPING NOTE: several rules are intentionally global/unscoped (body, a,
 * .card-body, html/body, .main, .btn-primary). They were already global via the
 * Customizer, so this file changes nothing; tightening their scope is a separate,
 * confirmed step.
 */

/* Listings style */
.geodir-loop-container, .geodir-listings {
    line-height: 1.5;
    color: rgb(88, 102, 126);
    font-size: 14px;
    font-family: Inter,-apple-system,BlinkMacSystemFont,segoe ui,Roboto,Helvetica,Arial,sans-serif;
    line-height: 24px;
}
.aui-nav-links {
    font-size: 12px;
}
/* Logo */
.navbar-brand img {
    max-width: 180px !important;
}
/* buttons */
.bsui .btn-primary {
    border-color: #fff !important;
}
/* Search page header */
.wpr-header-search-numbers section {
    display: none;
}
/* body */
body {
    font-weight: unset;
}
.wp-block-term-description a, .wp-block-term-description a:hover {
    color: white;
}
a {
    text-decoration: none;
}
.tax-gd_place_tags h1 {
    text-transform: capitalize;
}

/* Paolo's custom CSS */
.uwp_page .wpr-v2-hero {
    background: radial-gradient(circle at 15% 12%, rgba(91, 57, 242, 0.13), transparent 30rem), radial-gradient(circle at 92% 22%, rgba(140, 60, 247, 0.08), transparent 32rem), linear-gradient(180deg, #fff 0%, #fbfbff 100%);
}
h3.card-title.text-center.mb-4 {
    display: none;
}
.card-body {
    border: 1px solid #ccc;
    border-radius: 0 10px 10px 0;
}
html, body {
    margin: 0;
    padding: 0;
}
.wp-site-blocks {
    display: flex;
    flex-direction: column;
    min-height: 100vh;
}
.main {
    flex: 1; /* This pushes the footer down */
}
/* Sticky footer on the UsersWP profile page. That page has NO .main element, so the
   .main { flex: 1 } spacer above never applies there and, on short content (1-2
   plugins), the footer floated up mid-page. The footer is a direct child of the
   .wp-site-blocks flex column, so margin-top:auto consumes the leftover space and
   pins it to the bottom of the viewport. On tall profiles there is no leftover space,
   so it sits naturally after the content. Scoped to the profile page so no other
   layout is affected. */
body.uwp_profile_page .wp-site-blocks > .site-footer {
    margin-top: auto;
}
body.uwp_register_page .entry-content, body.uwp_login_page .entry-content {
    max-width: 624px;
    margin: 0 auto;
}
.uwp_login_page figure, .uwp_register_page figure {
    margin: 20px 0 0 0 !important;
    border-radius: 10px 0 0 10px;
}
/* Register/login form card corners — responsive.
   Desktop (>=992px) the card sits flush against the side image, so its LEFT corners
   stay square (0) and only the right corners round. On mobile (<992px) the image is
   hidden/stacked and the card stands alone, so round ALL four corners. Scoped to the
   UsersWP register/login pages so no other .card-body is affected (the global
   .card-body rule above is unchanged for the rest of the site). */
@media (min-width: 992px) {
    body.uwp_register_page .card-body,
    body.uwp_login_page .card-body {
        border-radius: 0 10px 10px 0;
    }
}
@media (max-width: 991.98px) {
    body.uwp_register_page .card-body,
    body.uwp_login_page .card-body {
        border-radius: 10px;
    }
}
.no-margin-left {
    margin-left: -6px;
}
.no-margin-right {
    margin-right: -6px;
}
.uwp_login_page .card-body {
    min-height: 348px;
}
form.uwp-login-form.uwp_form {
    margin-top: 40px;
}
button.btn.btn-primary.w-100.text-uppercase.uwp_login_submit {
    margin-top: 22px;
}
.uwp_widget_account .card, .uwp-profile-header, .uwp-profile-entries .container {
    display: none !important;
}
.uwp_widget_account .uwp_page a.nav-link {
    font-size: 0.8em;
}
.uwp_widget_account .mx-md-2 {
    margin-right: 0rem !important;
    margin-left: 0rem !important;
    border-bottom: 2px solid #fff !important;
}
.uwp-profile-content {
    min-height: 330px;
}
.mb-3.row.aui-conditional-field, #gd_placecategory_row {
    display: none;
}

/* [wpr_vote_count] — vote-premium subscriber counter (big number + label). */
.wpr-v2-votecount {
    text-align: center;
    margin: 0 auto 1.25rem;
    font-family: Inter, -apple-system, BlinkMacSystemFont, "segoe ui", Roboto, Helvetica, Arial, sans-serif;
}
.wpr-v2-votecount-num {
    display: block;
    font-family: Montserrat, -apple-system, BlinkMacSystemFont, "segoe ui", Roboto, Helvetica, Arial, sans-serif;
    font-size: clamp(2.6rem, 6vw, 4rem);
    font-weight: 800;
    line-height: 1.05;
    letter-spacing: -0.02em;
    color: #5b39f2;
}
.wpr-v2-votecount-label {
    display: block;
    margin-top: 0.35rem;
    color: #475467;
    font-size: clamp(0.95rem, 1.4vw, 1.1rem);
    font-weight: 500;
}
.wpr-v2-votecount.is-neutral .wpr-v2-votecount-label {
    color: #667085;
}

/* Narrow vote box (Blockstrap .container + this class) holding the signup form + the
   "what your vote builds" copy. The copy below the form is LEFT-aligned; the form itself
   stays centred via its own flex rules below. */
.wpr-v2-vote-box {
    margin-left: auto;
    margin-right: auto;
    text-align: left;
    padding-top: 2.5rem;
    padding-bottom: 2.5rem;
}
/* Two-class specificity so this beats Bootstrap's responsive .container max-width. */
.wpr-v2-vote-box.container,
.wpr-v2-vote-box.container-fluid {
    max-width: 560px;
}
.wpr-v2-vote-box .ayecode-newsletter-signup-form-1 {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    justify-content: center;
    align-items: center;
    margin-top: 1.25rem;
}
.wpr-v2-vote-box .ayecode-newsletter-signup-form-1 .form-control {
    flex: 1 1 200px;
    max-width: 240px;
}
.wpr-v2-vote-box .ayecode-newsletter-signup-form-1 .btn-primary {
    flex: 0 0 auto;
}

/* Vote form card — white card matching the advertise/contact form cards. The
   .wpr-v2-vote-form-card wrapper is STAMPED AROUND THE FORM AT RENDER TIME by
   WPR_V2_Vote_Count::wrap_vote_form_card (keyed to /vote-premium/ + the form class),
   so it is never stored in post_content and survives any block-editor re-save (§4.1).
   The form inside stays centred via the flex rules above. */
.wpr-v2-vote-form-card {
    margin: 0 auto 1.5rem;
    background: #fff;
    border: 1px solid #eee;
    border-radius: 12px;
    padding: 1.5rem;
    box-shadow: 0 10px 30px rgba(16, 24, 40, 0.06);
    text-align: center;
}
/* Card padding already provides the top spacing, so drop the form's own top margin. */
.wpr-v2-vote-form-card .ayecode-newsletter-signup-form-1 {
    margin-top: 0;
}

/* /advertise-with-us/ — contact-form column carded. The .wpr-v2-advertise-form-card
   class is STAMPED ONTO THE COLUMN AT RENDER TIME by WPR_V2_Home_Cards::inject_card
   (keyed on the column holding the contact widget), so it is never stored in
   post_content and SURVIVES any block-editor re-save (§4.1). The card does not depend
   on the page's markup/heading structure. At <lg the column is full-width and stacks
   below the copy. */
.wpr-v2-advertise-form-card {
    align-self: start; /* card hugs its content height instead of stretching to the copy column */
    background: #fff;
    border: 1px solid #eee;
    border-radius: 12px;
    padding: 1.5rem;
    box-shadow: 0 10px 30px rgba(16, 24, 40, 0.06);
    font-family: Inter, -apple-system, BlinkMacSystemFont, "segoe ui", Roboto, Helvetica, Arial, sans-serif;
    text-align: center; /* center the heading + (with the form rules below) the form block */
}
/* Heading (the editable "Get in touch" block). Keyed on the class AND, as a fallback,
   the card's first heading — so it stays styled even if the class is edited away. */
.wpr-v2-advertise-form-card .wpr-v2-advertise-form-title,
.wpr-v2-advertise-form-card > .wp-block-heading:first-child {
    margin: 0 0 1.25rem;
    font-family: Montserrat, -apple-system, BlinkMacSystemFont, "segoe ui", Roboto, Helvetica, Arial, sans-serif;
    font-size: clamp(1.3rem, 2vw, 1.6rem);
    font-weight: 800;
    letter-spacing: -0.01em;
    line-height: 1.2;
    color: #111827;
}
/* Center the form block within the card, with comfortable side padding, so the
   inputs / heading / Send button are balanced (not left-aligned in the wrapper). */
.wpr-v2-advertise-form-card form {
    max-width: 26rem;
    margin-left: auto;
    margin-right: auto;
}
/* Inputs fill the centered form; keep their text/placeholder left-aligned (centered
   field text reads oddly), overriding the card's text-align:center. */
.wpr-v2-advertise-form-card .form-control {
    width: 100%;
    text-align: left;
}
.wpr-v2-advertise-form-card form > .mb-3 {
    margin-bottom: 1rem !important;
}

@media (max-width: 991.98px) {
    /* Stacked below the copy on mobile: full-width card, a little top gap. */
    .wpr-v2-advertise-form-card {
        margin-top: 1rem;
    }
}
