/*
 Theme Name:   Astra Child
 Template:     astra
*/

/* ===============================
 * AdSphere – Homepage Layout
 * ============================= */

.adsphere-home-wrapper {
    max-width: 1280px;
    margin: 0 auto;
    padding: 40px 16px 80px;
    background: #ffffff;
}

/* ---------------------------------
 * HERO (blue panel + big sofa)
 * -------------------------------- */

.adsphere-hero {
    padding: 56px 32px;
    border-radius: 24px;
    background: linear-gradient(135deg, #1f5fd9 0%, #3b82f6 40%, #60a5fa 100%);
    color: #f9fafb;
    margin-bottom: 48px;
    text-align: left;
}

.adsphere-hero-inner {
    display: flex;
    flex-wrap: wrap;
    gap: 32px;
    align-items: center;
    justify-content: space-between;
}

.adsphere-hero-copy {
    flex: 1 1 360px;
}

.adsphere-hero-kicker {
    font-size: 0.8rem;
    text-transform: uppercase;
    letter-spacing: 0.18em;
    opacity: 0.85;
    margin: 0 0 6px;
}

.adsphere-hero-title {
    font-size: 2.6rem;
    line-height: 1.15;
    margin-bottom: 10px;
}

.adsphere-hero-title span {
    color: #a5b4fc;
}

.adsphere-hero-subtitle {
    font-size: 1.02rem;
    margin-bottom: 22px;
    max-width: 520px;
}

.adsphere-hero-ctas {
    display: flex;
    flex-wrap: wrap;
    gap: 12px 16px;
    margin-bottom: 14px;
    align-items: center;
}

.adsphere-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 10px 22px;
    border-radius: 999px;
    font-weight: 600;
    text-decoration: none;
    font-size: 0.95rem;
    border: 1px solid transparent;
    cursor: pointer;
    transition: background 0.15s ease, color 0.15s ease, transform 0.1s ease, box-shadow 0.15s ease;
}

.adsphere-btn-primary {
    background: #ffffff;
    color: #1d4ed8;
    box-shadow: 0 12px 28px rgba(15, 23, 42, 0.35);
}

.adsphere-btn-primary:hover {
    transform: translateY(-1px);
    box-shadow: 0 16px 34px rgba(15, 23, 42, 0.45);
}

.adsphere-btn-outline {
    border-color: rgba(229, 231, 235, 0.85);
    color: #e5e7eb;
    background: transparent;
}

.adsphere-btn-outline:hover {
    background: rgba(15, 23, 42, 0.25);
}

.adsphere-hero-link {
    font-size: 0.9rem;
    text-decoration: underline;
}

.adsphere-hero-points {
    list-style: none;
    padding: 0;
    margin: 12px 0 0;
    font-size: 0.92rem;
}

.adsphere-hero-points li::before {
    content: "• ";
    color: #a5b4fc;
}

/* HERO IMAGE – make sofa big like the mockup */

.adsphere-hero-side {
    flex: 1 1 380px;
    display: flex;
    justify-content: flex-end;
    align-items: center;
}

.adsphere-hero-img {
    max-width: 480px;
    width: 100%;
    height: auto;
    display: block;
    border-radius: 18px;
    filter: drop-shadow(0 24px 40px rgba(15, 23, 42, 0.55));

    /* Smooth entrance animation on each page load */
    opacity: 0;
    transform: translateY(12px) scale(0.98);
    animation: adsphereHeroFadeIn 0.7s ease-out forwards;
}

/* -------------------------
 * SECTIONS (white background)
 * ------------------------- */

.adsphere-section {
    margin-bottom: 48px;
}

.adsphere-section-header {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    margin-bottom: 20px;
}

.adsphere-section-header h2 {
    font-size: 1.5rem;
    margin: 0;
    color: #111827;
}

.adsphere-section-link {
    font-size: 0.9rem;
    text-decoration: none;
    color: #2563eb;
}

/* Generic listing grid if used elsewhere */
.adsphere-listing-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
    gap: 20px;
}

/* ===============================
 * FEATURED LISTINGS – HORIZONTAL
 * ============================= */

.adsphere-card-row {
    display: flex;
    gap: 16px;
    overflow-x: auto;
    padding-bottom: 6px;
    scroll-snap-type: x mandatory;
}

.adsphere-card-row::-webkit-scrollbar {
    height: 6px;
}

.adsphere-card-row::-webkit-scrollbar-thumb {
    background: rgba(148, 163, 184, 0.6);
    border-radius: 999px;
}

.adsphere-card-row-item {
    min-width: 240px;
    max-width: 260px;
    scroll-snap-align: start;
}

/* =========================================
 * THREE COLUMN BAND – LIGHT LIKE MOCKUP
 * ======================================= */

.adsphere-threecol-section {
    background: #f9fafb;
    border-radius: 24px;
    padding: 22px 20px 18px;
    color: #111827;
}

.adsphere-threecol {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 24px;
}

.adsphere-threecol-block h3 {
    font-size: 1.05rem;
    margin: 0 0 10px;
    color: #111827;
}

.adsphere-mini-row {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

/* “Mini” cards reuse listing card but sit on a soft panel */

.adsphere-mini-card {
    background: #ffffff;
    border-radius: 12px;
    padding: 8px;
    border: 1px solid #e5e7eb;
}

.adsphere-mini-card .adsphere-card {
    border: none;
    box-shadow: none;
}

.adsphere-mini-card .adsphere-card-image img {
    height: 120px;
}

/* Community pill list (right column) */

.adsphere-community-pills {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.adsphere-community-pill {
    display: inline-flex;
    align-items: center;
    padding: 6px 12px;
    border-radius: 999px;
    background: #ffffff;
    border: 1px solid #e5e7eb;
    color: #111827;
    font-size: 0.85rem;
    text-decoration: none;
    transition: background 0.15s ease, border-color 0.15s ease, box-shadow 0.15s ease;
}

.adsphere-community-pill:hover {
    background: #f3f4f6;
    border-color: #d1d5db;
    box-shadow: 0 6px 14px rgba(15, 23, 42, 0.06);
}

/* ===========================
 * FEATURED STOREFRONTS ROW
 * =========================== */

.adsphere-storefront-row {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.adsphere-storefront-pill {
    display: inline-flex;
    align-items: center;
    padding: 8px 12px;
    border-radius: 14px;
    background: #f3f4f6;
    border: 1px solid #e5e7eb;
    color: #111827;
    text-decoration: none;
    min-width: 220px;
    gap: 10px;
    transition: background 0.15s ease, border-color 0.15s ease, box-shadow 0.15s ease;
}

.adsphere-storefront-pill:hover {
    background: #ffffff;
    border-color: #d1d5db;
    box-shadow: 0 8px 18px rgba(15, 23, 42, 0.06);
}

.adsphere-storefront-pill-logo {
    width: 40px;
    height: 40px;
    border-radius: 10px;
    overflow: hidden;
    background: #e5e7eb;
    flex-shrink: 0;
}

.adsphere-storefront-pill-logo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.adsphere-storefront-pill-text small {
    display: block;
    font-size: 0.8rem;
    color: #6b7280;
}

/* ======================
 * HOW IT WORKS BLOCK
 * ====================== */

.adsphere-how-it-works {
    background: #f9fafb;
    border-radius: 24px;
    padding: 32px 24px;
}

.adsphere-hiw-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 20px;
    margin-top: 12px;
}

.adsphere-hiw-item {
    background: #ffffff;
    border-radius: 16px;
    padding: 16px 18px;
    box-shadow: 0 1px 4px rgba(15, 23, 42, 0.04);
}

.adsphere-hiw-step {
    display: inline-flex;
    width: 28px;
    height: 28px;
    border-radius: 999px;
    align-items: center;
    justify-content: center;
    background: #2563eb;
    color: #ffffff;
    font-size: 0.85rem;
    margin-bottom: 6px;
}

/* ===============
 * RESPONSIVE – HOME
 * =============== */

@media (max-width: 900px) {
    .adsphere-hero {
        padding: 36px 20px;
    }

    .adsphere-hero-inner {
        flex-direction: column;
        align-items: flex-start;
    }

    .adsphere-hero-title {
        font-size: 2.2rem;
    }

    .adsphere-threecol {
        grid-template-columns: 1fr;
    }

    .adsphere-hero-side {
        width: 100%;
        justify-content: center;
    }

    .adsphere-hero-img {
        max-width: 420px;
    }
}

@media (max-width: 768px) {
    .adsphere-home-wrapper {
        padding: 24px 14px 60px;
    }

    .adsphere-card-row-item {
        min-width: 220px;
    }

    .adsphere-hero-ctas {
        flex-direction: column;
        align-items: stretch;
    }

    .adsphere-btn {
        width: 100%;
        justify-content: center;
    }
}

/* =========================================================
 * SINGLE LISTING PAGE
 * ======================================================= */

.adsphere-single-page {
    background: #f3f4f6;
    padding: 40px 0 60px;
}

.adsphere-single-inner {
    max-width: 1280px;
    margin: 0 auto;
    padding: 0 24px 40px;
}

/* Top headline area */

.adsphere-single-kicker {
    font-size: 0.85rem;
    color: #6b7280;
    margin-bottom: 4px;
}

.adsphere-single-dot {
    margin: 0 6px;
}

.adsphere-single-header {
    margin-bottom: 16px;
}

.adsphere-single-title-block {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.adsphere-single-title {
    margin: 0;
    font-size: 1.8rem;
    color: #111827;
}

.adsphere-single-head-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: center;
    margin-top: 8px;
}

.adsphere-single-warning {
    margin-top: 6px;
}

/* Main two-column layout */

.adsphere-single-layout {
    display: grid;
    grid-template-columns: minmax(0, 2.1fr) minmax(320px, 1fr);
    gap: 24px;
    align-items: flex-start;
}

/* Cards */

.adsphere-single-media-card,
.adsphere-single-body-card,
.adsphere-single-side-card {
    background: #ffffff;
    border-radius: 18px;
    border: 1px solid #e5e7eb;
    box-shadow: 0 10px 30px rgba(15, 23, 42, 0.08);
    padding: 16px 18px;
}

.adsphere-single-media-card {
    padding: 14px;
    margin-bottom: 18px;
}

.adsphere-single-body-card {
    margin-top: 4px;
}

.adsphere-single-body-section + .adsphere-single-body-section {
    border-top: 1px solid #f1f5f9;
    margin-top: 14px;
    padding-top: 14px;
}

/* Main image */

.adsphere-single-main-img {
    border-radius: 14px;
    overflow: hidden;
    background: #e5e7eb;
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 260px;
}

.adsphere-single-img {
    width: 100%;
    height: auto;
    display: block;
    object-fit: cover;
}

.adsphere-single-noimg {
    color: #9ca3af;
    font-size: 0.95rem;
}

/* Body text */

.adsphere-single-body-card h2 {
    margin: 0 0 8px;
    font-size: 1.1rem;
    color: #111827;
}

.adsphere-single-description {
    font-size: 0.96rem;
    color: #374151;
}

/* Owner tools */

.adsphere-single-owner-tools h2 {
    margin-bottom: 10px;
}

.adsphere-single-owner-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.adsphere-owner-form {
    margin: 0;
}

/* Sidebar cards */

.adsphere-single-sidebar {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.adsphere-single-side-card h3 {
    margin: 0 0 8px;
    font-size: 1rem;
    color: #111827;
}

/* Overview list */

.adsphere-single-overview {
    margin: 0;
}

.adsphere-single-overview-row {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    font-size: 0.9rem;
    padding: 4px 0;
}

.adsphere-single-overview-row dt {
    font-weight: 500;
    color: #4b5563;
}

.adsphere-single-overview-row dd {
    margin: 0;
    color: #111827;
}

/* Seller / contact card */

.adsphere-single-seller-line {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 6px;
}

.adsphere-single-avatar img {
    border-radius: 999px;
}

.adsphere-single-contact-name {
    font-weight: 600;
    font-size: 0.95rem;
}

.adsphere-single-contact-sub {
    font-size: 0.8rem;
    color: #6b7280;
}

.adsphere-sl-seller-badges {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin: 6px 0 10px;
}

.adsphere-single-side-chat .adsphere-chat {
    margin-top: 4px;
}

.adsphere-single-side-chat .adsphere-chat-messages {
    max-height: 160px;
    overflow-y: auto;
    border: 1px solid #e5e7eb;
    border-radius: 10px;
    padding: 6px 8px;
    margin-bottom: 6px;
    font-size: 0.86rem;
}

.adsphere-single-side-chat .adsphere-chat-form {
    display: flex;
    gap: 6px;
}

.adsphere-chat-input {
    flex: 1;
    resize: vertical;
}

.adsphere-report-listing.button-link {
    margin-top: 6px;
    font-size: 0.85rem;
}

/* Related listings */

.adsphere-single-related-list {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.adsphere-single-related-item {
    display: flex;
    gap: 10px;
    align-items: center;
}

.adsphere-single-related-thumb {
    width: 56px;
    height: 56px;
    border-radius: 10px;
    overflow: hidden;
    background: #e5e7eb;
    flex-shrink: 0;
}

.adsphere-single-related-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.adsphere-single-related-placeholder {
    width: 100%;
    height: 100%;
    background: #e5e7eb;
}

.adsphere-single-related-meta {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.adsphere-single-related-title {
    font-size: 0.9rem;
    color: #111827;
    text-decoration: none;
}

.adsphere-single-related-title:hover {
    text-decoration: underline;
}

.adsphere-single-related-price {
    font-size: 0.85rem;
    color: #4b5563;
}

/* CTA card */

.adsphere-single-cta-card p {
    font-size: 0.9rem;
    color: #4b5563;
    margin-bottom: 10px;
}

/* Responsive behaviour – single listing */

@media (max-width: 900px) {
    .adsphere-single-layout {
        grid-template-columns: minmax(0, 1fr);
    }

    .adsphere-single-sidebar {
        order: 2;
    }

    .adsphere-single-main {
        order: 1;
    }
}

@media (max-width: 600px) {
    .adsphere-single-inner {
        padding: 0 16px 32px;
    }

    .adsphere-single-title {
        font-size: 1.5rem;
    }
}

/* =========================================================
 * SINGLE STOREFRONT HERO LAYOUT
 * ======================================================= */

.adsphere-storefront-page {
    background: #f3f4f6;
    padding: 32px 0 60px;
}

.adsphere-storefront-hero {
    max-width: 1280px;
    margin: 0 auto 24px;
    background: #ffffff;
    border-radius: 18px;
    overflow: hidden;
    box-shadow: 0 18px 45px rgba(15, 23, 42, 0.08);
}

/* Cover */

.adsphere-storefront-hero-media img,
.adsphere-storefront-hero-placeholder {
    display: block;
    width: 100%;
    height: 260px;
    object-fit: cover;
}

.adsphere-storefront-hero-placeholder {
    background: radial-gradient(circle at top left, #e5e7eb, #d1d5db);
    display: flex;
    align-items: center;
    justify-content: center;
    color: #6b7280;
    font-size: 0.95rem;
}

/* Hero band */

.adsphere-storefront-hero-bar {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 18px 22px 20px;
    gap: 24px;
}

.adsphere-storefront-hero-left {
    display: flex;
    align-items: center;
    gap: 16px;
}

.adsphere-storefront-logo-wrap {
    width: 72px;
    height: 72px;
    border-radius: 999px;
    overflow: hidden;
    background: #e5e7eb;
    flex-shrink: 0;
}

.adsphere-storefront-logo-wrap img,
.adsphere-storefront-logo-wrap .avatar {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.adsphere-storefront-hero-text {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.adsphere-storefront-title {
    font-size: 1.6rem;
    margin: 0;
    color: #111827;
}

.adsphere-storefront-tagline {
    margin: 0;
    font-size: 0.95rem;
    color: #6b7280;
}

.adsphere-storefront-meta-line {
    margin-top: 4px;
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

.adsphere-storefront-meta-pill {
    padding: 4px 10px;
    border-radius: 999px;
    background: #f3f4f6;
    font-size: 0.8rem;
    color: #374151;
}

.adsphere-storefront-pill-verified {
    background: #e0f2fe;
    color: #0369a1;
}

.adsphere-storefront-pill-resident {
    background: #ecfdf5;
    color: #047857;
}

/* Hero right CTA */

.adsphere-storefront-hero-right {
    text-align: right;
}

.adsphere-storefront-chat-cta {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 4px;
}

.adsphere-storefront-chat-note {
    margin: 0;
    font-size: 0.8rem;
    color: #6b7280;
}

/* Body */

.adsphere-storefront-body {
    max-width: 1280px;
    margin: 0 auto;
}

.adsphere-storefront-body-inner {
    display: grid;
    grid-template-columns: minmax(0, 2fr);
    gap: 24px;
}

.adsphere-storefront-about {
    background: #ffffff;
    border-radius: 18px;
    padding: 18px 20px;
    margin-bottom: 20px;
    box-shadow: 0 10px 30px rgba(15, 23, 42, 0.06);
}

.adsphere-storefront-about h2 {
    margin: 0 0 8px;
    font-size: 1.2rem;
}

.adsphere-storefront-description {
    font-size: 0.95rem;
    color: #374151;
}

/* Listings section */

.adsphere-storefront-listings-section {
    background: #ffffff;
    border-radius: 18px;
    padding: 18px 20px 20px;
    box-shadow: 0 10px 30px rgba(15, 23, 42, 0.06);
}

.adsphere-storefront-listings-header {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    margin-bottom: 12px;
}

.adsphere-storefront-listings-header h2 {
    margin: 0;
    font-size: 1.2rem;
}

.adsphere-storefront-listings-count {
    font-size: 0.85rem;
    color: #6b7280;
}

/* Horizontal row of cards */

.adsphere-storefront-listings-row {
    display: flex;
    gap: 16px;
    overflow-x: auto;
    padding-bottom: 6px;
    scroll-snap-type: x mandatory;
}

.adsphere-storefront-listings-row .adsphere-card {
    min-width: 230px;
    max-width: 260px;
    scroll-snap-align: start;
}

/* No listings */

.adsphere-storefront-no-listings {
    margin: 4px 0 0;
    font-size: 0.95rem;
    color: #6b7280;
}

/* Chat panel */

.adsphere-storefront-chat-panel {
    max-width: 1280px;
    margin: 24px auto 0;
    display: none;
}

.adsphere-storefront-chat-open {
    display: block;
}

/* Responsive – storefront */

@media (max-width: 900px) {
    .adsphere-storefront-hero-bar {
        flex-direction: column;
        align-items: flex-start;
    }

    .adsphere-storefront-hero-right {
        width: 100%;
        text-align: left;
    }

    .adsphere-storefront-chat-cta {
        align-items: flex-start;
    }
}

/* =========================================================
 * USER DASHBOARD – MOCKUP STYLE
 * ======================================================= */

.adsphere-dashboard-shell {
    max-width: 1280px;
    margin: 40px auto 60px;
    padding: 0 24px 40px;
    background: #f3f4f6;
    border-radius: 18px;
}

/* Header */

.adsphere-dashboard-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 24px 24px 12px;
    border-bottom: 1px solid #e5e7eb;
    background: #ffffff;
    border-radius: 18px 18px 0 0;
}

.adsphere-dash-header-left {
    display: flex;
    align-items: center;
    gap: 16px;
}

.adsphere-dash-avatar img {
    border-radius: 999px;
}

.adsphere-dash-heading h1 {
    margin: 0;
    font-size: 26px;
    font-weight: 700;
}

.adsphere-dash-heading p {
    margin: 2px 0 0;
    color: #6b7280;
    font-size: 14px;
}

/* Header CTAs */

.adsphere-dash-header-right {
    display: flex;
    gap: 10px;
    align-items: center;
}

.adsphere-dash-cta,
.adsphere-dash-ghost-cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 8px 16px;
    border-radius: 999px;
    font-size: 13px;
    font-weight: 500;
    text-decoration: none;
    border: 1px solid transparent;
    transition: background 0.15s ease, color 0.15s ease, border-color 0.15s ease;
}

.adsphere-dash-cta {
    background: #2563eb;
    color: #ffffff;
    border-color: #2563eb;
}

.adsphere-dash-cta:hover {
    background: #1d4ed8;
    border-color: #1d4ed8;
    color: #ffffff;
}

.adsphere-dash-ghost-cta {
    background: #ffffff;
    color: #111827;
    border-color: #d1d5db;
}

.adsphere-dash-ghost-cta:hover {
    background: #f3f4f6;
}

/* Tabs (My Listings / My Messages / My StoreFront / Profile) */

.adsphere-dash-tabs {
    display: flex;
    gap: 24px;
    padding: 12px 24px 0;
    background: #ffffff;
    border-bottom: 1px solid #e5e7eb;
}

.adsphere-dash-tab-button {
    position: relative;
    padding: 10px 0;
    background: none;
    border: none;
    font-size: 14px;
    color: #6b7280;
    cursor: pointer;
    font-weight: 500;
}

.adsphere-dash-tab-button.is-active {
    color: #111827;
}

.adsphere-dash-tab-button.is-active::after {
    content: '';
    position: absolute;
    left: 0;
    right: 0;
    bottom: -1px;
    height: 2px;
    background: #2563eb;
    border-radius: 999px;
}

/* Tab panels */

.adsphere-dash-tab {
    display: none;
    padding: 24px 24px 32px;
    background: #f3f4f6;
}

.adsphere-dash-tab.is-active {
    display: block;
}

/* Layout: side column + main */

.adsphere-dash-row {
    display: grid;
    grid-template-columns: 280px minmax(0, 1fr);
    gap: 20px;
}

.adsphere-dash-row.single-column {
    grid-template-columns: minmax(0, 1fr);
}

.adsphere-dash-sidecolumn {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

/* Side cards */

.adsphere-dash-sidecard {
    background: #ffffff;
    border-radius: 16px;
    padding: 16px 18px;
    box-shadow: 0 8px 20px rgba(15, 23, 42, 0.04);
}

.adsphere-dash-sidecard h3 {
    margin: 0 0 10px;
    font-size: 14px;
    font-weight: 600;
}

.adsphere-dash-verify-list {
    list-style: none;
    margin: 0 0 12px;
    padding: 0;
    font-size: 13px;
}

.adsphere-dash-verify-list li {
    display: flex;
    justify-content: space-between;
    margin-bottom: 6px;
    color: #4b5563;
}

.adsphere-dash-verify-list li strong {
    color: #111827;
}

.adsphere-dash-side-btn {
    display: inline-flex;
    margin-top: 4px;
    padding: 6px 12px;
    border-radius: 999px;
    background: #2563eb;
    color: #ffffff;
    font-size: 12px;
    text-decoration: none;
}

.adsphere-dash-side-btn:hover {
    background: #1d4ed8;
}

.adsphere-dash-muted {
    font-size: 12px;
    color: #9ca3af;
}

/* Main panel */

.adsphere-dash-main {
    background: #ffffff;
    border-radius: 16px;
    padding: 18px 18px 20px;
    box-shadow: 0 8px 20px rgba(15, 23, 42, 0.04);
}

/* Inner subtabs (Active / Expired / Sold) */

.adsphere-dash-subtabs {
    display: flex;
    gap: 10px;
    margin-bottom: 16px;
}

.adsphere-dash-subtab {
    border: none;
    background: #f3f4f6;
    padding: 6px 12px;
    border-radius: 999px;
    font-size: 13px;
    color: #4b5563;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.adsphere-dash-subtab.is-active {
    background: #2563eb;
    color: #ffffff;
}

.adsphere-pill {
    display: inline-flex;
    min-width: 22px;
    padding: 2px 6px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.2);
    font-size: 11px;
    justify-content: center;
}

/* Listings groups */

.adsphere-dash-listings-group {
    display: none;
}

.adsphere-dash-listings-group.is-active {
    display: block;
}

/* Table styling */

.adsphere-dash-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 13px;
}

.adsphere-dash-table thead {
    background: #f9fafb;
}

.adsphere-dash-table th,
.adsphere-dash-table td {
    padding: 8px 10px;
    border-bottom: 1px solid #e5e7eb;
    text-align: left;
}

.adsphere-dash-table th {
    font-weight: 600;
    color: #4b5563;
}

.adsphere-dash-table tbody tr:hover {
    background: #f9fafb;
}

.adsphere-dash-actions .button.button-small {
    margin-right: 4px;
    margin-bottom: 2px;
}

/* Storefront block inside dashboard */

.adsphere-dash-storefront-card {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 14px 16px;
    border-radius: 14px;
    background: #f9fafb;
    border: 1px solid #e5e7eb;
}

.adsphere-dash-storefront-main h3 {
    margin: 0 0 4px;
    font-size: 16px;
    font-weight: 600;
}

.adsphere-dash-storefront-tagline {
    margin: 0;
    font-size: 13px;
    color: #4b5563;
}

.adsphere-dash-storefront-meta {
    margin: 4px 0 0;
    font-size: 12px;
    color: #6b7280;
}

.adsphere-dash-storefront-actions .button {
    margin-left: 6px;
}

/* Generic text inside dashboard */

.adsphere-dashboard-shell p {
    font-size: 13px;
    line-height: 1.5;
}

/* Responsive – dashboard */

@media (max-width: 800px) {
    .adsphere-dashboard-shell {
        margin: 20px auto 40px;
        padding: 0 12px 24px;
    }

    .adsphere-dashboard-header {
        flex-direction: column;
        align-items: flex-start;
        gap: 12px;
    }

    .adsphere-dash-header-right {
        width: 100%;
        justify-content: flex-start;
        flex-wrap: wrap;
    }

    .adsphere-dash-row {
        grid-template-columns: minmax(0, 1fr);
    }
}

/* =========================================================
 * STOREFRONT OWNER PANEL + ANALYTICS (on single storefront)
 * ======================================================= */

.adsphere-storefront-owner-panel {
    max-width: 1280px;
    margin: 24px auto 0;
    padding: 18px 20px 22px;
    background: #ffffff;
    border-radius: 18px;
    box-shadow: 0 10px 30px rgba(15, 23, 42, 0.06);
}

.adsphere-storefront-owner-panel h2 {
    margin: 0 0 6px;
    font-size: 1.2rem;
}

.adsphere-storefront-owner-note {
    margin: 0 0 14px;
    font-size: 0.86rem;
    color: #6b7280;
}

.adsphere-storefront-dashboard-cards {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
    gap: 16px;
}

.adsphere-sf-card {
    background: #f9fafb;
    border-radius: 14px;
    padding: 14px 16px 16px;
    border: 1px solid #e5e7eb;
}

.adsphere-sf-card h3 {
    margin: 0 0 6px;
    font-size: 0.95rem;
    font-weight: 600;
}

.adsphere-sf-card p {
    margin: 0 0 10px;
    font-size: 0.86rem;
    color: #4b5563;
}

/* Analytics section on storefront (?sf_analytics=1) */

.adsphere-storefront-analytics {
    max-width: 1280px;
    margin: 24px auto 0;
    padding: 18px 20px 22px;
    background: #ffffff;
    border-radius: 18px;
    box-shadow: 0 10px 30px rgba(15, 23, 42, 0.06);
}

.adsphere-storefront-analytics h2 {
    margin: 0 0 10px;
    font-size: 1.2rem;
}

.adsphere-analytics-block {
    margin-top: 10px;
    padding: 12px 14px;
    border-radius: 12px;
    background: #f9fafb;
    border: 1px solid #e5e7eb;
}

.adsphere-analytics-block h3 {
    margin: 0 0 4px;
    font-size: 0.95rem;
    font-weight: 600;
}

.adsphere-analytics-block p {
    margin: 0;
    font-size: 0.86rem;
    color: #4b5563;
}

.adsphere-analytics-block .button {
    margin-top: 6px;
}

/* Responsive – storefront owner panel */

@media (max-width: 800px) {
    .adsphere-storefront-owner-panel,
    .adsphere-storefront-analytics {
        margin: 16px auto 0;
        padding: 16px 14px 18px;
    }
}

/* =========================================================
 * SUBMIT LISTING – 4-STEP WIZARD
 * ======================================================= */

.adsphere-submit-listing {
    max-width: 1280px;
    margin: 0 auto 60px;
    padding: 32px 16px 60px;
}

/* Top instruction + stepper */

.adsphere-submit-shell {
    margin-top: 18px;
}

/* NEW: horizontal instruction boxes at the top (1–4 steps) */
.adsphere-submit-listing .ads-step-overview {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin: 16px 0 10px;
    padding: 0;
    list-style: none;
}

.adsphere-submit-listing .ads-step-overview li {
    flex: 1 1 180px;
    min-width: 0;
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 10px 12px;
    border-radius: 12px;
    border: 1px solid #e5e7eb;
    background: #f9fafb;
    box-shadow: 0 4px 12px rgba(15, 23, 42, 0.03);
    font-size: 0.9rem;
    color: #374151;
}

/* Horizontal step boxes */

.adsphere-submit-steps {
    display: flex;
    gap: 12px;
    list-style: none;
    padding: 0;
    margin: 0 0 24px;
}

.adsphere-submit-steps li {
    flex: 1 1 0;
    background: #f9fafb;
    border-radius: 12px;
    border: 1px solid #e5e7eb;
    padding: 10px 14px;
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 0.9rem;
    color: #6b7280;
    cursor: default;
    box-shadow: 0 1px 3px rgba(15,23,42,0.02);
}

.ads-step-index {
    width: 26px;
    height: 26px;
    border-radius: 999px;
    border: 1px solid #d1d5db;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 0.8rem;
    font-weight: 600;
    background: #ffffff;
    color: #111827;
    flex-shrink: 0;
}

.ads-step-label {
    font-weight: 500;
}

/* Active + complete states */
.adsphere-submit-steps li.is-active {
    border-color: #2563eb;
    background: #eff6ff;
    color: #1d4ed8;
    box-shadow: 0 6px 16px rgba(37,99,235,0.10);
}

.adsphere-submit-steps li.is-active .ads-step-index {
    background: #2563eb;
    color: #ffffff;
    border-color: #2563eb;
}

.adsphere-submit-steps li.is-complete {
    border-color: #22c55e;
}

.adsphere-submit-steps li.is-complete .ads-step-index {
    background: #22c55e;
    border-color: #22c55e;
    color: #ffffff;
}

/* Each step box */

.ads-step-panel {
    display: none;
    background: #ffffff;
    border-radius: 18px;
    border: 1px solid #e5e7eb;
    padding: 24px 22px 20px;
    box-shadow: 0 14px 35px rgba(15,23,42,0.06);
    margin-bottom: 24px;
}

.ads-step-panel.is-active {
    display: block;
}

.ads-step-panel h2 {
    margin: 0 0 4px;
    font-size: 1.5rem;
    color: #111827;
}

.ads-step-subtitle {
    margin: 0 0 18px;
    font-size: 0.95rem;
    color: #6b7280;
}

/* Form fields inside wizard */

.ads-form-group {
    margin-bottom: 16px;
}

.ads-form-group label {
    display: block;
    margin-bottom: 6px;
    font-size: 0.9rem;
    font-weight: 500;
    color: #374151;
}

.ads-form-group input[type="text"],
.ads-form-group input[type="number"],
.ads-form-group input[type="url"],
.ads-form-group select,
.ads-form-group textarea {
    width: 100%;
    border-radius: 10px;
    border: 1px solid #d1d5db;
    padding: 10px 12px;
    font-size: 0.95rem;
    box-shadow: 0 1px 2px rgba(15,23,42,0.02);
}

.ads-form-group textarea {
    min-height: 140px;
}

.ads-form-group input:focus,
.ads-form-group select:focus,
.ads-form-group textarea:focus {
    outline: none;
    border-color: #2563eb;
    box-shadow: 0 0 0 1px rgba(37,99,235,0.35);
}

/* Price row */

.ads-form-group.ads-inline .ads-price-row {
    display: flex;
    align-items: center;
    gap: 12px;
}

.ads-price-row input[type="number"] {
    max-width: 220px;
}

.ads-price-free-label {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 0.9rem;
    color: #4b5563;
}

/* Photo dropzone */

.ads-photo-dropzone {
    border-radius: 18px;
    border: 2px dashed #bfdbfe;
    background: #eff6ff;
    padding: 28px 20px;
    text-align: center;
    margin-bottom: 20px;
}

.ads-photo-drop-inner {
    max-width: 420px;
    margin: 0 auto;
}

.ads-photo-icon {
    font-size: 2rem;
    margin-bottom: 6px;
}

.ads-photo-main {
    margin: 0 0 4px;
    font-weight: 600;
    color: #1f2937;
}

.ads-photo-sub {
    margin: 0 0 14px;
    font-size: 0.9rem;
    color: #6b7280;
}

/* Step actions (Prev / Next / Publish) */

.ads-step-actions {
    margin-top: 18px;
    display: flex;
    justify-content: space-between;
    gap: 10px;
}

.ads-step-actions .button {
    min-width: 120px;
}

/* Errors / success */

.adsphere-sl-errors,
.adsphere-sl-success {
    margin-bottom: 16px;
    padding: 12px 14px;
    border-radius: 10px;
    font-size: 0.9rem;
}

.adsphere-sl-errors {
    border: 1px solid #fecaca;
    background: #fef2f2;
    color: #b91c1c;
}

.adsphere-sl-errors ul {
    margin: 0;
    padding-left: 18px;
}

.adsphere-sl-success {
    border: 1px solid #bbf7d0;
    background: #ecfdf5;
    color: #166534;
}

/* Responsive */

@media (max-width: 900px) {
    .adsphere-submit-steps {
        flex-direction: column;
    }

    .adsphere-submit-listing .ads-step-overview li {
        flex: 1 1 100%;
    }
}

@media (max-width: 600px) {
    .ads-step-panel {
        padding: 20px 16px 18px;
    }

    .ads-step-actions {
        flex-direction: column-reverse;
        align-items: stretch;
    }

    .ads-step-actions .button {
        width: 100%;
    }
}

/* =========================================================
 * MESSAGES – INBOX + CONVERSATION (Final Cinematic Version)
 * ======================================================= */

.adsphere-messages-page {
    background: #f3f4f6;
    padding: 40px 0 60px;
}

/* outer wrapper, same width as dashboard / home */
.adsphere-messages-shell {
    max-width: 1280px;
    margin: 0 auto;
    padding: 0 24px 40px;
}

/* header */
.adsphere-messages-header h1 {
    margin: 0 0 4px;
    font-size: 1.8rem;
    color: #111827;
}

.adsphere-messages-header p {
    margin: 0;
    font-size: 0.95rem;
    color: #6b7280;
}

/* main card – full-width inside shell */
.adsphere-messages-card {
    margin-top: 18px;
    width: 100%;
    border-radius: 24px;
    overflow: hidden;
    background: #020617;
    box-shadow: 0 18px 45px rgba(15,23,42,0.35);
    display: grid;
    grid-template-columns: minmax(260px, 320px) minmax(0, 1fr);
    min-height: 520px;
}

/* LEFT – thread list */
.ads-msg-sidebar {
    background: #f9fafb;
    border-right: 1px solid #e5e7eb;
    display: flex;
    flex-direction: column;
}

.ads-msg-sidebar-title {
    padding: 14px 16px;
    font-size: 0.85rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: #6b7280;
    border-bottom: 1px solid #e5e7eb;
    background: #ffffff;
}

.ads-msg-thread-list {
    flex: 1;
    overflow-y: auto;
}

.ads-msg-thread {
    width: 100%;
    padding: 10px 14px;
    border: none;
    background: transparent;
    display: flex;
    gap: 10px;
    align-items: center;
    cursor: pointer;
    border-bottom: 1px solid #f3f4f6;
    transition: background 0.12s ease;
}

.ads-msg-thread:hover {
    background: #eef2ff;
}

.ads-msg-thread.is-active {
    background: #2563eb;
    color: #ffffff;
}

.ads-msg-thread-avatar {
    width: 36px;
    height: 36px;
    border-radius: 999px;
    overflow: hidden;
    background: #e5e7eb;
    flex-shrink: 0;
}

.ads-msg-thread-avatar img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.ads-msg-thread-avatar-fallback {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.9rem;
    font-weight: 600;
    color: #374151;
}

.ads-msg-thread-main {
    flex: 1;
    min-width: 0;
}

.ads-msg-thread-topline {
    display: flex;
    justify-content: space-between;
    gap: 8px;
    font-size: 0.85rem;
}

.ads-msg-thread-name {
    font-weight: 600;
    color: inherit;
}

.ads-msg-thread-time {
    color: inherit;
    opacity: 0.75;
}

.ads-msg-thread-subline {
    margin-top: 2px;
    font-size: 0.8rem;
    color: #6b7280;
}

.ads-msg-thread.is-active .ads-msg-thread-subline {
    color: rgba(255,255,255,0.85);
}

.ads-msg-thread-title {
    display: block;
    font-weight: 500;
}

.ads-msg-thread-preview {
    display: block;
    margin-top: 1px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* empty state in sidebar */
.ads-msg-sidebar-empty {
    padding: 14px 16px;
    font-size: 0.85rem;
    color: #9ca3af;
    border-top: 1px solid #e5e7eb;
}

/* RIGHT – conversation area */
.ads-msg-conversation {
    background: radial-gradient(circle at top left, #1e293b, #020617);
    display: flex;
    flex-direction: column;
}

.ads-msg-conversation-empty {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    color: #cbd5f5;
    text-align: center;
    padding: 32px 24px;
}

.ads-msg-empty-icon {
    width: 48px;
    height: 48px;
    border-radius: 999px;
    background: rgba(15,23,42,0.8);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.6rem;
    margin-bottom: 10px;
}

/* active conversation layout */
.ads-msg-conversation-main {
    flex: 1;
    display: none; /* toggled to flex via JS */
    flex-direction: column;
}

.ads-msg-conversation-header {
    padding: 14px 18px;
    display: flex;
    align-items: center;
    gap: 10px;
    border-bottom: 1px solid rgba(15,23,42,0.9);
    background: rgba(15,23,42,0.9);
    color: #e5e7eb;
}

.ads-msg-header-avatar {
    width: 40px;
    height: 40px;
    border-radius: 999px;
    overflow: hidden;
    background: #0f172a;
    flex-shrink: 0;
}

.ads-msg-header-avatar img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.ads-msg-header-avatar-fallback {
    width: 100%;
    height: 100%;
    display:flex;
    align-items:center;
    justify-content:center;
    font-weight:600;
}

.ads-msg-header-text {
    display:flex;
    flex-direction:column;
    gap:2px;
}

.ads-msg-header-name {
    font-weight:600;
}

.ads-msg-header-meta {
    font-size:0.85rem;
    color:#9ca3af;
}

/* messages list */
.ads-msg-conversation-body {
    flex: 1;
    padding: 16px 18px 12px;
    overflow-y: auto;
}

.ads-msg-bubble-row {
    display:flex;
    margin-bottom:8px;
}

.ads-msg-bubble-row.is-own {
    justify-content:flex-end;
}

.ads-msg-bubble-row.is-other {
    justify-content:flex-start;
}

.ads-msg-bubble {
    max-width: 70%;
    border-radius: 16px;
    padding: 8px 12px;
    font-size: 0.9rem;
}

/* own vs other */
.ads-msg-bubble-row.is-own .ads-msg-bubble {
    background:#2563eb;
    color:#ffffff;
    border-bottom-right-radius:4px;
}

.ads-msg-bubble-row.is-other .ads-msg-bubble {
    background:#e5e7eb;
    color:#111827;
    border-bottom-left-radius:4px;
}

.ads-msg-bubble-meta {
    margin-top:4px;
    font-size:0.75rem;
    opacity:0.8;
}

/* compose area */
.ads-msg-compose {
    padding: 10px 14px 14px;
    border-top: 1px solid rgba(15,23,42,0.85);
    display: flex;
    gap: 8px;
    background: rgba(15,23,42,0.95);
}

.ads-msg-compose textarea {
    flex: 1;
    resize: none;
    border-radius: 999px;
    padding: 10px 14px;
    border: 1px solid #1d4ed8;
    font-size: 0.95rem;
}

.ads-msg-compose textarea:focus {
    outline: none;
    box-shadow: 0 0 0 1px rgba(59,130,246,0.8);
}

.ads-msg-compose .button.button-primary {
    align-self: center;
    border-radius: 999px;
    padding: 8px 20px;
}

/* small helpers */
.ads-msg-loading,
.ads-msg-error,
.ads-msg-empty-convo {
    font-size: 0.9rem;
    color: #e5e7eb;
}

/* responsive */
@media (max-width: 900px) {
    .adsphere-messages-card {
        grid-template-columns: minmax(0, 1fr);
    }

    .ads-msg-sidebar {
        max-height: 260px;
    }
}

@media (max-width: 600px) {
    .adsphere-messages-page {
        padding: 24px 12px 40px;
    }

    .ads-msg-conversation-body {
        padding: 12px 12px;
    }

    .ads-msg-compose {
        flex-direction: column;
        align-items: stretch;
    }

    .ads-msg-compose .button {
        width: 100%;
    }
}

/* ============================================================
   BROWSE COMMUNITIES — FINAL v1 (Mockup Match)
   ============================================================ */

/* HERO WRAPPER */
.adsphere-archive-hero {
    background: #f8fafc;
    padding: 64px 24px 36px;
    border-bottom: 1px solid #e5e7eb;
}

.adsphere-archive-hero-inner {
    max-width: 1280px;
    margin: 0 auto;
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 32px;
}

@media (max-width: 768px) {
    .adsphere-archive-hero-inner {
        flex-direction: column;
        align-items: flex-start;
        gap: 20px;
    }
}

/* HERO TEXT */
.adsphere-archive-title {
    font-size: 48px;
    line-height: 1.1;
    font-weight: 700;
    margin: 0 0 10px;
    color: #111827;
}

@media (max-width: 768px) {
    .adsphere-archive-title {
        font-size: 34px;
    }
}

.adsphere-archive-subtitle {
    font-size: 17px;
    color: #4b5563;
    margin: 0;
}

/* HERO ACTIONS (right side buttons) */
.adsphere-archive-toggle-row {
    display: inline-flex;
    flex-wrap: wrap;
    gap: 10px;
}

.adsphere-archive-toggle {
    padding: 9px 18px;
    border-radius: 999px;
    border: 1px solid #d1d5db;
    background: #ffffff;
    font-size: 14px;
    font-weight: 500;
    color: #374151;
    cursor: pointer;
    transition: background 0.2s ease, color 0.2s ease, box-shadow 0.2s ease,
        border-color 0.2s ease, transform 0.15s ease;
    white-space: nowrap;
}

.adsphere-archive-toggle.is-primary {
    background: #2563eb;
    border-color: #2563eb;
    color: #ffffff;
    box-shadow: 0 6px 18px rgba(37, 99, 235, 0.35);
}

.adsphere-archive-toggle:hover {
    transform: translateY(-1px);
    box-shadow: 0 3px 10px rgba(15, 23, 42, 0.12);
}

/* MAIN CONTAINER */
.adsphere-archive-container {
    max-width: 1280px;
    margin: 32px auto 48px;
    padding: 0 24px;
}

/* GRID LAYOUT */
.adsphere-communities-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 24px;
}

@media (max-width: 1200px) {
    .adsphere-communities-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 900px) {
    .adsphere-communities-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 600px) {
    .adsphere-communities-grid {
        grid-template-columns: minmax(0, 1fr);
    }
}

/* CARD SHELL */
.adsphere-community-card {
    border-radius: 18px;
    background: #ffffff;
    overflow: hidden;
    border: 1px solid #e5e7eb;
    box-shadow: 0 8px 24px rgba(15, 23, 42, 0.08);
    transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
}

.adsphere-community-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 14px 32px rgba(15, 23, 42, 0.16);
    border-color: #d1d5db;
}

/* MAKE WHOLE CARD CLICKABLE */
.adsphere-community-card-link {
    display: block;
    color: inherit;
    text-decoration: none;
}

/* IMAGE AREA */
.adsphere-community-image-wrap {
    height: 190px;
    background: radial-gradient(circle at top, #e5f0ff 0, #dbeafe 40%, #e5e7eb 100%);
    overflow: hidden;
}

.adsphere-community-image-wrap img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.adsphere-community-image-placeholder {
    height: 190px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 36px;
    color: #6b7280;
}

/* CARD BODY */
.adsphere-community-card-body {
    padding: 14px 16px 16px;
}

/* COMMUNITY NAME */
.adsphere-community-name {
    font-size: 18px;
    font-weight: 600;
    color: #111827;
    margin: 0 0 4px;
    letter-spacing: 0.01em;
}

/* META ROW (count + short text) */
.adsphere-community-meta {
    font-size: 14px;
    color: #6b7280;
    margin: 0 0 10px;
}

/* STATUS PILL (Verified Residents) */
.adsphere-status-pill {
    display: inline-flex;
    align-items: center;
    padding: 4px 11px;
    border-radius: 999px;
    font-size: 13px;
    font-weight: 500;
    background: #ecfdf3;
    color: #166534;
}

.adsphere-status-dot {
    width: 8px;
    height: 8px;
    border-radius: 999px;
    background: #22c55e;
    margin-right: 6px;
}

/* OPTIONAL SMALL LABEL (e.g. "Active listings") */
.adsphere-community-submeta {
    font-size: 13px;
    color: #9ca3af;
    margin-top: 4px;
}

/* =========================================================
 * REPORT LISTING MODAL (Single Listing)
 * ======================================================= */

.adsphere-report-modal-backdrop {
    position: fixed;
    inset: 0;
    background: rgba(15, 23, 42, 0.55);
    backdrop-filter: blur(2px);
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.25s ease, visibility 0.25s ease;
    z-index: 99999;
}

.adsphere-report-modal-backdrop.adsphere-report-open {
    opacity: 1;
    visibility: visible;
}

.adsphere-report-modal {
    background: #ffffff;
    width: 92%;
    max-width: 480px;
    border-radius: 14px;
    padding: 0;
    box-shadow: 0 22px 48px rgba(15,23,42,0.28);
    animation: adsModalPop 0.25s ease;
}

@keyframes adsModalPop {
    from {
        transform: scale(0.96);
        opacity: 0;
    }
    to {
        transform: scale(1);
        opacity: 1;
    }
}

.adsphere-report-modal-header {
    padding: 16px 20px;
    border-bottom: 1px solid #e5e7eb;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.adsphere-report-modal-header h2 {
    margin: 0;
    font-size: 1.2rem;
    font-weight: 600;
    color: #111827;
}

.adsphere-report-modal-close {
    background: none;
    border: none;
    font-size: 1.2rem;
    line-height: 1;
    color: #6b7280;
    cursor: pointer;
}

.adsphere-report-modal-body {
    padding: 18px 20px 10px;
}

.adsphere-report-group h3 {
    margin: 0 0 4px;
    font-size: 0.95rem;
    font-weight: 600;
    color: #374151;
}

.adsphere-report-radio {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 8px 0;
    font-size: 0.9rem;
    color: #111827;
}

.adsphere-report-radio input[type="radio"] {
    width: 18px;
    height: 18px;
}

.adsphere-report-group textarea {
    width: 100%;
    border-radius: 10px;
    border: 1px solid #d1d5db;
    padding: 10px;
    font-size: 0.9rem;
}

.adsphere-report-note {
    margin-top: 12px;
    font-size: 0.85rem;
    color: #6b7280;
}

.adsphere-report-modal-footer {
    padding: 14px 20px;
    display: flex;
    justify-content: flex-end;
    gap: 10px;
    border-top: 1px solid #e5e7eb;
}

#ads-report-status {
    margin-top: 12px;
    font-size: 0.9rem;
    font-weight: 500;
}

#ads-report-status.is-pending {
    color: #1d4ed8;
}

#ads-report-status.is-success {
    color: #16a34a;
}

#ads-report-status.is-error {
    color: #b91c1c;
}

.adsphere-report-listing.button-link {
    display: inline-flex;
    background: none;
    border: none;
    color: #2563eb;
    padding: 0;
    cursor: pointer;
    text-decoration: underline;
    font-size: 0.9rem;
}

.adsphere-report-listing.button-link:hover {
    color: #1d4ed8;
}

/* =========================================================
 * FEATURE / BOOST LISTING PAGES
 * ======================================================= */

.adsphere-promote-page {
    background: #f3f4f6;
    padding: 40px 0 60px;
}

.adsphere-promote-inner {
    max-width: 1280px;
    margin: 0 auto;
    padding: 0 24px;
}

.adsphere-promote-layout {
    display: grid;
    grid-template-columns: minmax(0, 2fr) minmax(320px, 1fr);
    gap: 32px;
    align-items: flex-start;
}

.adsphere-promote-main {
    background: #ffffff;
    border-radius: 24px;
    padding: 26px 26px 22px;
    box-shadow: 0 18px 45px rgba(15, 23, 42, 0.10);
}

.adsphere-promote-title {
    margin: 0 0 6px;
    font-size: 2rem;
    color: #111827;
}

.adsphere-promote-subtitle {
    margin: 0 0 18px;
    font-size: 0.98rem;
    color: #4b5563;
}

/* Plans row */

.adsphere-promote-plans {
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
    margin: 10px 0 14px;
}

.adsphere-promote-card {
    flex: 1 1 180px;
    min-width: 0;
    border-radius: 18px;
    background: #f9fafb;
    border: 1px solid #e5e7eb;
    box-shadow: 0 8px 20px rgba(15, 23, 42, 0.06);
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.adsphere-promote-card-body {
    padding: 18px 18px 10px;
}

.adsphere-promote-duration {
    font-size: 1.1rem;
    font-weight: 600;
    color: #111827;
    margin-bottom: 6px;
}

.adsphere-promote-price {
    font-size: 1.2rem;
    font-weight: 600;
    color: #111827;
}

.adsphere-promote-card-footer {
    padding: 10px 18px 16px;
    border-top: 1px solid #e5e7eb;
    text-align: center;
}

.adsphere-promote-card-footer .button {
    width: 100%;
}

/* Note text */

.adsphere-promote-note {
    margin: 8px 0 0;
    font-size: 0.88rem;
    color: #6b7280;
}

/* Sidebar listing preview */

.adsphere-promote-sidebar {
    display: flex;
    align-items: flex-start;
}

.adsphere-promote-listing-card {
    width: 100%;
    background: #ffffff;
    border-radius: 24px;
    padding: 16px 16px 18px;
    box-shadow: 0 18px 45px rgba(15, 23, 42, 0.10);
    border: 1px solid #e5e7eb;
}

.adsphere-promote-listing-card-dark {
    background: radial-gradient(circle at top left, #1e293b, #020617);
    color: #e5e7eb;
    border-color: rgba(15,23,42,0.9);
}

.adsphere-promote-listing-img {
    border-radius: 18px;
    overflow: hidden;
    background: #e5e7eb;
    margin-bottom: 10px;
}

.adsphere-promote-listing-img img {
    width: 100%;
    height: auto;
    display: block;
    object-fit: cover;
}

.adsphere-promote-listing-placeholder {
    padding: 40px 0;
    text-align: center;
    font-size: 0.9rem;
    color: #6b7280;
}

.adsphere-promote-listing-body {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.adsphere-promote-listing-title {
    margin: 0;
    font-size: 1rem;
    font-weight: 600;
}

.adsphere-promote-listing-meta {
    font-size: 0.85rem;
    color: #6b7280;
}

.adsphere-promote-listing-card-dark .adsphere-promote-listing-meta {
    color: #9ca3af;
}

.adsphere-promote-listing-price {
    margin-top: 4px;
    font-size: 0.95rem;
    font-weight: 600;
    color: #111827;
}

.adsphere-promote-listing-card-dark .adsphere-promote-listing-price {
    color: #e5e7eb;
}

.adsphere-promote-listing-link {
    margin-top: 8px;
    font-size: 0.85rem;
    text-decoration: none;
    color: #2563eb;
}

.adsphere-promote-listing-card-dark .adsphere-promote-listing-link {
    color: #93c5fd;
}

/* Boost page specific */

.adsphere-promote-boost .adsphere-promote-main {
    background: #020617;
    color: #e5e7eb;
    box-shadow: 0 22px 55px rgba(15,23,42,0.55);
}

.adsphere-promote-boost .adsphere-promote-title {
    color: #f9fafb;
}

.adsphere-promote-boost .adsphere-promote-subtitle {
    color: #cbd5f5;
}

.adsphere-promote-points {
    margin: 0 0 18px;
    padding-left: 18px;
    font-size: 0.9rem;
    color: #cbd5f5;
}

.adsphere-promote-boost-card {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    background: #f9fafb;
    border-radius: 18px;
    padding: 16px 18px;
    margin-bottom: 14px;
}

.adsphere-promote-boost-label {
    font-size: 1rem;
    font-weight: 600;
    color: #111827;
}

.adsphere-promote-boost-price {
    margin-top: 4px;
    font-size: 1.1rem;
    font-weight: 600;
    color: #111827;
}

.adsphere-btn-boost-big {
    min-width: 180px;
}

/* Responsive */

@media (max-width: 900px) {
    .adsphere-promote-layout {
        grid-template-columns: minmax(0, 1fr);
    }

    .adsphere-promote-sidebar {
        margin-top: 18px;
    }
}

@media (max-width: 600px) {
    .adsphere-promote-inner {
        padding: 0 16px;
    }

    .adsphere-promote-main {
        padding: 20px 18px 18px;
    }

    .adsphere-promote-plans {
        flex-direction: column;
    }

    .adsphere-promote-boost-card {
        flex-direction: column;
        align-items: stretch;
    }

    .adsphere-promote-boost-action .button {
        width: 100%;
    }
}

/* =========================================================
 * LISTING CARDS – FEATURED / BOOSTED VISUAL STYLES
 * ======================================================= */

/* Base card tweaks so states stand out */
.adsphere-card {
    position: relative;
    border-radius: 16px;
    overflow: hidden;
    transition:
        box-shadow 0.18s ease,
        transform 0.18s ease,
        border-color 0.18s ease,
        background 0.18s ease;
}

/* Default hover (for normal cards) */
.adsphere-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 14px 32px rgba(15, 23, 42, 0.15);
}

/* Ensure card body has room for badges */
.adsphere-card-body {
    position: relative;
    padding: 12px 14px;
}

/* Badges row under meta line */
.adsphere-card-badges {
    margin-top: 6px;
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

/* Base pill styles for both badges */
.adsphere-badge-featured,
.adsphere-badge-boosted {
    display: inline-flex;
    align-items: center;
    padding: 3px 9px;
    border-radius: 999px;
    font-size: 0.72rem;
    font-weight: 600;
    letter-spacing: 0.03em;
    text-transform: uppercase;
    border: 1px solid transparent;
    white-space: nowrap;
}

/* ⭐ Featured pill */
.adsphere-badge-featured {
    background: linear-gradient(135deg, #facc15, #f97316);
    color: #1f2933;
    border-color: rgba(248, 181, 0, 0.8);
    box-shadow: 0 4px 12px rgba(250, 204, 21, 0.45);
}

/* ⚡ Boosted pill */
.adsphere-badge-boosted {
    background: linear-gradient(135deg, #38bdf8, #0ea5e9);
    color: #0b1220;
    border-color: rgba(56, 189, 248, 0.9);
    box-shadow: 0 4px 10px rgba(56, 189, 248, 0.4);
}

/* ===========================
 * FEATURED STATE STYLING
 * =========================== */

.adsphere-card.is-featured {
    border: 1px solid rgba(250, 204, 21, 0.9);
    box-shadow:
        0 0 0 1px rgba(250, 204, 21, 0.3),
        0 18px 40px rgba(15, 23, 42, 0.32);
    background: radial-gradient(circle at top left, #fffbeb, #ffffff);
}

.adsphere-card.is-featured .adsphere-card-title a {
    color: #1c1917;
}

/* Stronger hover for featured */
.adsphere-card.is-featured:hover {
    transform: translateY(-3px);
    box-shadow:
        0 0 0 1px rgba(250, 204, 21, 0.45),
        0 22px 50px rgba(15, 23, 42, 0.4);
}

/* ===========================
 * BOOSTED STATE STYLING
 * =========================== */

.adsphere-card.is-boosted {
    border: 1px solid rgba(56, 189, 248, 0.9);
    box-shadow:
        0 0 0 1px rgba(56, 189, 248, 0.35),
        0 16px 36px rgba(15, 23, 42, 0.3);
    background: radial-gradient(circle at top right, #ecfeff, #ffffff);
}

/* Slight “lift” effect to suggest fresh / active */
.adsphere-card.is-boosted:hover {
    transform: translateY(-3px);
    box-shadow:
        0 0 0 1px rgba(56, 189, 248, 0.5),
        0 22px 48px rgba(15, 23, 42, 0.4);
}

/* ===========================
 * FEATURED + BOOSTED TOGETHER
 * =========================== */

.adsphere-card.is-featured.is-boosted {
    border: 1px solid transparent;
    background:
        radial-gradient(circle at top left, rgba(250, 204, 21, 0.18), transparent 55%),
        radial-gradient(circle at top right, rgba(56, 189, 248, 0.18), transparent 55%),
        #ffffff;
    box-shadow:
        0 0 0 1px rgba(251, 191, 36, 0.4),
        0 0 0 1px rgba(56, 189, 248, 0.4),
        0 22px 52px rgba(15, 23, 42, 0.45);
}

/* Layout of both badges when both active */
.adsphere-card.is-featured.is-boosted .adsphere-card-badges {
    gap: 4px;
}

.adsphere-card.is-featured.is-boosted .adsphere-badge-featured {
    order: 1;
}

.adsphere-card.is-featured.is-boosted .adsphere-badge-boosted {
    order: 2;
}

/* ===========================
 * SUSPICIOUS STATE
 * =========================== */

.adsphere-card.is-suspicious {
    border-style: dashed;
    border-color: rgba(248, 113, 113, 0.8);
}

.adsphere-card.is-suspicious .adsphere-card-warning {
    margin-top: 6px;
    font-size: 0.78rem;
    color: #b91c1c;
}

/* =========================================================
 * SINGLE LISTING PAGE – FEATURED / BOOSTED BADGES
 * ======================================================= */

/* Make sure single page pills match card pills */
.adsphere-single-head-meta .adsphere-badge-featured,
.adsphere-single-head-meta .adsphere-badge-boosted {
    display: inline-flex;
    align-items: center;
    padding: 4px 10px;
    border-radius: 999px;
    font-size: 0.78rem;
    font-weight: 600;
    letter-spacing: 0.03em;
    text-transform: uppercase;
    border: 1px solid transparent;
    white-space: nowrap;
}

/* ⭐ Featured pill */
.adsphere-single-head-meta .adsphere-badge-featured {
    background: linear-gradient(135deg, #facc15, #f97316);
    color: #1f2933;
    border-color: rgba(248, 181, 0, 0.8);
    box-shadow: 0 4px 12px rgba(250, 204, 21, 0.45);
}

/* ⚡ Boosted pill */
.adsphere-single-head-meta .adsphere-badge-boosted {
    background: linear-gradient(135deg, #38bdf8, #0ea5e9);
    color: #0b1220;
    border-color: rgba(56, 189, 248, 0.9);
    box-shadow: 0 4px 10px rgba(56, 189, 248, 0.4);
}

/* Dual state layout improvement */
.adsphere-single-head-meta .adsphere-badge-featured + .adsphere-badge-boosted {
    margin-left: 2px;
}

.adsphere-listing-promo-flags {
    margin-top: 4px;
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
}

/* =========================================================
 * MY LISTINGS – CARD ACTIONS (INLINE BUTTONS)
 * ======================================================= */

.adsphere-mylistings-grid {
    /* reuse generic listing grid spacing, but ensure nice breathing room */
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
    gap: 22px;
    margin-top: 8px;
}

.adsphere-mylistings-card {
    display: flex;
    flex-direction: column;
    gap: 6px;
    border-radius: 8px;
    background: #fff;
    border: 1px solid #e8e8e8;
    overflow: hidden;
}

/* Fix image area */
.adsphere-mylistings-card .adsphere-card-image img {
    width: 100%;
    height: 180px;
    object-fit: cover;
}

/* Placeholder image */
.adsphere-card-image-placeholder {
    width: 100%;
    height: 180px;
    background: #f7f7f7;
    color: #999;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 13px;
}

/* Title */
.adsphere-card-title a {
    font-size: 15px;
    font-weight: 600;
    color: #222;
}

/* Price + community */
.adsphere-card-meta {
    margin-top: 6px;
    font-size: 13px;
    color: #555;
}

/* Actions row under each card */
.adsphere-card-actions {
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 0.82rem;
    color: #4b5563;
    padding: 2px 2px 0;
    margin-top: auto;
    border-top: 1px solid #eee;
    background: #fafafa;
}

/* Left side inline links: View · Edit · Promote */
.ads-ml-actions-left {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    flex-wrap: wrap;
}

.ads-ml-action-link {
    text-decoration: none;
    font-weight: 500;
    font-size: 12px;
    color: #2563eb;
}

.ads-ml-action-link:hover {
    text-decoration: underline;
    color: #1d4ed8;
}

.ads-ml-dot {
    color: #9ca3af;
    padding: 0 5px;
}

/* Right side status label */
.ads-ml-status {
    font-size: 0.78rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    padding: 2px 8px;
    border-radius: 999px;
    border: 1px solid transparent;
    white-space: nowrap;
}

/* Status colour variants */
.ads-ml-status--active {
    background: #ecfdf5;
    color: #166534;
    border-color: #bbf7d0;
}

.ads-ml-status--sold {
    background: #fee2e2;
    color: #b91c1c;
    border-color: #fecaca;
}

.ads-ml-status--draft {
    background: #eff6ff;
    color: #1d4ed8;
    border-color: #bfdbfe;
}

/* Empty-state text inside groups */
.ads-ml-empty {
    font-size: 0.9rem;
    color: #6b7280;
}

/* Home page – prevent Astra from centering everything in entry-content */
body.home .entry-content {
    text-align: left;
}

/* Hero image entrance animation */
@keyframes adsphereHeroFadeIn {
    0% {
        opacity: 0;
        transform: translateY(12px) scale(0.98);
    }
    100% {
        opacity: 1;
        transform: translateY(0) scale(1);
    }
}

/* =========================================================
 * UNIVERSAL CONTENT WIDTH OVERRIDE – 1280PX
 * Forces all page wrappers (Astra + AdSphere) to one width
 * ======================================================= */

body .site-content,
body .ast-container,
body .content-area,
body .entry-content,
body .ast-page-builder-template,
body .hentry,
.adsphere-home-wrapper,
.adsphere-single-inner,
.adsphere-archive-hero-inner,
.adsphere-archive-container,
.adsphere-dashboard-shell,
.adsphere-messages-shell,
.adsphere-submit-listing,
.adsphere-promote-inner,
.adsphere-storefront-hero,
.adsphere-storefront-body,
.adsphere-storefront-owner-panel,
.adsphere-storefront-analytics {
    max-width: 1280px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    width: 100% !important;
}

/* Standardise inner padding */
body .site-content,
body .ast-container,
body .content-area,
.adsphere-home-wrapper,
.adsphere-submit-listing,
.adsphere-dashboard-shell,
.adsphere-messages-shell {
    padding-left: 24px !important;
    padding-right: 24px !important;
}

/* =========================================================
 * 2025-12-10 FIX PACK
 * - Unify AdSphere shell width at 1280px
 * - Fix User Dashboard 2-column layout + table overflow
 * - Tidy Promote Listing grid proportions
 * ======================================================= */

/* 1) Unbox Astra container only on AdSphere app pages */
body.page-template-page-adsphere-browse-listings .site-content > .ast-container,
body.page-template-page-adsphere-browse-communities .site-content > .ast-container,
body.page-template-page-adsphere-dashboard .site-content > .ast-container,
body.page-template-page-promote-listing .site-content > .ast-container,
body.page-template-page-adsphere-submit-listing .site-content > .ast-container,
body.page-template-page-adsphere-messages .site-content > .ast-container,
body.single-listing .site-content > .ast-container,
body.post-type-archive-listing .site-content > .ast-container,
body.page-slug-my-listings .site-content > .ast-container,
body.page-slug-my-invites .site-content > .ast-container {
    max-width: 100% !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}

/* 2) All AdSphere shells share the same 1280px app width */
.adsphere-archive-hero-inner,
.adsphere-archive-container,
.adsphere-home-wrapper,
.adsphere-single-inner,
.adsphere-messages-shell,
.adsphere-submit-listing,
.adsphere-dashboard-shell,
.adsphere-promote-inner,
.adsphere-storefront-hero,
.adsphere-storefront-body,
.adsphere-storefront-owner-panel,
.adsphere-storefront-analytics {
    max-width: 1280px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 24px !important;
    padding-right: 24px !important;
}

@media (max-width: 768px) {
    .adsphere-archive-hero-inner,
    .adsphere-archive-container,
    .adsphere-home-wrapper,
    .adsphere-single-inner,
    .adsphere-messages-shell,
    .adsphere-submit-listing,
    .adsphere-dashboard-shell,
    .adsphere-promote-inner,
    .adsphere-storefront-hero,
    .adsphere-storefront-body,
    .adsphere-storefront-owner-panel,
    .adsphere-storefront-analytics {
        padding-left: 16px !important;
        padding-right: 16px !important;
    }
}

/* 3) User Dashboard – force clean 2-column layout + safe table */
.adsphere-dashboard-shell {
    background: #f3f4f6;
    padding-top: 32px;
    padding-bottom: 48px;
}

.adsphere-dash-tab {
    padding: 24px 24px 32px;
    background: #f3f4f6;
}

.adsphere-dash-row {
    display: grid;
    grid-template-columns: 280px minmax(0, 1fr);
    gap: 20px;
    align-items: flex-start;
}

.adsphere-dash-sidecolumn {
    width: 100%;
    max-width: 280px;
}

/* Main panel should never blow out of the shell */
.adsphere-dash-main {
    background: #ffffff;
    border-radius: 16px;
    padding: 18px 18px 20px;
    box-shadow: 0 8px 20px rgba(15, 23, 42, 0.04);
    overflow-x: auto;
    max-width: 100%;
}

/* Tables inside dashboard behave like an app grid, not wp-admin list */
.adsphere-dash-main table {
    width: 100% !important;
    table-layout: auto;
    border-collapse: collapse;
}

.adsphere-dash-main th,
.adsphere-dash-main td {
    white-space: normal;
    word-break: break-word;
}

/* Stack dashboard on mobile */
@media (max-width: 800px) {
    .adsphere-dash-tab {
        padding: 20px 16px 24px;
    }

    .adsphere-dash-row {
        grid-template-columns: minmax(0, 1fr);
    }

    .adsphere-dash-sidecolumn {
        max-width: none;
    }
}

/* 4) Promote Listing – keep grid proportions consistent */
.adsphere-promote-layout {
    display: grid;
    grid-template-columns: minmax(0, 2fr) minmax(320px, 1fr);
    gap: 32px;
    align-items: flex-start;
}




/* =========================================================
   FIX: Promote Listing – right column breaking layout
   ========================================================= */

/* Ensure correct 2-column grid */
.adsphere-promote-layout {
    display: grid !important;
    grid-template-columns: minmax(0, 2fr) minmax(320px, 1fr) !important;
    gap: 32px !important;
    align-items: flex-start;
}

/* Ensure sidebar stays inside grid */
.adsphere-promote-sidebar {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Prevent preview card from stretching outside */
.adsphere-promote-listing-card,
.adsphere-promote-listing-card-dark {
    width: 100% !important;
    max-width: 100% !important;
    display: block !important;
}

/* Prevent boost card from forcing right overflow */
.adsphere-promote-boost-card {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box;
}




/* =========================================================
   PROMOTE LISTING – LAYOUT FIX
   Keep 2-column grid + sidebar inside column
   ======================================================= */

/* Force the two-column grid exactly as designed */
.adsphere-promote-layout {
    display: grid !important;
    grid-template-columns: minmax(0, 2fr) minmax(320px, 1fr) !important;
    gap: 32px !important;
    align-items: flex-start;
}

/* Sidebar (preview + boost) must not escape the grid */
.adsphere-promote-sidebar {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    box-sizing: border-box;
}

/* The inner cards in the sidebar should not be wider than the column */
.adsphere-promote-listing-card,
.adsphere-promote-listing-card-dark,
.adsphere-promote-boost-card {
    width: 100% !important;
    max-width: 100% !important;
}

/* On smaller screens stack columns */
@media (max-width: 900px) {
    .adsphere-promote-layout {
        grid-template-columns: minmax(0, 1fr) !important;
    }

    .adsphere-promote-sidebar {
        margin-top: 18px !important;
    }
}




/* =========================================================
   PROMOTE LISTING – STATUS + PLAN DETAILS
   ======================================================= */

.adsphere-promote-status-block {
    margin: 12px 0 20px;
    padding: 10px 12px;
    border-radius: 12px;
    background: #f9fafb;
    border: 1px solid #e5e7eb;
    display: flex;
    flex-direction: column;
    gap: 10px;
    font-size: 0.9rem;
    color: #374151;
}

.adsphere-promote-status-line strong {
    display: block;
    font-weight: 600;
    color: #111827;
    margin-bottom: 2px;
}

.adsphere-promote-plan-points {
    margin: 10px 0 0;
    padding-left: 18px;
    font-size: 0.9rem;
    color: #4b5563;
}

.adsphere-promote-plan-points li {
    margin-bottom: 4px;
}

/* Price inline styling: ₹ and amount sit nicely together */
.adsphere-promote-price-currency {
    font-size: 0.95rem;
    margin-right: 2px;
    vertical-align: baseline;
}

.adsphere-promote-price-amount {
    font-size: 1.2rem;
    font-weight: 600;
}

/* Boost card internals – clean two-column split */
.adsphere-promote-boost-card {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    background: #f9fafb;
    border-radius: 18px;
    padding: 16px 18px;
    margin-top: 16px;
    border: 1px solid #e5e7eb;
    box-shadow: 0 8px 20px rgba(15, 23, 42, 0.06);
    box-sizing: border-box;
}

.adsphere-promote-boost-main {
    flex: 1 1 auto;
}

.adsphere-promote-boost-main h3 {
    margin: 0 0 6px;
    font-size: 1rem;
    font-weight: 600;
    color: #111827;
}

.adsphere-promote-boost-text {
    margin: 0 0 6px;
    font-size: 0.9rem;
    color: #4b5563;
}

.adsphere-promote-boost-side {
    flex: 0 0 160px;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 8px;
    text-align: right;
}

.adsphere-promote-boost-price {
    font-size: 1.1rem;
    font-weight: 600;
    color: #111827;
}

.adsphere-btn-boost-big {
    min-width: 0;
    width: 100%;
}

/* Stack boost card content on small screens */
@media (max-width: 600px) {
    .adsphere-promote-boost-card {
        flex-direction: column;
        align-items: stretch;
    }

    .adsphere-promote-boost-side {
        align-items: stretch;
        text-align: left;
    }

    .adsphere-btn-boost-big {
        width: 100%;
    }
}