/*
Theme Name: PlaceMarketCY Theme Pro
Author: PlaceMarketCY
Version: 1.4.0-mobile-v14
Description: Premium cleaned CSS
*/

:root{
    --pm-primary:#2563eb;
    --pm-primary-dark:#1d4ed8;
    --pm-primary-soft:#eef4ff;
    --pm-dark:#0f172a;
    --pm-text:#1f2937;
    --pm-muted:#64748b;
    --pm-border:#e5eaf2;
    --pm-bg:#f4f7fb;
    --pm-white:#fff;
    --pm-shadow-sm:0 10px 25px rgba(15,23,42,.08);
    --pm-shadow-md:0 20px 50px rgba(15,23,42,.10);
    --pm-shadow-lg:0 25px 70px rgba(15,23,42,.14);
}

*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

html{
    scroll-behavior:smooth;
}

body{
    font-family:Arial, Helvetica, sans-serif;
    background:var(--pm-bg);
    color:var(--pm-text);
    line-height:1.5;
    overflow-x:hidden;
}

img{
    max-width:100%;
    height:auto;
}

a{
    text-decoration:none;
    color:inherit;
}

section{
    padding:80px 0;
}

.container{
    width:min(92%, 1400px);
    margin:0 auto;
}

input,
select,
textarea,
button{
    font-family:inherit;
}

.btn,
.wp-block-button__link,
button.btn,
input[type="submit"]{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    background:var(--pm-primary);
    color:#fff!important;
    padding:14px 28px;
    border:none;
    border-radius:14px;
    font-size:16px;
    font-weight:900;
    cursor:pointer;
    transition:.22s ease;
    box-shadow:0 12px 24px rgba(37,99,235,.24);
}

.btn:hover,
.wp-block-button__link:hover,
button.btn:hover,
input[type="submit"]:hover{
    background:var(--pm-primary-dark);
    transform:translateY(-2px);
}

/* HEADER */

.site-header{
    position:sticky;
    top:0;
    z-index:9999;
    background:rgba(255,255,255,.98);
    backdrop-filter:blur(14px);
    border-bottom:1px solid var(--pm-border);
    box-shadow:0 2px 20px rgba(15,23,42,.04);
}

.header-flex{
    min-height:88px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:40px;
}

.logo{
    display:flex;
    align-items:center;
    flex-shrink:0;
    min-width:280px;
}

.logo a{
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    justify-content:center;
    line-height:1;
}

.logo-text{
    font-size:42px;
    font-weight:900;
    letter-spacing:-2px;
    color:#0f172a;
}

.logo-text span{
    color:var(--pm-primary);
}

.logo-tagline{
    font-size:11px;
    font-weight:800;
    color:var(--pm-muted);
    margin-top:5px;
    letter-spacing:1px;
    text-transform:uppercase;
}

.logo img{
    max-height:54px;
    max-width:280px;
    width:auto;
    object-fit:contain;
    display:block;
}

.main-nav ul{
    display:flex;
    align-items:center;
    gap:22px;
    list-style:none;
}

.main-nav a,
.header-right a{
    color:#111827;
    font-size:15px;
    font-weight:700;
    transition:.2s;
}

.main-nav a:hover,
.header-right a:hover{
    color:var(--pm-primary);
}

.header-right{
    display:flex;
    align-items:center;
    gap:14px;
    flex-shrink:0;
}

.header-icon{
    width:40px;
    height:40px;
    border-radius:50%;
    background:#f3f6fb;
    display:flex;
    align-items:center;
    justify-content:center;
}

.header-icon:hover{
    background:var(--pm-primary-soft);
    color:var(--pm-primary);
}

.btn-add-listing,
.site-header .btn{
    background:var(--pm-primary);
    color:#fff!important;
    padding:13px 22px;
    border-radius:13px;
    font-size:15px;
    font-weight:900;
    white-space:nowrap;
}

/* HERO */

.hero{
    min-height:680px;
    display:flex;
    align-items:center;
    background:
        linear-gradient(rgba(15,23,42,.58), rgba(15,23,42,.58)),
        url('https://images.unsplash.com/photo-1486406146926-c627a92ad1ab?auto=format&fit=crop&w=1800&q=80');
    background-size:cover;
    background-position:center;
}

.hero-content{
    max-width:720px;
    color:#fff;
}

.hero-content h1,
.wp-block-cover.hero-banner h1{
    font-size:clamp(34px, 4vw, 56px);
    line-height:1.1;
    margin-bottom:22px;
    font-weight:950;
    letter-spacing:-1px;
}

.hero-content p,
.wp-block-cover.hero-banner p{
    font-size:clamp(18px, 2vw, 22px);
    line-height:1.65;
    margin-bottom:32px;
    color:rgba(255,255,255,.94);
}

/* PREMIUM HERO */

.hero-marketplace{
    min-height:680px;
    display:flex;
    align-items:center;
    background:
        radial-gradient(circle at 80% 20%, rgba(37,99,235,.25), transparent 32%),
        linear-gradient(135deg, rgba(15,23,42,.94), rgba(30,64,175,.86)),
        url('https://images.unsplash.com/photo-1516321318423-f06f85e504b3?auto=format&fit=crop&w=1800&q=80');
    background-size:cover;
    background-position:center;
    overflow:hidden;
}

.hero-grid{
    display:grid;
    grid-template-columns:1.05fr .95fr;
    gap:50px;
    align-items:center;
}

.hero-badge{
    display:inline-flex;
    align-items:center;
    width:fit-content;
    padding:10px 16px;
    border-radius:999px;
    background:rgba(255,255,255,.13);
    border:1px solid rgba(255,255,255,.22);
    color:#fff;
    font-size:14px;
    font-weight:900;
    margin-bottom:24px;
}

.hero-marketplace .hero-content h1{
    max-width:700px;
    font-size:clamp(34px, 4vw, 56px);
    line-height:1.1;
    letter-spacing:-1.2px;
    font-weight:950;
    color:#fff;
    margin-bottom:24px;
}

.hero-marketplace .hero-content p{
    max-width:650px;
    font-size:20px;
    line-height:1.65;
    color:rgba(255,255,255,.90);
    margin-bottom:32px;
}

.hero-actions{
    display:flex;
    align-items:center;
    gap:16px;
    flex-wrap:wrap;
    margin-bottom:28px;
}

.hero-btn-primary{
    min-height:56px;
    padding:0 28px;
    border-radius:16px;
    font-size:17px;
}

.hero-btn-secondary{
    min-height:56px;
    padding:0 26px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border-radius:16px;
    color:#fff;
    font-weight:900;
    background:rgba(255,255,255,.13);
    border:1px solid rgba(255,255,255,.24);
}

.hero-btn-secondary:hover{
    background:rgba(255,255,255,.20);
}

.hero-trust{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
}

.hero-trust span{
    padding:10px 14px;
    border-radius:999px;
    background:rgba(255,255,255,.12);
    border:1px solid rgba(255,255,255,.18);
    color:#fff;
    font-size:14px;
    font-weight:900;
}

.hero-visual{
    position:relative;
    min-height:430px;
}

.hero-card{
    position:absolute;
    background:rgba(255,255,255,.96);
    color:var(--pm-dark);
    border:1px solid rgba(255,255,255,.55);
    box-shadow:0 30px 80px rgba(0,0,0,.25);
    backdrop-filter:blur(12px);
}

.hero-card-main{
    width:360px;
    min-height:230px;
    right:40px;
    top:90px;
    padding:30px;
    border-radius:28px;
}

.hero-card-main .card-label{
    display:inline-flex;
    padding:7px 12px;
    border-radius:999px;
    background:var(--pm-primary-soft);
    color:var(--pm-primary);
    font-size:13px;
    font-weight:900;
    margin-bottom:18px;
}

.hero-card-main h3{
    font-size:30px;
    margin-bottom:8px;
}

.hero-card-main p{
    color:var(--pm-muted);
    margin-bottom:24px;
}

.hero-card-main strong{
    font-size:34px;
    color:var(--pm-primary);
}

.hero-card-small{
    display:flex;
    align-items:center;
    gap:14px;
    width:250px;
    padding:18px;
    border-radius:22px;
}

.hero-card-small span{
    width:52px;
    height:52px;
    display:flex;
    align-items:center;
    justify-content:center;
    background:var(--pm-primary-soft);
    border-radius:16px;
    font-size:26px;
}

.hero-card-small h4{
    font-size:18px;
    margin-bottom:3px;
}

.hero-card-small p{
    color:var(--pm-muted);
    margin:0;
    font-size:14px;
}

.hero-card-top{
    right:0;
    top:0;
}

.hero-card-bottom{
    left:20px;
    bottom:30px;
}

/* SEARCH */

.search-section{
    margin-top:-60px;
    position:relative;
    z-index:20;
    padding:0 0 70px;
    background:#f7f9fc;
}

.market-search{
    background:#fff;
    padding:18px;
    border-radius:24px;
    display:flex;
    gap:14px;
    box-shadow:var(--pm-shadow-lg);
    border:1px solid var(--pm-border);
}

.market-search input,
.market-search select{
    flex:1;
    height:58px;
    padding:0 16px;
    border:1px solid #dbe4ef;
    border-radius:14px;
    background:#f8fafc;
    font-size:15px;
    color:var(--pm-dark);
}

.market-search input:focus,
.market-search select:focus,
input:focus,
textarea:focus,
select:focus{
    outline:none;
    border-color:var(--pm-primary);
    background:#fff;
    box-shadow:0 0 0 4px rgba(37,99,235,.12);
}

.market-search button{
    height:40px;
    min-width:120px;
    background:var(--pm-primary);
    color:#fff;
    border:none;
    padding:0 30px;
    border-radius:14px;
    font-size:16px;
    font-weight:700%;
    cursor:pointer;
}

/* CATEGORIES */

.categories{
    padding:90px 0;
    background:#fff;
}

.section-heading{
    text-align:center;
    margin-bottom:48px;
}

.section-heading h2{
    font-size:clamp(32px, 4vw, 46px);
    margin-bottom:10px;
    color:var(--pm-dark);
    letter-spacing:-.5px;
}

.section-heading p{
    font-size:18px;
    color:var(--pm-muted);
}

.categories-grid{
    display:grid;
    grid-template-columns:repeat(3, 1fr);
    gap:25px;
}

.category-card{
    display:block;
    background:#fff;
    padding:34px;
    border-radius:22px;
    text-align:center;
    color:#111827;
    box-shadow:var(--pm-shadow-sm);
    border:1px solid #eef2f7;
    transition:.25s ease;
}

.category-card:hover{
    transform:translateY(-7px);
    box-shadow:var(--pm-shadow-md);
}

.category-card .icon,
.icon{
    font-size:46px;
    margin-bottom:15px;
}

.category-card h3{
    font-size:23px;
    margin-bottom:10px;
    color:var(--pm-dark);
}

.category-card span{
    color:var(--pm-muted);
}

/* LISTINGS */

.listings,
.featured-listings{
    padding:90px 0;
    background:#f7f9fc;
}

.listings h2{
    font-size:clamp(30px, 4vw, 42px);
    margin-bottom:30px;
    color:var(--pm-dark);
}

.listings-grid,
.listing-grid{
    display:grid;
    grid-template-columns:repeat(3, 1fr);
    gap:30px;
}

.listing-card{
    background:#fff;
    border-radius:22px;
    overflow:hidden;
    box-shadow:var(--pm-shadow-sm);
    border:1px solid #eef2f7;
    transition:.25s ease;
}

.listing-card:hover{
    transform:translateY(-7px);
    box-shadow:var(--pm-shadow-md);
}

.listing-image{
    position:relative;
    display:block;
}

.listing-image img,
.listing-card img{
    width:100%;
    height:260px;
    object-fit:cover;
    display:block;
}

.listing-badge,
.badge{
    position:absolute;
    top:15px;
    left:15px;
    background:var(--pm-primary);
    color:#fff;
    padding:8px 14px;
    border-radius:30px;
    font-size:14px;
    font-weight:900;
}

.listing-body,
.listing-content{
    padding:24px;
}

.listing-body h3,
.listing-content h3{
    color:var(--pm-dark);
    font-size:21px;
    margin-bottom:10px;
}

.listing-location,
.location{
    color:var(--pm-muted);
    margin-bottom:14px;
}

.listing-price,
.price{
    font-size:28px;
    font-weight:900;
    color:#1f2937;
}

.listing-location,
.location{
    color:#6b7280;
    font-size:14px;
    display:block;
    margin-bottom:10px;
}

/* SUBMIT / PROFILE */

.submit-page{
    background:linear-gradient(180deg,#f4f7fb 0%,#eef3f9 100%);
    padding:70px 0 100px;
}

.submit-page h1{
    font-size:clamp(32px, 4vw, 42px);
    font-weight:950;
    color:var(--pm-dark);
    margin-bottom:8px;
}

.submit-page form,
.profile-box{
    background:#fff;
    max-width:800px;
    margin:0 auto;
    padding:38px;
    border-radius:24px;
    box-shadow:var(--pm-shadow-md);
    border:1px solid var(--pm-border);
}

.profile-box{
    margin-top:40px;
}

.submit-page input,
.submit-page textarea,
.submit-page select,
.profile-box input,
.profile-box select{
    width:100%;
    background:#f8fafc;
    border:1px solid #dbe4ef;
    border-radius:14px;
    padding:16px 18px;
    margin-bottom:16px;
    font-size:15px;
    color:var(--pm-dark);
}

.submit-page textarea{
    min-height:170px;
    resize:vertical;
}

.submit-page input[type="file"]{
    background:#fff;
    border:2px dashed #bfd2ea;
    padding:22px;
    cursor:pointer;
}

.category-fields,
.business-fields{
    display:none;
}

.submit-page .category-fields{
    background:#f8fbff;
    border:1px solid #e2eaf5;
    border-radius:18px;
    padding:24px;
    margin:20px 0;
}

.submit-page button.btn{
    width:100%;
    margin-top:10px;
    padding:18px 28px;
    border-radius:14px;
    font-size:17px;
}

/* SINGLE LISTING */

.single-listing{
    padding:50px 0;
    background:#f4f7fb;
}

.single-card{
    display:grid;
    grid-template-columns:1fr 360px;
    gap:25px;
}

.listing-main-box,
.listing-sidebar-box{
    background:#fff;
    border-radius:20px;
    box-shadow:var(--pm-shadow-sm);
    border:1px solid #eef2f7;
    padding:28px;
}

.listing-sidebar{
    display:flex;
    flex-direction:column;
    gap:20px;
}

.single-image img,
.gallery-main img{
    width:100%;
    height:520px;
    max-height:520px;
    object-fit:cover;
    border-radius:16px;
    display:block;
}

.gallery-thumbs{
    display:flex;
    gap:10px;
    margin-top:12px;
    overflow-x:auto;
}

.gallery-thumb{
    border:2px solid transparent;
    border-radius:10px;
    overflow:hidden;
    background:none;
    padding:0;
    cursor:pointer;
}

.gallery-thumb.active,
.gallery-thumb:hover{
    border-color:var(--pm-primary);
}

.gallery-thumb img{
    width:95px;
    height:72px;
    object-fit:cover;
    border-radius:8px;
}

.single-card h1{
    font-size:clamp(28px, 4vw, 36px);
    margin:25px 0 15px;
    color:var(--pm-dark);
}

.single-meta{
    display:flex;
    flex-wrap:wrap;
    gap:12px;
    margin-bottom:25px;
}

.single-meta p{
    background:var(--pm-primary-soft);
    color:#1e40af;
    padding:10px 14px;
    border-radius:999px;
    font-size:15px;
}

.single-description,
.single-extra,
.seller-box,
.message-box{
    border-top:1px solid #e5e7eb;
    padding-top:25px;
    margin-top:25px;
    font-size:18px;
    line-height:1.8;
}

.sidebar-price{
    font-size:38px;
    font-weight:950;
    color:var(--pm-primary);
}

.sidebar-info p{
    display:flex;
    justify-content:space-between;
    gap:15px;
    padding:12px 0;
    border-bottom:1px solid #f1f5f9;
}

.sidebar-actions .btn{
    width:100%;
    margin-top:12px;
}

.message-box input,
.message-box textarea{
    width:100%;
    padding:14px;
    margin-bottom:12px;
    border:1px solid #dbe3ef;
    border-radius:10px;
}

.success-message{
    max-width:800px;
    margin:0 auto 20px;
    background:#dcfce7;
    color:#166534;
    padding:16px 18px;
    border-radius:14px;
    font-weight:900;
}

/* DASHBOARD / MESSAGES */

.dashboard-page,
.messages-page{
    padding:80px 0;
}

.dashboard-grid,
.messages-list{
    display:grid;
    gap:25px;
    margin-top:40px;
}

.dashboard-grid{
    grid-template-columns:repeat(2, 1fr);
}

.dashboard-summary{
    display:grid;
    grid-template-columns:repeat(3, 1fr);
    gap:20px;
    margin:30px 0;
}

.dashboard-card,
.summary-card,
.message-card{
    background:#fff;
    padding:30px;
    border-radius:20px;
    box-shadow:var(--pm-shadow-sm);
    border:1px solid #eef2f7;
}

.dashboard-card:hover{
    transform:translateY(-5px);
}

.summary-card p{
    font-size:28px;
    font-weight:950;
    color:var(--pm-primary);
}

.message-header{
    display:flex;
    justify-content:space-between;
    gap:20px;
    margin-bottom:15px;
}

.message-sender{
    background:#f1f5f9;
    padding:15px;
    border-radius:12px;
    margin:15px 0;
}

/* AUTH */

.auth-page{
    min-height:calc(100vh - 88px);
    padding:80px 20px;
    background:
        radial-gradient(circle at top left,rgba(37,99,235,.14),transparent 35%),
        linear-gradient(180deg,#f8fafc 0%,#eef3f9 100%);
    display:flex;
    align-items:center;
}

.auth-wrap{
    width:100%;
    max-width:1200px;
    margin:0 auto;
    display:grid;
    grid-template-columns:480px 1fr;
    gap:36px;
    align-items:stretch;
}

.auth-card,
.auth-side{
    border-radius:28px;
    box-shadow:var(--pm-shadow-lg);
}

.auth-card{
    background:rgba(255,255,255,.98);
    border:1px solid var(--pm-border);
    padding:40px;
}

.auth-logo{
    font-size:32px;
    font-weight:950;
    color:var(--pm-primary);
    margin-bottom:20px;
}

.auth-card h1{
    margin-bottom:10px;
    font-size:clamp(30px, 4vw, 38px);
    color:var(--pm-dark);
}

.auth-subtitle{
    color:var(--pm-muted);
    line-height:1.65;
    margin-bottom:28px;
}

.auth-form{
    display:grid;
    gap:15px;
}

.auth-form label{
    display:block;
    font-weight:900;
    color:#334155;
    margin-bottom:7px;
}

.auth-form input,
.auth-form select{
    width:100%;
    padding:15px 16px;
    border:1px solid #d8e1ee;
    border-radius:14px;
    font-size:15px;
    background:#f8fafc;
    color:var(--pm-dark);
}

.auth-btn{
    width:100%;
    border:none;
    cursor:pointer;
    padding:16px;
    border-radius:14px;
    background:var(--pm-primary);
    color:#fff;
    font-size:17px;
    font-weight:950;
    margin-top:8px;
    box-shadow:0 12px 24px rgba(37,99,235,.24);
}

.auth-btn:hover{
    background:var(--pm-primary-dark);
    transform:translateY(-2px);
}

.auth-message{
    background:#fee2e2;
    color:#991b1b;
    padding:14px;
    border-radius:12px;
    margin-bottom:18px;
    font-weight:900;
}

.auth-footer{
    margin-top:22px;
    text-align:center;
    color:var(--pm-muted);
}

.auth-footer a{
    color:var(--pm-primary);
    font-weight:950;
}

.auth-side{
    padding:50px;
    background:
        linear-gradient(rgba(15,23,42,.70),rgba(15,23,42,.70)),
        url('https://images.unsplash.com/photo-1560518883-ce09059eeffa?auto=format&fit=crop&w=1400&q=80');
    background-size:cover;
    background-position:center;
    color:#fff;
    display:flex;
    flex-direction:column;
    justify-content:center;
    min-height:650px;
}

.auth-side h2{
    font-size:clamp(34px, 4vw, 46px);
    margin-bottom:20px;
}

.auth-side p{
    font-size:18px;
    line-height:1.75;
    margin-bottom:28px;
}

.auth-side ul{
    list-style:none;
    display:grid;
    gap:14px;
}

.auth-side li{
    font-size:17px;
    font-weight:800;
}

/* REGISTER PREMIUM */

.register-premium-page{
    min-height:calc(100vh - 88px);
    padding:70px 20px;
    background:
        radial-gradient(circle at 10% 10%,rgba(37,99,235,.18),transparent 30%),
        radial-gradient(circle at 90% 20%,rgba(14,165,233,.14),transparent 28%),
        linear-gradient(180deg,#f8fafc 0%,#eef4fb 100%);
}

.register-premium-wrap{
    max-width:1180px;
    grid-template-columns:.95fr 1.05fr;
    gap:34px;
}

.register-side{
    min-height:720px;
    border-radius:30px;
    padding:54px;
    background:
        linear-gradient(135deg,rgba(15,23,42,.88),rgba(30,64,175,.78)),
        url('https://images.unsplash.com/photo-1560518883-ce09059eeffa?auto=format&fit=crop&w=1400&q=80');
    background-size:cover;
    background-position:center;
    justify-content:flex-end;
}

.auth-badge{
    display:inline-flex;
    width:fit-content;
    margin-bottom:22px;
    padding:9px 14px;
    border-radius:999px;
    background:rgba(255,255,255,.14);
    border:1px solid rgba(255,255,255,.22);
    color:#fff;
    font-size:13px;
    font-weight:900;
}

.register-side h2{
    max-width:520px;
    font-size:46px;
    line-height:1.08;
    letter-spacing:-.8px;
}

.register-side p{
    max-width:520px;
    color:rgba(255,255,255,.88);
}

.auth-benefits{
    display:grid;
    gap:12px;
    margin-top:26px;
}

.auth-benefits div{
    padding:13px 15px;
    border-radius:14px;
    background:rgba(255,255,255,.13);
    border:1px solid rgba(255,255,255,.18);
    font-weight:900;
}

.register-card{
    padding:42px;
    border-radius:30px;
}

.register-card h1{
    font-size:38px;
    letter-spacing:-.5px;
}

.register-form{
    gap:0;
}

.form-row,
.register-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:14px;
}

.form-field{
    margin-bottom:16px;
}

.form-field label{
    display:block;
    margin-bottom:7px;
    font-size:14px;
    font-weight:900;
    color:#334155;
}

.form-field input,
.form-field select{
    width:100%;
    height:52px;
    padding:0 15px;
    border:1px solid #d8e1ee;
    border-radius:14px;
    background:#f8fafc;
    color:var(--pm-dark);
    font-size:15px;
    transition:.2s;
}

.business-fields{
    display:none;
    padding:0;
    background:transparent;
    border:none;
    border-radius:0;
}

.terms-check{
    display:flex!important;
    gap:10px;
    align-items:flex-start;
    margin:4px 0 18px;
    color:var(--pm-muted);
    font-size:14px;
    line-height:1.45;
}

.terms-check input{
    width:auto!important;
    height:auto!important;
    margin-top:3px;
}

.register-card .auth-btn{
    height:56px;
    border-radius:15px;
    font-size:17px;
}

/* FALLBACK REGISTER PAGE */

body.page-id-82{
    background:
        radial-gradient(circle at top left,rgba(37,99,235,.12),transparent 34%),
        linear-gradient(180deg,#f8fafc 0%,#eef3f9 100%);
}

body.page-id-82 .site-main,
body.page-id-82 main,
body.page-id-82 article,
body.page-id-82 .entry-content{
    width:min(1120px,92%);
    margin:0 auto;
}

/* RESPONSIVE */

@media(max-width:1200px){
    .header-flex{
        gap:24px;
    }

    .logo{
        min-width:240px;
    }

    .logo-text{
        font-size:36px;
    }

    .main-nav ul{
        gap:16px;
    }

    .main-nav a,
    .header-right a{
        font-size:14px;
    }
}

@media(max-width:991px){
    .header-flex{
        min-height:auto;
        padding:18px 0;
        flex-direction:column;
        gap:18px;
    }

    .logo{
        min-width:auto;
        justify-content:center;
    }

    .logo a{
        align-items:center;
    }

    .main-nav ul{
        flex-wrap:wrap;
        justify-content:center;
        gap:15px;
    }

    .header-right{
        flex-wrap:wrap;
        justify-content:center;
    }

    .listing-grid,
    .listings-grid,
    .single-card,
    .auth-wrap,
    .register-premium-wrap,
    .hero-grid{
        grid-template-columns:1fr;
    }

    .hero-marketplace{
        min-height:auto;
        padding:95px 0;
    }

    .hero-visual{
        display:none;
    }

    .auth-side{
        min-height:430px;
    }

    .single-image img,
    .gallery-main img{
        height:360px;
    }

    .register-side{
        min-height:420px;
    }
}


/* MOBILE CLEAN RESPONSIVE LAYER
   Single source of truth for phones/tablets.
   Keep this block at the very end of style.css. */

.mobile-menu-toggle{
    display:none;
}

@media(max-width:768px){
    html,
    body{
        width:100%;
        overflow-x:hidden;
    }

    body{
        font-size:15px;
    }

    section{
        padding:52px 0;
    }

    .container{
        width:min(92%, 100%);
    }

    .site-header{
        position:sticky;
        top:0;
        z-index:9999;
    }

    .header-flex{
        min-height:66px;
        padding:8px 0;
        display:flex;
        flex-direction:row;
        align-items:center;
        justify-content:space-between;
        gap:8px;
        position:relative;
    }

    .logo{
        min-width:0;
        flex:1 1 auto;
        justify-content:flex-start;
    }

    .logo a{
        align-items:flex-start;
    }

    .logo-text{
        font-size:24px;
        line-height:1;
        letter-spacing:-1px;
        white-space:nowrap;
    }

    .logo-tagline{
        display:none;
    }

    .mobile-menu-toggle{
        order:3;
        display:flex;
        align-items:center;
        justify-content:center;
        flex:0 0 40px;
        width:40px;
        height:40px;
        border:0;
        border-radius:12px;
        background:#f3f6fb;
        color:#0f172a;
        font-size:25px;
        line-height:1;
        cursor:pointer;
    }

    .mobile-menu-toggle.is-open{
        background:var(--pm-primary-soft);
        color:var(--pm-primary);
    }

    .main-nav{
        position:absolute;
        top:100%;
        left:0;
        right:0;
        width:100%;
        display:none;
        background:#fff;
        border:1px solid var(--pm-border);
        border-top:0;
        border-radius:0 0 18px 18px;
        box-shadow:0 18px 45px rgba(15,23,42,.12);
        z-index:9998;
    }

    .main-nav.mobile-open{
        display:block;
    }

    .main-nav ul{
        display:flex;
        flex-direction:column;
        align-items:stretch;
        gap:0;
        padding:10px 16px;
    }

    .main-nav li{
        width:100%;
        list-style:none;
    }

    .main-nav a{
        display:block;
        width:100%;
        padding:14px 0;
        border-bottom:1px solid #f1f5f9;
        font-size:15px;
        font-weight:800;
    }

    .main-nav li:last-child a{
        border-bottom:0;
    }

    .header-right{
        order:2;
        flex:0 0 auto;
        display:flex;
        align-items:center;
        justify-content:flex-end;
        gap:7px;
    }

    .header-right a:not(.btn-add-listing):not(.header-icon){
        display:none;
    }

    .header-icon{
        width:36px;
        height:36px;
        font-size:14px;
    }

    .btn-add-listing,
    .site-header .btn{
        min-height:38px;
        padding:9px 11px;
        border-radius:11px;
        font-size:12px;
        white-space:nowrap;
        box-shadow:none;
    }

    .hero,
    .hero-marketplace{
        min-height:auto;
        padding:72px 0;
        text-align:center;
    }

    .hero-grid,
    .listing-grid,
    .listings-grid,
    .single-card,
    .auth-wrap,
    .register-premium-wrap,
    .dashboard-grid,
    .dashboard-summary,
    .form-row,
    .register-grid{
        grid-template-columns:1fr!important;
    }

    .hero-marketplace .hero-content h1,
    .hero h1,
    h1{
        font-size:34px;
        line-height:1.08;
        letter-spacing:-1px;
    }

    .hero-marketplace .hero-content p,
    .hero p{
        font-size:16px;
        line-height:1.55;
    }

    .hero-actions{
        width:100%;
        display:flex;
        flex-direction:column;
        gap:12px;
    }

    .hero-actions a,
    .hero-btn-primary,
    .hero-btn-secondary,
    .btn{
        width:100%;
    }

    .hero-trust,
    .hero-visual,
    .auth-side,
    .register-side{
        display:none!important;
    }

    .market-search{
        display:flex;
        flex-direction:column;
        gap:12px;
        padding:16px;
        border-radius:20px;
    }

    .market-search input,
    .market-search select,
    .market-search button{
        width:100%;
        min-height:50px;
    }

    .categories-grid,
    .listings-grid{
        grid-template-columns:1fr!important;
        gap:18px;
    }

    .listing-card,
    .category-card,
    .dashboard-card,
    .submit-page form,
    .profile-box,
    .auth-card,
    .register-card{
        border-radius:22px;
    }

    .listing-card img,
    .single-image img,
    .gallery-main img{
        height:240px;
        object-fit:cover;
    }

    .submit-page form,
    .profile-box,
    .auth-card,
    .register-card{
        padding:24px;
    }

    .auth-page{
        padding:42px 14px;
    }

    .register-premium-page{
        padding:34px 14px;
    }

    .register-card h1{
        font-size:30px;
        line-height:1.12;
    }

    input,
    select,
    textarea{
        font-size:16px;
    }
}

@media(max-width:420px){
    .container{
        width:min(94%, 100%);
    }

    .logo-text{
        font-size:21px;
    }

    .header-flex{
        gap:6px;
    }

    .btn-add-listing,
    .site-header .btn{
        padding:9px 9px;
        font-size:11px;
    }

    .mobile-menu-toggle{
        flex-basis:38px;
        width:38px;
        height:38px;
        font-size:23px;
    }

    .hero-marketplace .hero-content h1,
    .hero h1,
    h1{
        font-size:30px;
    }

    .listing-card img,
    .single-image img,
    .gallery-main img{
        height:210px;
    }
}


/* ACCOUNT MENU FIX */
.account-menu-wrap{
    position:relative;
    display:flex;
    align-items:center;
}

.account-toggle{
    border:0;
    cursor:pointer;
    font-family:inherit;
}

.account-toggle.is-open{
    background:var(--pm-primary-soft);
    color:var(--pm-primary);
}

.account-dropdown{
    position:absolute;
    top:calc(100% + 12px);
    right:0;
    width:230px;
    display:none;
    padding:10px;
    background:#fff;
    border:1px solid var(--pm-border);
    border-radius:18px;
    box-shadow:0 22px 60px rgba(15,23,42,.16);
    z-index:10020;
}

.account-dropdown.is-open{
    display:block;
}

.account-dropdown a{
    display:flex;
    align-items:center;
    gap:9px;
    padding:12px 11px;
    border-radius:12px;
    color:#0f172a;
    font-size:14px;
    font-weight:800;
    white-space:nowrap;
}

.account-dropdown a:hover{
    background:#f3f6fb;
    color:var(--pm-primary);
}

@media(max-width:768px){
    .header-right{
        gap:6px;
    }

    .account-menu-wrap{
        flex:0 0 auto;
    }

    .account-dropdown{
        position:fixed;
        top:72px;
        right:14px;
        left:14px;
        width:auto;
        padding:12px;
        border-radius:22px;
    }

    .account-dropdown a{
        padding:15px 13px;
        border-bottom:1px solid #f1f5f9;
        border-radius:12px;
        font-size:15px;
    }

    .account-dropdown a:last-child{
        border-bottom:0;
    }

    .messages-icon{
        display:flex!important;
    }

    .main-nav{
        top:100%;
    }

    .main-nav ul:after{
        content:"";
        display:block;
    }
}

@media(max-width:420px){
    .header-icon{
        width:34px;
        height:34px;
        font-size:13px;
    }

    .btn-add-listing,
    .site-header .btn{
        padding:8px 8px;
        font-size:10px;
        max-width:92px;
        overflow:hidden;
        text-overflow:ellipsis;
    }

    .account-dropdown{
        top:68px;
        right:10px;
        left:10px;
    }
}


/* MOBILE ACCOUNT DROPDOWN CLICK FIX - force visible menu links */
.account-menu-wrap.is-open .account-dropdown,
.account-dropdown.is-open{
    display:block!important;
    visibility:visible!important;
    opacity:1!important;
    pointer-events:auto!important;
}

.header-right .account-dropdown a,
.site-header .account-dropdown a{
    display:flex!important;
    visibility:visible!important;
}

@media(max-width:768px){
    .account-toggle{
        position:relative;
        z-index:10030;
        touch-action:manipulation;
        -webkit-tap-highlight-color:transparent;
    }

    .account-menu-wrap.is-open .account-dropdown,
    .account-dropdown.is-open{
        display:block!important;
        position:fixed!important;
        top:72px!important;
        left:14px!important;
        right:14px!important;
        width:auto!important;
        z-index:10050!important;
    }

    .header-right .account-dropdown a,
    .site-header .account-dropdown a{
        display:flex!important;
    }
}

/* MOBILE SEARCH FIX v3 - prevents desktop search from breaking mobile width */
.search-section,
.search-section *{
    box-sizing:border-box;
}

.market-search{
    max-width:100%;
    overflow:hidden;
}

.market-search input,
.market-search select,
.market-search button{
    min-width:0;
    max-width:100%;
}

@media(max-width:900px){
    .search-section{
        margin-top:-34px;
        padding:0 0 42px;
        overflow:hidden;
    }

    .search-section .container{
        width:94%;
        max-width:100%;
    }

    .market-search{
        width:100%;
        display:grid!important;
        grid-template-columns:1fr 1fr;
        gap:10px;
        padding:14px;
        border-radius:18px;
        box-shadow:0 14px 35px rgba(15,23,42,.12);
    }

    .market-search input,
    .market-search select,
    .market-search button{
        width:100%!important;
        height:48px;
        min-height:48px;
        padding:0 13px;
        font-size:16px;
        border-radius:12px;
    }

    .market-search input[name="keyword"],
    .market-search button{
        grid-column:1 / -1;
    }

    .market-search button{
        height:50px;
        padding:0 16px;
        font-weight:700;
    }
}

@media(max-width:600px){
    .search-section{
        margin-top:-22px;
        padding-bottom:34px;
    }

    .market-search{
        grid-template-columns:1fr!important;
        gap:10px;
        padding:13px;
        border-radius:18px;
    }

    .market-search input,
    .market-search select,
    .market-search button{
        grid-column:1 / -1!important;
        width:100%!important;
        max-width:100%!important;
    }
}

/* ADSENSE / TRUST READY ADDITIONS */
.site-footer{
    background:#0f172a;
    color:#cbd5e1;
    padding:60px 0 0;
}
.footer-grid{
    display:grid;
    grid-template-columns:2fr 1fr 1fr 1.2fr;
    gap:34px;
}
.footer-logo{
    display:inline-block;
    color:#fff;
    font-size:28px;
    font-weight:950;
    margin-bottom:14px;
}
.footer-logo span{color:var(--pm-primary)}
.footer-brand p{line-height:1.7;max-width:380px}
.footer-col{display:flex;flex-direction:column;gap:10px}
.footer-col h4{color:#fff;font-size:17px;margin-bottom:8px}
.footer-col a,.footer-socials a{color:#cbd5e1;font-weight:700}
.footer-col a:hover,.footer-socials a:hover{color:#fff}
.footer-socials{display:flex;gap:12px;flex-wrap:wrap}
.footer-bottom{border-top:1px solid rgba(255,255,255,.1);margin-top:38px;padding:18px 0;text-align:center;color:#94a3b8}

.content-page{padding:80px 0;background:#f7f9fc}
.narrow-container{max-width:900px}
.trust-page .narrow-container,.legal-page .narrow-container{
    background:#fff;
    border:1px solid #eef2f7;
    border-radius:24px;
    box-shadow:var(--pm-shadow-sm);
    padding:42px;
}
.content-page h1{font-size:clamp(32px,5vw,48px);color:var(--pm-dark);margin-bottom:18px}
.content-page h2{font-size:24px;color:var(--pm-dark);margin:30px 0 10px}
.content-page p{font-size:17px;line-height:1.8;color:#475569;margin-bottom:12px}
.info-grid{display:grid;gap:16px;margin-top:28px}
.info-grid.three{grid-template-columns:repeat(3,1fr)}
.info-grid div{background:#f8fbff;border:1px solid #e2eaf5;border-radius:18px;padding:20px}
.info-grid strong{display:block;color:var(--pm-dark);font-size:20px;margin-bottom:6px}
.info-grid span{color:#64748b}
.contact-form{display:grid;gap:14px;margin-top:24px}
.contact-form input,.contact-form textarea{
    width:100%;padding:15px;border:1px solid #dbe3ef;border-radius:12px;font-size:16px
}
.contact-form textarea{min-height:160px}
.small-note{font-size:14px!important;color:#64748b!important;margin-top:15px}

.home-trust-section,.home-cta-section{padding:80px 0;background:#fff}
.home-stats-section{padding:35px 0;background:linear-gradient(135deg,var(--pm-primary),#1e40af);color:#fff}
.trust-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.trust-card{background:#fff;border:1px solid #eef2f7;border-radius:22px;padding:28px;box-shadow:var(--pm-shadow-sm)}
.trust-card span{font-size:34px}.trust-card h3{font-size:22px;margin:12px 0 8px;color:var(--pm-dark)}.trust-card p{color:#64748b;line-height:1.7}
.stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;text-align:center}
.stats-grid strong{display:block;font-size:42px;font-weight:950}.stats-grid span{font-weight:800;opacity:.9}
.cta-box{background:#0f172a;color:#fff;border-radius:28px;padding:40px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.cta-box h2{font-size:34px;margin-bottom:8px}.cta-box p{color:#cbd5e1}

.btn-light{background:#f8fafc!important;color:#0f172a!important;border:1px solid #e2e8f0!important}
.favorite-btn.saved{background:#fff1f2!important;color:#be123c!important;border-color:#fecdd3!important}
.report-link{display:inline-block;margin-top:12px;color:#be123c;font-weight:800}
.related-listings{margin-top:35px;background:#fff;border-radius:22px;padding:30px;border:1px solid #eef2f7;box-shadow:var(--pm-shadow-sm)}
.related-listings .listing-grid{grid-template-columns:repeat(3,1fr)}
.related-listings .listing-card{box-shadow:none;border:1px solid #eef2f7}
.related-listings .listing-image img,.related-listings .listing-card img{height:180px}

.cookie-banner{
    position:fixed;left:18px;right:18px;bottom:18px;z-index:20000;background:#0f172a;color:#fff;
    border-radius:18px;padding:16px;box-shadow:0 20px 60px rgba(0,0,0,.28);display:flex;align-items:center;justify-content:space-between;gap:18px
}
.cookie-banner p{margin:0;color:#e2e8f0;line-height:1.5}.cookie-banner a{color:#fff;text-decoration:underline;font-weight:800}.cookie-banner button{border:0;background:var(--pm-primary);color:#fff;border-radius:12px;padding:10px 18px;font-weight:900;cursor:pointer}

@media(max-width:900px){
    .footer-grid,.trust-grid,.stats-grid{grid-template-columns:1fr 1fr}
    .footer-brand{grid-column:1 / -1}
    .cta-box{flex-direction:column;align-items:flex-start}
    .related-listings .listing-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:600px){
    .footer-grid,.trust-grid,.stats-grid,.info-grid.three,.related-listings .listing-grid{grid-template-columns:1fr}
    .site-footer{padding-top:42px}
    .trust-page .narrow-container,.legal-page .narrow-container{padding:24px;border-radius:18px}
    .content-page{padding:42px 0}
    .home-trust-section,.home-cta-section{padding:50px 0}
    .cta-box{padding:26px;border-radius:22px}.cta-box h2{font-size:26px}
    .cookie-banner{display:block;left:10px;right:10px;bottom:10px}.cookie-banner div{display:flex;align-items:center;justify-content:space-between;margin-top:12px;gap:10px}
}

.notice-success,.notice-error{padding:12px 14px;border-radius:12px;margin:14px 0;font-weight:700}.notice-success{background:#ecfdf5;color:#047857}.notice-error{background:#fef2f2;color:#b91c1c}


/* v6 navigation fixes */
.pmcy-mobile-bottom-nav{display:none}
@media(max-width:768px){
    body{padding-bottom:78px}
    .pmcy-mobile-bottom-nav{
        position:fixed;left:0;right:0;bottom:0;z-index:30000;
        display:grid;grid-template-columns:repeat(5,1fr);gap:0;
        background:#fff;border-top:1px solid #e5e7eb;box-shadow:0 -12px 30px rgba(15,23,42,.12);
        padding:7px 6px calc(7px + env(safe-area-inset-bottom));
    }
    .pmcy-mobile-bottom-nav a{
        display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;
        min-height:52px;border-radius:14px;color:#334155;text-decoration:none;font-weight:800;
        pointer-events:auto;touch-action:manipulation;
    }
    .pmcy-mobile-bottom-nav span{font-size:20px;line-height:1}
    .pmcy-mobile-bottom-nav small{font-size:11px;line-height:1}
    .pmcy-mobile-bottom-nav a.is-primary{background:#2563eb;color:#fff;transform:translateY(-8px);box-shadow:0 10px 24px rgba(37,99,235,.28)}
    .main-nav a,.category-card,.btn,.dashboard-card,.listing-card a,.pmcy-mobile-bottom-nav a{cursor:pointer}
}

/* v7 marketplace chat, booking and professional category fields */
.messages-icon{position:relative}.pmcy-unread-badge,.pmcy-bottom-badge{position:absolute;min-width:18px;height:18px;border-radius:999px;background:#ef4444;color:#fff;font-size:11px;display:inline-flex;align-items:center;justify-content:center;font-weight:900;line-height:1}.pmcy-unread-badge{top:-5px;right:-7px}.pmcy-mobile-bottom-nav span{position:relative}.pmcy-bottom-badge{top:-8px;right:-12px}
.pmcy-chat-page{padding:55px 0;background:#f7f9fc;min-height:70vh}.page-subtitle{color:#64748b;margin-top:-8px;margin-bottom:24px}.pmcy-chat-layout{display:grid;grid-template-columns:340px 1fr;gap:22px;align-items:start}.pmcy-chat-list,.pmcy-chat-thread{background:#fff;border:1px solid #e8eef7;border-radius:24px;box-shadow:var(--pm-shadow-sm);overflow:hidden}.pmcy-chat-list{padding:10px;max-height:720px;overflow:auto}.pmcy-chat-item{display:flex;gap:12px;align-items:center;padding:14px;border-radius:18px;color:#0f172a;text-decoration:none;position:relative}.pmcy-chat-item:hover,.pmcy-chat-item.active{background:#eef6ff}.pmcy-chat-item b{background:#2563eb;color:#fff;border-radius:999px;min-width:22px;height:22px;display:flex;align-items:center;justify-content:center;font-size:12px}.pmcy-avatar{width:44px;height:44px;border-radius:50%;background:#e0edff;display:flex;align-items:center;justify-content:center;flex:0 0 44px}.pmcy-chat-summary{display:flex;flex-direction:column;gap:3px;min-width:0}.pmcy-chat-summary strong,.pmcy-chat-summary small,.pmcy-chat-summary em{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pmcy-chat-summary small{color:#64748b;font-weight:700}.pmcy-chat-summary em{color:#94a3b8;font-style:normal;font-size:13px}.pmcy-thread-header{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:20px 22px;border-bottom:1px solid #e8eef7}.pmcy-thread-header span{color:#64748b;font-weight:800}.pmcy-thread-header h2{font-size:22px;margin:4px 0 0}.pmcy-thread-messages{padding:22px;display:flex;flex-direction:column;gap:12px;min-height:340px;max-height:560px;overflow:auto;background:linear-gradient(180deg,#fff,#f8fbff)}.pmcy-bubble{max-width:72%;border-radius:20px;padding:12px 14px}.pmcy-bubble p{margin:4px 0 7px;line-height:1.5}.pmcy-bubble small{font-size:12px;opacity:.75}.pmcy-bubble.mine{align-self:flex-end;background:#2563eb;color:#fff;border-bottom-right-radius:6px}.pmcy-bubble.theirs{align-self:flex-start;background:#eef2f7;color:#0f172a;border-bottom-left-radius:6px}.pmcy-bubble.booking{border:2px solid #f59e0b}.pmcy-reply-form{display:grid;grid-template-columns:1fr auto;gap:12px;padding:16px;border-top:1px solid #e8eef7;background:#fff}.pmcy-reply-form textarea{min-height:54px;max-height:120px;border:1px solid #dbe3ef;border-radius:16px;padding:14px;resize:vertical}.empty-state{background:#fff;border:1px solid #e8eef7;border-radius:24px;padding:34px;box-shadow:var(--pm-shadow-sm)}
.pmcy-spec-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-top:10px}.pmcy-spec-grid p{background:#f8fafc;border:1px solid #e2e8f0;border-radius:16px;padding:14px;margin:0}.pmcy-spec-grid strong{display:block;color:#64748b;font-size:13px;margin-bottom:4px}.pmcy-spec-grid span{display:block;color:#0f172a;font-size:16px;font-weight:900}.pmcy-message-form,.pmcy-booking-form{display:grid;gap:12px}.pmcy-message-form textarea,.pmcy-booking-form textarea,.pmcy-booking-form input{width:100%;border:1px solid #dbe3ef;border-radius:14px;padding:13px;font-size:15px}.pmcy-booking-form label{display:grid;gap:6px;font-weight:800;color:#334155}.booking-box{border:2px solid #dbeafe!important;background:#f8fbff!important}
@media(max-width:800px){.pmcy-chat-layout{grid-template-columns:1fr}.pmcy-chat-list{max-height:none}.pmcy-bubble{max-width:88%}.pmcy-reply-form{grid-template-columns:1fr}.pmcy-spec-grid{grid-template-columns:1fr}.pmcy-thread-header{flex-direction:column;align-items:flex-start}}

/* v9 Marketplace Pro */
.inline-form{display:inline-block;margin:0}.sidebar-actions form.inline-form{width:100%}.sidebar-actions form.inline-form button{width:100%}
.pmcy-availability{background:#fff;border:1px solid #dbeafe;border-radius:18px;padding:14px;margin:14px 0}.pmcy-availability strong{display:block;margin-bottom:10px}.pmcy-availability-pro{box-shadow:0 12px 30px rgba(15,23,42,.06)}.pmcy-calendar-wrap{display:grid;gap:12px}.pmcy-calendar-legend{display:flex;gap:10px;flex-wrap:wrap;font-size:12px;font-weight:900;color:#475569}.pmcy-calendar-legend span{display:inline-flex;align-items:center;gap:6px}.pmcy-calendar-legend i{width:10px;height:10px;border-radius:50%;display:inline-block}.pmcy-calendar-legend i.available{background:#22c55e}.pmcy-calendar-legend i.pending{background:#f59e0b}.pmcy-calendar-legend i.blocked{background:#94a3b8}.pmcy-calendar-months{display:grid;grid-template-columns:1fr;gap:12px;max-height:480px;overflow:auto;padding-right:4px}.pmcy-calendar-month{border:1px solid #e2e8f0;border-radius:16px;padding:12px;background:#f8fbff}.pmcy-calendar-month h4{margin:0 0 10px;font-size:15px;text-align:center}.pmcy-weekdays,.pmcy-days{display:grid;grid-template-columns:repeat(7,1fr);gap:5px}.pmcy-weekdays span{text-align:center;font-size:11px;color:#64748b;font-weight:900}.pmcy-days span{height:31px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:900;background:#dcfce7;color:#166534}.pmcy-days span.pending{background:#fef3c7;color:#92400e}.pmcy-days span.blocked{background:#e2e8f0;color:#334155;text-decoration:line-through}.pmcy-days span.past{opacity:.45}.pmcy-days span.empty{background:transparent}.pmcy-mini-calendar-preview .pmcy-calendar-months{grid-template-columns:repeat(2,1fr);max-height:none}.pmcy-ical-form{display:grid;gap:10px;margin-top:14px;padding-top:14px;border-top:1px solid #e2e8f0}.pmcy-ical-form label,.pmcy-export-box{display:grid;gap:6px;font-weight:900}.pmcy-ical-form input,.pmcy-export-box input{width:100%;border:1px solid #dbe3ef;border-radius:12px;padding:11px;font-size:13px}.pmcy-export-box{margin-top:12px;background:#f8fafc;border:1px dashed #cbd5e1;border-radius:14px;padding:12px}.pmcy-export-box small{font-weight:700;color:#64748b}
.pmcy-report-box{margin-top:14px}.pmcy-report-box summary{cursor:pointer;font-weight:900;color:#be123c}.pmcy-report-box form{display:grid;gap:10px;margin-top:10px}.pmcy-report-box textarea,.pmcy-review-form textarea,.pmcy-review-form select,.pmcy-block-form input{width:100%;border:1px solid #dbe3ef;border-radius:14px;padding:12px;font-size:15px}.pmcy-review-form{display:grid;gap:12px;margin-top:18px;background:#f8fbff;border:1px solid #e2e8f0;border-radius:18px;padding:18px}.pmcy-review-form label{font-weight:900}.pmcy-reviews-list{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.pmcy-review-card{background:#fff;border:1px solid #e8eef7;border-radius:18px;padding:16px}.pmcy-review-card p{margin:8px 0;line-height:1.6;color:#334155}.pmcy-review-card small{color:#64748b;font-weight:700}
.pmcy-bookings-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:22px;align-items:start}.pmcy-panel{background:#fff;border:1px solid #e8eef7;border-radius:24px;padding:24px;box-shadow:var(--pm-shadow-sm);margin-bottom:24px}.pmcy-panel h2{margin-bottom:16px}.pmcy-booking-card{background:#f8fbff;border:1px solid #e2e8f0;border-radius:18px;padding:16px;margin-bottom:14px}.pmcy-booking-card h3{font-size:18px;margin-bottom:8px}.pmcy-booking-card.status-approved{border-color:#86efac;background:#f0fdf4}.pmcy-booking-card.status-declined{border-color:#fecaca;background:#fef2f2}.pmcy-block-form{display:grid;gap:10px}.pmcy-block-form label{font-weight:900;display:grid;gap:6px}.pmcy-booking-card .inline-form{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}.favorites-page{padding:55px 0;background:#f7f9fc;min-height:70vh}
@media(max-width:800px){.pmcy-bookings-grid,.pmcy-reviews-list{grid-template-columns:1fr}.pmcy-panel{padding:18px;border-radius:20px}.pmcy-booking-card .inline-form{display:grid}.pmcy-booking-card .inline-form .btn{width:100%}}

@media(max-width:700px){.pmcy-mini-calendar-preview .pmcy-calendar-months{grid-template-columns:1fr}.pmcy-calendar-months{max-height:420px}.pmcy-days span{height:29px}}


/* PMCY FIX 2026-06-10: archive search spacing + fixed chat scroll */
.featured-listings .search-section{
    margin-top:0;
    padding:0 0 34px;
    background:transparent;
}
.featured-listings .section-heading{
    margin-bottom:24px;
}
.featured-listings .market-search{
    align-items:center;
}
.pmcy-chat-thread{
    height:640px;
    display:flex;
    flex-direction:column;
}
.pmcy-thread-messages{
    flex:1 1 auto;
    min-height:0;
    max-height:none;
    overflow-y:auto;
    scroll-behavior:smooth;
}
.pmcy-reply-form{
    flex:0 0 auto;
}
@media(max-width:800px){
    .pmcy-chat-thread{height:70vh;min-height:520px;}
    .featured-listings .search-section{padding-bottom:26px;}
}


/* PMCY FIX: visible favorite, profile photos, better bookings */
.sidebar-actions .favorite-btn{
    color:#0f172a!important;
    background:#fff!important;
    border:1px solid #dbe3ef!important;
    opacity:1!important;
}
.sidebar-actions .favorite-btn.saved{
    background:#fff1f2!important;
    color:#be123c!important;
    border-color:#fecdd3!important;
}
.pmcy-seller-card-pro{display:grid;gap:10px}
.pmcy-seller-head{display:flex;align-items:center;gap:12px;margin-bottom:6px}
.pmcy-seller-photo-wrap,.pmcy-avatar{overflow:hidden}
.pmcy-seller-photo{width:64px!important;height:64px!important;border-radius:50%!important;object-fit:cover;border:3px solid #e0edff;background:#f8fbff}
.pmcy-seller-name{margin:0!important;font-size:16px}
.pmcy-seller-type{margin:2px 0 0!important;color:#64748b;font-weight:800}
.pmcy-link-button{border:0;background:transparent;color:#2563eb;font-weight:900;cursor:pointer;padding:0;text-decoration:underline}
.account-toggle.has-avatar{padding:0;overflow:hidden;background:#f1f7ff!important}
.pmcy-header-avatar{width:32px!important;height:32px!important;border-radius:50%!important;object-fit:cover;display:block}
.pmcy-chat-avatar-img{width:44px!important;height:44px!important;border-radius:50%!important;object-fit:cover;display:block}
.pmcy-bookings-hero{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:24px}
.pmcy-bookings-hero h1{margin-bottom:4px}
.pmcy-bookings-page .page-subtitle{margin-bottom:0}
.pmcy-status-pill{display:inline-flex;align-items:center;border-radius:999px;padding:5px 10px;font-size:12px;font-weight:900;background:#fef3c7;color:#92400e;text-transform:capitalize}
.pmcy-status-pill.status-approved{background:#dcfce7;color:#166534}
.pmcy-status-pill.status-declined{background:#fee2e2;color:#991b1b}
.pmcy-my-booking-requests .pmcy-booking-card{display:grid;gap:6px}
@media(max-width:800px){.pmcy-bookings-hero{display:grid}.pmcy-bookings-hero .btn{width:100%}}


/* PRICING / SUBSCRIPTIONS */
.pricing-page{padding:80px 0 110px;background:linear-gradient(180deg,#f4f7fb 0%,#eef3f9 100%)}
.pricing-hero{text-align:center;max-width:760px;margin:0 auto 34px}
.pricing-hero h1{font-size:clamp(34px,4vw,48px);font-weight:950;color:var(--pm-dark);margin-bottom:10px}
.pricing-hero p{color:var(--pm-muted);font-weight:700;font-size:17px}
.pricing-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;align-items:stretch}
.pricing-card{position:relative;background:#fff;border:1px solid var(--pm-border);border-radius:24px;padding:28px;box-shadow:var(--pm-shadow-sm);display:flex;flex-direction:column;gap:14px}
.pricing-card.is-popular{border-color:rgba(37,99,235,.38);box-shadow:0 26px 70px rgba(37,99,235,.16);transform:translateY(-8px)}
.pricing-card.is-current{border-color:#86efac;background:linear-gradient(180deg,#fff 0%,#f0fdf4 100%)}
.pricing-badge{position:absolute;top:16px;right:16px;background:var(--pm-primary);color:#fff;border-radius:999px;padding:7px 12px;font-size:12px;font-weight:950}
.pricing-card h2{font-size:26px;font-weight:950;color:var(--pm-dark)}
.pricing-description{color:var(--pm-muted);font-weight:700;min-height:54px}
.pricing-price span{font-size:40px;font-weight:950;color:var(--pm-primary)}
.pricing-price small{font-weight:900;color:var(--pm-muted)}
.pricing-features{list-style:none;padding:0;margin:4px 0 8px;display:grid;gap:10px;flex:1}
.pricing-features li{font-weight:800;color:#334155}
.pricing-form{margin-top:auto}
.pricing-form .btn,.pricing-card>.btn,.pricing-card>button.btn{width:100%}
.pricing-note{margin:28px auto 0;background:#fff;border:1px solid var(--pm-border);border-radius:18px;padding:18px 22px;box-shadow:var(--pm-shadow-sm);color:#334155;font-weight:700}
.limit-box{background:#fff;border:1px solid var(--pm-border);border-radius:22px;padding:34px;box-shadow:var(--pm-shadow-sm);text-align:center;max-width:760px;margin:30px auto}
.dashboard-summary small{display:block;margin-top:6px;color:#f59e0b;font-weight:900}
.error-message{background:#fff1f2;color:#be123c;border:1px solid #fecdd3;padding:14px 18px;border-radius:14px;font-weight:900;margin:20px 0}
@media(max-width:1100px){.pricing-grid{grid-template-columns:repeat(2,1fr)}.pricing-card.is-popular{transform:none}}
@media(max-width:700px){.pricing-grid{grid-template-columns:1fr}.pricing-card{padding:24px}.pricing-description{min-height:auto}}


/* Dynamic listing fields */
.category-fields { display:none; margin:22px 0; }
.category-fields h3 { margin:0 0 14px; }
.pmcy-checkbox-field { display:flex; align-items:center; gap:10px; padding:13px 14px; background:#fff; border:1px solid #e5e7eb; border-radius:12px; margin-bottom:10px; }
.pmcy-checkbox-field input { width:auto; margin:0; }


/* Submit Listing Pro Redesign */
.pmcy-submit-pro-page{padding:26px 0 54px;background:linear-gradient(180deg,#f8fbff 0%,#f2f6fb 100%)}
.pmcy-submit-pro-page .container{width:min(94%,1280px)}
.pmcy-submit-pro-header{display:flex;align-items:end;justify-content:space-between;margin-bottom:18px}
.pmcy-submit-pro-header h1{font-size:34px;line-height:1.1;color:#111827;letter-spacing:-.7px;margin:0 0 8px}
.pmcy-breadcrumb{color:#64748b;font-size:14px}
.pmcy-submit-info{display:flex;align-items:center;gap:18px;border:1px solid #bfdbfe;background:#f8fbff;border-radius:11px;padding:17px 20px;margin-bottom:10px;max-width:930px;box-shadow:0 8px 25px rgba(37,99,235,.04)}
.pmcy-submit-info .pmcy-info-icon{font-size:30px;color:#2563eb}
.pmcy-submit-info strong{display:block;color:#1d4ed8;font-weight:900;margin-bottom:3px}
.pmcy-submit-info span{display:block;color:#334155;font-size:15px}
.pmcy-plan-line{font-size:14px;color:#334155;margin:0 0 10px}.pmcy-submit-success{max-width:930px;margin-bottom:15px}
.pmcy-submit-layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:28px;align-items:start}.pmcy-submit-card-pro{background:#fff;border:1px solid #e7edf6;border-radius:16px;padding:22px;box-shadow:0 24px 55px rgba(15,23,42,.08);max-width:none;margin:0}.pmcy-pro-form{display:block}.pmcy-form-grid.two{display:grid;grid-template-columns:1fr 1fr;gap:22px}.pmcy-field{position:relative;margin-bottom:14px}.pmcy-field.full{width:100%}.pmcy-field label{display:block;color:#111827;font-weight:900;font-size:14px;margin:0 0 8px}.pmcy-field small{display:block;color:#64748b;font-size:12px;margin-top:5px}.pmcy-pro-form input[type=text],.pmcy-pro-form input[type=number],.pmcy-pro-form select,.pmcy-pro-form textarea,.category-fields input,.category-fields select{width:100%;height:45px;border:1px solid #cdd9ea;border-radius:9px;background:#fbfdff;color:#0f172a;padding:0 15px;font-size:14px;outline:none;transition:.18s;box-shadow:none}.pmcy-pro-form textarea{height:102px;padding:14px 15px;resize:vertical}.pmcy-pro-form input:focus,.pmcy-pro-form select:focus,.pmcy-pro-form textarea:focus,.category-fields input:focus,.category-fields select:focus{border-color:#2563eb;box-shadow:0 0 0 3px rgba(37,99,235,.10);background:#fff}.pmcy-counter{position:absolute;right:13px;bottom:10px;color:#64748b}.pmcy-inline-field{display:grid;grid-template-columns:1fr auto;gap:14px;align-items:center}.pmcy-check-inline{display:flex!important;align-items:center;gap:7px;font-weight:500!important;color:#475569!important;white-space:nowrap;margin:0!important}.pmcy-check-inline input,.pmcy-consent input{width:16px;height:16px;accent-color:#2563eb}.category-fields{display:none;background:#f8fbff;border:1px solid #e0ebfb;border-radius:12px;padding:16px;margin:0 0 16px}.category-fields h3{font-size:16px;color:#1d4ed8;margin:0 0 12px}.category-fields input,.category-fields select,.category-fields .pmcy-checkbox-field{margin:0 0 10px}.category-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.category-fields[style*="block"]{display:grid!important}.category-fields h3{grid-column:1/-1}.pmcy-checkbox-field{display:flex!important;align-items:center;gap:8px;background:#fff;border:1px solid #e5eaf2;border-radius:9px;padding:12px;font-weight:700}.pmcy-upload-area{display:grid;grid-template-columns:2fr repeat(3,1fr);gap:16px;align-items:stretch;margin-top:12px}.pmcy-upload-drop{min-height:118px;border:1.5px dashed #b7c9e5;border-radius:12px;background:#fbfdff;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;padding:16px;color:#334155}.pmcy-upload-icon{font-size:32px;color:#2563eb;line-height:1}.pmcy-upload-drop strong{font-weight:800}.pmcy-upload-drop span{font-size:13px;color:#64748b;margin:2px 0 8px}.pmcy-upload-btn{display:inline-flex!important;align-items:center;justify-content:center;margin:0!important;padding:10px 18px;border-radius:8px;background:#2563eb;color:#fff!important;font-weight:900!important;cursor:pointer;box-shadow:0 10px 18px rgba(37,99,235,.2)}.pmcy-upload-btn input{display:none}.pmcy-photo-placeholder{min-height:118px;border:1px dashed #b7c9e5;border-radius:12px;background:#fff;display:flex;align-items:center;justify-content:center;flex-direction:column;color:#334155;font-size:28px}.pmcy-photo-placeholder span{font-size:13px;margin-top:6px}.pmcy-consent{display:flex;gap:9px;align-items:center;color:#334155;font-size:14px;margin:10px 0}.pmcy-consent a{color:#2563eb;font-weight:800}.pmcy-submit-main-btn{width:100%;height:auto;min-height:60px;display:flex!important;flex-direction:column;border-radius:10px;margin-top:16px;font-size:17px;box-shadow:0 16px 35px rgba(37,99,235,.28)}.pmcy-submit-main-btn span{font-size:13px;font-weight:500;opacity:.94}.pmcy-submit-benefits{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid #e7edf6;border-radius:12px;margin-top:18px;background:#fbfdff;overflow:hidden}.pmcy-submit-benefits div{padding:15px 18px;border-right:1px solid #e7edf6}.pmcy-submit-benefits div:last-child{border-right:none}.pmcy-submit-benefits strong{display:block;color:#1e3a8a;font-size:14px}.pmcy-submit-benefits span{display:block;color:#64748b;font-size:12px;margin-top:3px}.pmcy-submit-tips{background:#fff;border:1px solid #e7edf6;border-radius:16px;padding:22px;box-shadow:0 24px 55px rgba(15,23,42,.08);position:sticky;top:110px}.pmcy-submit-tips h3{font-size:20px;color:#111827;margin:0 0 18px}.pmcy-tip{display:grid;grid-template-columns:45px 1fr;gap:13px;margin-bottom:22px}.pmcy-tip>span{width:45px;height:45px;border-radius:50%;background:#eef4ff;display:flex;align-items:center;justify-content:center;font-size:20px}.pmcy-tip:nth-child(3)>span{background:#dcfce7}.pmcy-tip:nth-child(4)>span{background:#ffedd5}.pmcy-tip:nth-child(5)>span{background:#f3e8ff}.pmcy-tip strong{display:block;color:#111827;font-size:14px;margin-bottom:4px}.pmcy-tip p,.pmcy-safe-box p{color:#475569;font-size:13px;line-height:1.45;margin:0}.pmcy-safe-box{border:1px solid #bfdbfe;background:#f8fbff;border-radius:10px;padding:15px;margin-top:12px}.pmcy-safe-box strong{display:block;color:#2563eb;margin-bottom:6px}.submit-page .pmcy-submit-card input,.submit-page .pmcy-submit-card select,.submit-page .pmcy-submit-card textarea{margin-bottom:0}
@media(max-width:1050px){.pmcy-submit-layout{grid-template-columns:1fr}.pmcy-submit-tips{position:static}.pmcy-upload-area{grid-template-columns:1fr 1fr}.pmcy-submit-benefits{grid-template-columns:1fr}.pmcy-submit-benefits div{border-right:none;border-bottom:1px solid #e7edf6}.pmcy-submit-benefits div:last-child{border-bottom:none}}
@media(max-width:700px){.pmcy-submit-pro-header h1{font-size:27px}.pmcy-form-grid.two,.pmcy-inline-field{grid-template-columns:1fr}.pmcy-upload-area{grid-template-columns:1fr}.pmcy-submit-card-pro{padding:16px}.pmcy-submit-info{align-items:flex-start}.category-fields[style*="block"]{grid-template-columns:1fr!important}}


/* Photo preview + submit feedback improvements */
.pmcy-submit-success{display:flex;align-items:flex-start;gap:14px;max-width:930px;margin:0 0 18px;padding:16px 18px;border:1px solid #bbf7d0;background:#f0fdf4;border-radius:14px;color:#14532d;box-shadow:0 14px 30px rgba(22,163,74,.12);outline:none}.pmcy-submit-success .pmcy-success-icon{width:34px;height:34px;border-radius:50%;background:#22c55e;color:#fff;display:flex;align-items:center;justify-content:center;font-weight:900;flex:0 0 34px}.pmcy-submit-success strong{display:block;font-size:16px}.pmcy-submit-success span{display:block;font-size:13px;color:#166534;margin-top:3px}.pmcy-upload-drop.is-dragover{border-color:#2563eb;background:#eff6ff;box-shadow:0 0 0 4px rgba(37,99,235,.10)}.pmcy-photo-preview{position:relative;min-height:118px;border-radius:12px;overflow:hidden;background:#f8fafc;border:1px solid #e2e8f0;box-shadow:0 10px 20px rgba(15,23,42,.08)}.pmcy-photo-preview img{width:100%;height:118px;display:block;object-fit:cover}.pmcy-photo-preview span{position:absolute;top:7px;right:7px;width:23px;height:23px;border-radius:50%;background:rgba(15,23,42,.72);color:#fff;display:flex;align-items:center;justify-content:center;font-size:15px;font-weight:900;line-height:1}.pmcy-submit-main-btn.is-loading{opacity:.8;cursor:wait;filter:saturate(.9)}@media(max-width:1050px){.pmcy-extra-slot{display:none!important}}

/* Edit listing page polish */
.pmcy-back-btn{
    display:block;
    text-align:center;
    margin-top:12px;
    background:#eef4ff!important;
    color:#1d4ed8!important;
    box-shadow:none!important;
}
.pmcy-back-btn:hover{background:#dbeafe!important;}

.pmcy-booking-card.status-cancelled{border-color:#cbd5e1;background:#f8fafc;opacity:.92}
.pmcy-status-pill.status-cancelled{background:#e2e8f0;color:#475569}
.btn.btn-danger{background:#ef4444;color:#fff;border-color:#ef4444;box-shadow:0 10px 22px rgba(239,68,68,.18)}
.btn.btn-danger:hover{background:#dc2626;border-color:#dc2626;color:#fff}
.pmcy-cancelled-note{margin-top:10px;color:#64748b;font-weight:800}
.pmcy-cancel-booking-form{margin-top:12px}

/* Share popup hard fix v8.2 */
.pmcy-share-modal[hidden]{display:none!important}
.pmcy-share-modal{position:fixed!important;inset:0!important;z-index:999999!important;display:flex!important;align-items:center!important;justify-content:center!important;padding:18px!important}
.pmcy-share-backdrop{position:absolute!important;inset:0!important;background:rgba(15,23,42,.6)!important}
.pmcy-share-dialog{position:relative!important;width:min(520px,100%)!important;background:#fff!important;border-radius:22px!important;padding:24px!important;box-shadow:0 30px 80px rgba(15,23,42,.35)!important}
.pmcy-share-close{position:absolute!important;right:14px!important;top:12px!important;width:36px!important;height:36px!important;border:0!important;border-radius:50%!important;background:#f1f5f9!important;font-size:24px!important;cursor:pointer!important}
.pmcy-share-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}
.pmcy-share-item{display:flex!important;align-items:center!important;gap:8px!important;padding:13px!important;border-radius:14px!important;border:1px solid #dbeafe!important;background:#f8fbff!important;color:#0f172a!important;font-weight:900!important;text-decoration:none!important;cursor:pointer!important}
.pmcy-share-url{width:100%!important;margin-top:14px!important;border:1px solid #dbeafe!important;border-radius:14px!important;padding:12px!important}
@media(max-width:700px){.pmcy-share-grid{grid-template-columns:1fr!important}}


/* PlaceMarketCY Notifications v8.3 */
.header-icon{position:relative}
.pmcy-unread-badge,
.pmcy-menu-badge,
.pmcy-bottom-badge,
.pmcy-card-badge{
    background:#ef4444!important;
    color:#fff!important;
    border-radius:999px!important;
    min-width:18px!important;
    height:18px!important;
    padding:0 5px!important;
    font-size:11px!important;
    font-weight:900!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    line-height:1!important;
}
.pmcy-unread-badge{
    position:absolute!important;
    top:-6px!important;
    right:-6px!important;
    border:2px solid #fff!important;
}
.pmcy-menu-badge{
    margin-left:6px!important;
    vertical-align:middle!important;
}
.pmcy-bottom-badge{
    position:absolute!important;
    top:-7px!important;
    right:-10px!important;
    border:2px solid #fff!important;
}
.pmcy-card-badge{
    margin-left:8px!important;
}
.pmcy-mobile-bottom-nav a span{position:relative!important}
.pmcy-notifications-page{
    background:linear-gradient(135deg,#f3f7ff 0%,#fff 48%,#f8f5ff 100%)!important;
    padding:60px 0 90px!important;
}
.pmcy-notifications-page .container{max-width:980px!important}
.pmcy-notifications-hero{
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:18px!important;
    background:linear-gradient(135deg,#2563eb,#1d4ed8)!important;
    color:#fff!important;
    border-radius:24px!important;
    padding:28px!important;
    box-shadow:0 20px 45px rgba(37,99,235,.24)!important;
    margin-bottom:22px!important;
}
.pmcy-notifications-hero h1{margin:0 0 6px!important;color:#fff!important;font-size:34px!important}
.pmcy-notifications-hero p{margin:0!important;color:#dbeafe!important}
.pmcy-notifications-hero .btn{background:#fff!important;color:#1d4ed8!important;border-radius:14px!important;font-weight:900!important}
.pmcy-notifications-summary{
    display:grid!important;
    grid-template-columns:repeat(3,1fr)!important;
    gap:14px!important;
    margin-bottom:20px!important;
}
.pmcy-notifications-summary div{
    background:#fff!important;
    border:1px solid #dbeafe!important;
    border-radius:18px!important;
    padding:18px!important;
    box-shadow:0 12px 28px rgba(15,23,42,.07)!important;
}
.pmcy-notifications-summary strong{
    display:block!important;
    color:#2563eb!important;
    font-size:30px!important;
    line-height:1!important;
}
.pmcy-notifications-summary span{
    color:#64748b!important;
    font-weight:800!important;
    font-size:13px!important;
}
.pmcy-notifications-list{
    display:grid!important;
    gap:12px!important;
}
.pmcy-notification-card{
    display:grid!important;
    grid-template-columns:52px minmax(0,1fr) auto!important;
    gap:14px!important;
    align-items:center!important;
    background:#fff!important;
    border:1px solid #e2e8f0!important;
    border-radius:18px!important;
    padding:16px!important;
    text-decoration:none!important;
    box-shadow:0 12px 28px rgba(15,23,42,.06)!important;
}
.pmcy-notification-card.is-unread{
    border-color:#93c5fd!important;
    background:#f8fbff!important;
}
.pmcy-notification-icon{
    width:52px!important;
    height:52px!important;
    border-radius:16px!important;
    background:#eff6ff!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    font-size:24px!important;
}
.pmcy-notification-content strong{
    display:block!important;
    color:#0f172a!important;
    font-size:16px!important;
}
.pmcy-notification-content small{
    display:block!important;
    color:#475569!important;
    margin-top:3px!important;
}
.pmcy-notification-content em{
    display:block!important;
    color:#94a3b8!important;
    font-style:normal!important;
    font-size:12px!important;
    margin-top:5px!important;
}
.pmcy-notification-card b{
    background:#ef4444!important;
    color:#fff!important;
    border-radius:999px!important;
    padding:6px 10px!important;
    font-size:11px!important;
}
.pmcy-notifications-empty{
    background:#fff!important;
    border:1px dashed #cbd5e1!important;
    border-radius:18px!important;
    padding:28px!important;
    text-align:center!important;
    color:#64748b!important;
}
@media(max-width:720px){
    .pmcy-notifications-page{padding:32px 0 110px!important}
    .pmcy-notifications-hero{display:block!important;padding:20px!important;border-radius:18px!important}
    .pmcy-notifications-hero h1{font-size:26px!important}
    .pmcy-notifications-hero .btn{display:block!important;margin-top:14px!important;text-align:center!important}
    .pmcy-notifications-summary{grid-template-columns:1fr!important}
    .pmcy-notification-card{grid-template-columns:42px minmax(0,1fr)!important}
    .pmcy-notification-card b{grid-column:2!important;justify-self:start!important}
    .pmcy-notification-icon{width:42px!important;height:42px!important;border-radius:13px!important;font-size:20px!important}
}


/* PlaceMarketCY Messages Pro v8.5 */
.pmcy-chat-page{
    background:linear-gradient(135deg,#f3f7ff 0%,#ffffff 48%,#f8f5ff 100%)!important;
    padding:56px 0 90px!important;
}
.pmcy-chat-page .container{max-width:1180px!important}
.pmcy-chat-page h1{
    font-size:34px!important;
    margin:0 0 6px!important;
    color:#0f172a!important;
    letter-spacing:-.6px!important;
}
.pmcy-chat-page .page-subtitle{
    color:#64748b!important;
    margin:0 0 22px!important;
}
.pmcy-chat-layout{
    display:grid!important;
    grid-template-columns:300px minmax(0,1fr)!important;
    gap:18px!important;
    align-items:stretch!important;
}
.pmcy-chat-list,
.pmcy-chat-thread{
    background:#fff!important;
    border:1px solid #dbeafe!important;
    border-radius:24px!important;
    box-shadow:0 18px 45px rgba(15,23,42,.08)!important;
}
.pmcy-chat-list{
    padding:10px!important;
    max-height:650px!important;
    overflow:auto!important;
}
.pmcy-chat-item{
    display:grid!important;
    grid-template-columns:52px minmax(0,1fr) auto!important;
    gap:10px!important;
    align-items:center!important;
    padding:12px!important;
    border-radius:18px!important;
    text-decoration:none!important;
    color:#0f172a!important;
    margin-bottom:8px!important;
    border:1px solid transparent!important;
}
.pmcy-chat-item:hover,
.pmcy-chat-item.active{
    background:#eff6ff!important;
    border-color:#bfdbfe!important;
}
.pmcy-chat-item .pmcy-avatar img,
.pmcy-chat-avatar-img{
    width:52px!important;
    height:52px!important;
    border-radius:50%!important;
    object-fit:cover!important;
    border:3px solid #fff!important;
    box-shadow:0 8px 18px rgba(15,23,42,.12)!important;
}
.pmcy-chat-summary{
    display:flex!important;
    flex-direction:column!important;
    gap:3px!important;
    min-width:0!important;
}
.pmcy-chat-summary strong{
    font-size:14px!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
}
.pmcy-chat-summary small{
    color:#2563eb!important;
    font-size:12px!important;
    font-weight:800!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
}
.pmcy-chat-summary em{
    color:#64748b!important;
    font-style:normal!important;
    font-size:12px!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
}
.pmcy-chat-item b{
    background:#ef4444!important;
    color:#fff!important;
    min-width:20px!important;
    height:20px!important;
    border-radius:999px!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    font-size:11px!important;
}
.pmcy-chat-thread{
    display:flex!important;
    flex-direction:column!important;
    min-height:650px!important;
    overflow:hidden!important;
}
.pmcy-thread-header{
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:14px!important;
    padding:18px!important;
    border-bottom:1px solid #e2e8f0!important;
    background:#fff!important;
}
.pmcy-thread-header span{
    color:#64748b!important;
    font-weight:800!important;
    font-size:13px!important;
}
.pmcy-thread-header h2{
    margin:4px 0 0!important;
    font-size:20px!important;
}
.pmcy-thread-header h2 a{
    color:#0f172a!important;
    text-decoration:none!important;
}
.pmcy-thread-actions{
    display:flex!important;
    gap:8px!important;
    align-items:center!important;
}
.pmcy-delete-conversation-form{margin:0!important}
.pmcy-chat-page .btn{
    border-radius:14px!important;
    font-weight:900!important;
    padding:12px 16px!important;
}
.pmcy-chat-page .btn-danger{
    background:#ef4444!important;
    border-color:#ef4444!important;
    color:#fff!important;
}
.pmcy-thread-messages{
    flex:1!important;
    padding:20px!important;
    overflow:auto!important;
    background:linear-gradient(180deg,#f8fbff,#ffffff)!important;
}
.pmcy-bubble{
    max-width:70%!important;
    padding:13px 15px!important;
    border-radius:18px!important;
    margin:0 0 12px!important;
    box-shadow:0 8px 18px rgba(15,23,42,.06)!important;
}
.pmcy-bubble.mine{
    margin-left:auto!important;
    background:#2563eb!important;
    color:#fff!important;
    border-bottom-right-radius:6px!important;
}
.pmcy-bubble.theirs{
    margin-right:auto!important;
    background:#eef4ff!important;
    color:#0f172a!important;
    border-bottom-left-radius:6px!important;
}
.pmcy-bubble.booking{
    border:2px solid #f59e0b!important;
}
.pmcy-bubble p{
    margin:0 0 8px!important;
    line-height:1.45!important;
}
.pmcy-bubble small{
    opacity:.8!important;
    font-size:11px!important;
}
.pmcy-reply-form{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) 130px!important;
    gap:10px!important;
    padding:14px!important;
    border-top:1px solid #e2e8f0!important;
    background:#fff!important;
}
.pmcy-reply-form textarea{
    min-height:54px!important;
    max-height:130px!important;
    resize:vertical!important;
    border:1px solid #dbeafe!important;
    border-radius:16px!important;
    padding:14px!important;
}
.pmcy-reply-form button{
    align-self:end!important;
}
.messages-page .empty-state{
    background:#fff!important;
    border:1px dashed #cbd5e1!important;
    border-radius:24px!important;
    padding:34px!important;
    text-align:center!important;
}
@media(max-width:850px){
    .pmcy-chat-page{
        padding:28px 0 110px!important;
    }
    .pmcy-chat-layout{
        grid-template-columns:1fr!important;
    }
    .pmcy-chat-list{
        max-height:none!important;
        display:flex!important;
        overflow-x:auto!important;
        gap:10px!important;
        padding:10px!important;
    }
    .pmcy-chat-item{
        min-width:240px!important;
        margin-bottom:0!important;
    }
    .pmcy-chat-thread{
        min-height:560px!important;
        border-radius:20px!important;
    }
    .pmcy-thread-header{
        display:block!important;
        padding:14px!important;
    }
    .pmcy-thread-actions{
        display:grid!important;
        grid-template-columns:1fr 1fr!important;
        margin-top:12px!important;
    }
    .pmcy-thread-actions .btn,
    .pmcy-thread-actions form,
    .pmcy-thread-actions button{
        width:100%!important;
        text-align:center!important;
    }
    .pmcy-bubble{
        max-width:88%!important;
    }
    .pmcy-reply-form{
        grid-template-columns:1fr!important;
    }
    .pmcy-reply-form button{
        width:100%!important;
    }
}


/* PlaceMarketCY PWA install banner v8.6 */
.pmcy-pwa-install-banner{
    position:fixed!important;
    left:50%!important;
    bottom:86px!important;
    transform:translateX(-50%)!important;
    width:min(680px,calc(100% - 28px))!important;
    z-index:999998!important;
    display:grid!important;
    grid-template-columns:46px minmax(0,1fr) auto 34px!important;
    gap:12px!important;
    align-items:center!important;
    background:#0f172a!important;
    color:#fff!important;
    border:1px solid rgba(255,255,255,.12)!important;
    border-radius:20px!important;
    padding:14px!important;
    box-shadow:0 24px 60px rgba(15,23,42,.35)!important;
}
.pmcy-pwa-install-banner[hidden]{display:none!important}
.pmcy-pwa-icon{
    width:46px!important;
    height:46px!important;
    border-radius:14px!important;
    background:#2563eb!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    font-size:24px!important;
}
.pmcy-pwa-text{
    display:flex!important;
    flex-direction:column!important;
    gap:3px!important;
    min-width:0!important;
}
.pmcy-pwa-text strong{
    font-size:15px!important;
    color:#fff!important;
}
.pmcy-pwa-text span,
.pmcy-pwa-text small{
    color:#cbd5e1!important;
    font-size:12px!important;
    line-height:1.35!important;
}
.pmcy-pwa-install-btn{
    border:0!important;
    background:#2563eb!important;
    color:#fff!important;
    border-radius:13px!important;
    padding:11px 16px!important;
    font-weight:900!important;
    cursor:pointer!important;
    white-space:nowrap!important;
}
.pmcy-pwa-close{
    border:0!important;
    background:rgba(255,255,255,.12)!important;
    color:#fff!important;
    width:34px!important;
    height:34px!important;
    border-radius:50%!important;
    font-size:20px!important;
    cursor:pointer!important;
}
@media(max-width:720px){
    .pmcy-pwa-install-banner{
        bottom:76px!important;
        grid-template-columns:40px minmax(0,1fr) 30px!important;
        padding:12px!important;
    }
    .pmcy-pwa-icon{width:40px!important;height:40px!important;font-size:21px!important}
    .pmcy-pwa-install-btn{
        grid-column:1/-1!important;
        width:100%!important;
        padding:12px!important;
    }
    .pmcy-pwa-close{
        grid-column:3!important;
        grid-row:1!important;
    }
}


/* PWA banner real app icon v8.9 */
.pmcy-pwa-icon{
    overflow:hidden!important;
    background:transparent!important;
}
.pmcy-pwa-icon img{
    width:46px!important;
    height:46px!important;
    border-radius:14px!important;
    display:block!important;
    object-fit:cover!important;
    box-shadow:0 8px 18px rgba(0,0,0,.25)!important;
}
@media(max-width:720px){
    .pmcy-pwa-icon img{
        width:40px!important;
        height:40px!important;
        border-radius:12px!important;
    }
}

/* Push notifications safe v1 */
.pmcy-push-box{
    border:1px solid #dbeafe!important;
    border-radius:20px!important;
    background:#f8fbff!important;
    box-shadow:0 14px 34px rgba(15,23,42,.07)!important;
}
.pmcy-push-box small{
    display:block!important;
    margin-top:10px!important;
    color:#64748b!important;
    line-height:1.45!important;
}
.pmcy-push-status{
    display:inline-flex!important;
    background:#eff6ff!important;
    color:#1d4ed8!important;
    border:1px solid #bfdbfe!important;
    padding:5px 10px!important;
    border-radius:999px!important;
    font-weight:900!important;
}


/* Notifications Pro UI */
.pmcy-notification-tabs{
display:flex;gap:10px;flex-wrap:wrap;margin:20px 0;
}
.pmcy-notification-tab{
padding:10px 16px;border-radius:999px;
background:#eff6ff;border:1px solid #bfdbfe;
font-weight:700;
}
.pmcy-notification-card{
border-radius:18px!important;
padding:18px!important;
box-shadow:0 10px 30px rgba(0,0,0,.08)!important;
transition:.2s;
}
.pmcy-notification-card:hover{
transform:translateY(-2px);
}
.pmcy-notification-actions{
margin-top:10px;
}
.pmcy-load-more{
display:block;
margin:20px auto;
padding:12px 20px;
border-radius:12px;
}

/* Notifications load more v10.2 */
.pmcy-load-more-wrap{
    text-align:center!important;
    margin:24px 0 6px!important;
}
.pmcy-load-more-notifications{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    border-radius:14px!important;
    font-weight:900!important;
    padding:13px 22px!important;
    box-shadow:0 12px 26px rgba(37,99,235,.14)!important;
}
.pmcy-notification-load-item{
    transition:opacity .18s ease, transform .18s ease!important;
}

/* Notifications scroll box v10.3 */
.pmcy-notifications-scroll-box{
    max-height:560px!important;
    overflow-y:auto!important;
    padding-right:8px!important;
    scroll-behavior:smooth!important;
}
.pmcy-notifications-scroll-box::-webkit-scrollbar{
    width:8px!important;
}
.pmcy-notifications-scroll-box::-webkit-scrollbar-track{
    background:#eef2ff!important;
    border-radius:999px!important;
}
.pmcy-notifications-scroll-box::-webkit-scrollbar-thumb{
    background:#93c5fd!important;
    border-radius:999px!important;
}
.pmcy-notifications-scroll-box::-webkit-scrollbar-thumb:hover{
    background:#2563eb!important;
}
@media(max-width:720px){
    .pmcy-notifications-scroll-box{
        max-height:520px!important;
        padding-right:4px!important;
    }
}

/* PlaceMarketCY Home v2 polish */
.pmcy-home-hero-v2{
    background:
        radial-gradient(circle at 85% 12%, rgba(96,165,250,.35), transparent 26%),
        radial-gradient(circle at 18% 88%, rgba(14,165,233,.18), transparent 24%),
        linear-gradient(135deg, #07111f 0%, #102a56 52%, #164e97 100%);
}
.pmcy-home-hero-v2:before{
    content:"";
    position:absolute;
    inset:0;
    background:linear-gradient(90deg, rgba(255,255,255,.06) 1px, transparent 1px), linear-gradient(rgba(255,255,255,.05) 1px, transparent 1px);
    background-size:44px 44px;
    opacity:.22;
    pointer-events:none;
}
.pmcy-home-hero-v2 .container{position:relative;z-index:2}
.pmcy-home-hero-v2 .hero-badge{box-shadow:inset 0 1px 0 rgba(255,255,255,.18)}
.pmcy-home-hero-v2 .hero-content h1{max-width:760px}
.pmcy-hero-trust-v2 span strong{color:#fff;font-weight:950}
.pmcy-hero-visual-v2{min-height:480px}
.pmcy-hero-featured-card{
    position:absolute;
    right:35px;
    top:35px;
    width:min(420px, 92%);
    background:#fff;
    color:var(--pm-dark);
    border-radius:30px;
    overflow:hidden;
    box-shadow:0 35px 90px rgba(0,0,0,.32);
    border:1px solid rgba(255,255,255,.45);
    transform:rotate(1.5deg);
    transition:.25s ease;
}
.pmcy-hero-featured-card:hover{transform:rotate(0deg) translateY(-6px)}
.pmcy-hero-featured-image{height:245px;position:relative;background:linear-gradient(135deg,#dbeafe,#eff6ff)}
.pmcy-hero-featured-image img{width:100%;height:100%;object-fit:cover;display:block}
.pmcy-hero-featured-image span{position:absolute;left:16px;top:16px;background:#fff;color:var(--pm-primary);font-weight:950;border-radius:999px;padding:8px 13px;font-size:13px;box-shadow:0 12px 30px rgba(15,23,42,.14)}
.pmcy-hero-featured-body{padding:24px}
.pmcy-hero-featured-body small,.pmcy-section-kicker{display:inline-flex;margin-bottom:10px;color:var(--pm-primary);font-weight:950;text-transform:uppercase;letter-spacing:.08em;font-size:12px}
.pmcy-hero-featured-body h3{font-size:26px;line-height:1.15;margin-bottom:8px;color:var(--pm-dark)}
.pmcy-hero-featured-body p{color:var(--pm-muted);margin:0 0 14px!important;font-size:15px!important;line-height:1.45!important}
.pmcy-hero-featured-body strong{font-size:31px;color:var(--pm-primary);font-weight:950}
.pmcy-hero-placeholder-card{min-height:320px;display:flex;align-items:center;background:linear-gradient(135deg,#fff,#eff6ff)}
.pmcy-floating-card{position:absolute;background:rgba(255,255,255,.94);color:#0f172a;border:1px solid rgba(255,255,255,.55);box-shadow:0 24px 60px rgba(0,0,0,.22);border-radius:18px;padding:15px 18px;font-weight:950;backdrop-filter:blur(12px)}
.pmcy-floating-card-top{left:5px;top:65px}.pmcy-floating-card-bottom{left:30px;bottom:45px}
.pmcy-categories-v2{padding-top:86px}.pmcy-categories-v2 .section-heading{margin-bottom:34px}
.pmcy-categories-grid-v2 .category-card{text-align:left;position:relative;overflow:hidden}
.pmcy-categories-grid-v2 .category-card:after{content:"→";position:absolute;right:24px;top:26px;width:34px;height:34px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#eff6ff;color:var(--pm-primary);font-weight:950;transition:.25s ease}
.pmcy-categories-grid-v2 .category-card:hover:after{transform:translateX(4px);background:var(--pm-primary);color:#fff}
.pmcy-home-trust-v2{background:#fff}.pmcy-home-trust-v2 .trust-card{transition:.25s ease}.pmcy-home-trust-v2 .trust-card:hover{transform:translateY(-5px);box-shadow:var(--pm-shadow-md)}
.pmcy-home-stats-v2{background:linear-gradient(135deg,#0f172a,#1d4ed8)}
.pmcy-home-cta-v2 .cta-box{background:linear-gradient(135deg,#0f172a,#111827 55%,#1e3a8a);box-shadow:0 30px 80px rgba(15,23,42,.18)}
.pmcy-home-cta-v2 .pmcy-section-kicker{color:#93c5fd}.pmcy-home-cta-v2 .btn{white-space:nowrap}
@media(max-width:900px){.pmcy-hero-featured-card{position:relative;right:auto;top:auto;width:100%;transform:none}.pmcy-hero-visual-v2{min-height:auto}.pmcy-floating-card{display:none}.pmcy-categories-grid-v2 .category-card{text-align:center}.pmcy-categories-grid-v2 .category-card:after{display:none}}
@media(max-width:600px){.pmcy-home-hero-v2{min-height:auto;padding:92px 0 80px}.pmcy-hero-featured-image{height:205px}.pmcy-home-cta-v2 .btn{width:100%;justify-content:center}.pmcy-home-stats-v2 .stats-grid{grid-template-columns:1fr}}


.listing-count{
 text-align:center;
 color:#64748b;
 font-weight:700;
 margin-top:8px;
}
.featured-listings{padding:60px 0;}
.listing-image{overflow:hidden;}
.listing-image img{transition:transform .35s ease;}
.listing-card:hover .listing-image img{transform:scale(1.05);}


/* Mobile optimizations */
@media (max-width:768px){
  .pmcy-cookie-banner,.cookie-banner,.cookie-notice,#cookie-law-info-bar{
    padding:12px !important;
    font-size:14px !important;
    max-height:140px !important;
    overflow:auto !important;
  }
  .trp-language-switcher,.language-switcher,.goog-te-gadget{
    transform:scale(.85);
    transform-origin:left bottom;
  }
  .pmcy-hero,.hero-section{
    min-height:auto !important;
    padding-top:40px !important;
    padding-bottom:40px !important;
  }
  .pmcy-hero h1,.hero-section h1{
    font-size:2rem !important;
    line-height:1.15 !important;
  }
}


/* Footer Android App install button v9.0 */
.pmcy-footer-app-btn{
    margin-top:10px!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:8px!important;
    width:max-content!important;
    max-width:100%!important;
    border:1px solid rgba(255,255,255,.18)!important;
    background:linear-gradient(135deg,#22c55e,#16a34a)!important;
    color:#fff!important;
    border-radius:14px!important;
    padding:10px 14px!important;
    font-weight:900!important;
    cursor:pointer!important;
    box-shadow:0 10px 24px rgba(34,197,94,.22)!important;
}
.pmcy-footer-app-btn:hover{
    transform:translateY(-1px)!important;
    filter:brightness(1.04)!important;
}
.pmcy-footer-app-icon{
    width:24px!important;
    height:24px!important;
    border-radius:8px!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    background:rgba(255,255,255,.18)!important;
    font-size:15px!important;
    line-height:1!important;
}
@media(max-width:768px){
    .pmcy-footer-app-btn{
        width:100%!important;
        margin-top:12px!important;
        padding:12px 14px!important;
    }
}


/* PlaceMarketCY v13 mobile width safety patch
   Prevents horizontal overflow on narrow Android/iPhone screens without changing desktop layout. */
@media (max-width: 768px){
    html, body{
        width:100%!important;
        max-width:100%!important;
        overflow-x:hidden!important;
    }

    *, *::before, *::after{
        max-width:100%;
        box-sizing:border-box;
    }

    .container,
    .narrow-container,
    .dashboard-page .container,
    .single-listing-page .container,
    .messages-page .container,
    .bookings-page .container,
    .submit-listing-page .container,
    .notifications-page .container{
        width:100%!important;
        max-width:100%!important;
        padding-left:14px!important;
        padding-right:14px!important;
        margin-left:auto!important;
        margin-right:auto!important;
    }

    .site-header,
    .site-header .container,
    .header-flex{
        width:100%!important;
        max-width:100%!important;
        overflow:visible!important;
    }

    .logo-text{
        font-size:clamp(20px, 7vw, 26px)!important;
        letter-spacing:-1px!important;
        white-space:nowrap!important;
    }

    .header-right{
        gap:6px!important;
        min-width:0!important;
        flex-shrink:0!important;
    }

    .btn-add-listing,
    .site-header .btn{
        max-width:112px!important;
        overflow:hidden!important;
        text-overflow:ellipsis!important;
        white-space:nowrap!important;
    }

    .dashboard-grid,
    .dashboard-stats,
    .dashboard-actions,
    .form-grid,
    .listing-grid,
    .listings-grid,
    .category-grid,
    .categories-grid,
    .footer-grid,
    .trust-grid,
    .stats-grid,
    .single-card,
    .single-listing-layout,
    .pmcy-chat-layout,
    .bookings-layout{
        grid-template-columns:1fr!important;
        width:100%!important;
        max-width:100%!important;
    }

    .dashboard-card,
    .stat-card,
    .listing-card,
    .category-card,
    .single-card,
    .auth-card,
    .register-card,
    .pmcy-chat-thread,
    .pmcy-chat-list,
    .pmcy-booking-card,
    .pmcy-notification-card,
    .pmcy-push-card,
    .pmcy-calendar-wrap,
    .form-panel,
    .tips-card,
    .seller-card,
    .sidebar-card{
        width:100%!important;
        max-width:100%!important;
        min-width:0!important;
        overflow:hidden!important;
    }

    .listing-card img,
    .listing-image img,
    .gallery-main img,
    .single-image img{
        width:100%!important;
        max-width:100%!important;
        object-fit:cover!important;
    }

    input,
    select,
    textarea,
    button,
    .btn{
        max-width:100%!important;
    }

    .pmcy-chat-list{
        overflow-x:auto!important;
        -webkit-overflow-scrolling:touch!important;
    }

    .pmcy-chat-item{
        min-width:min(240px, 82vw)!important;
        max-width:82vw!important;
    }

    .pmcy-thread-actions{
        grid-template-columns:1fr!important;
    }

    .cookie-banner{
        left:8px!important;
        right:8px!important;
        bottom:78px!important;
        max-width:calc(100% - 16px)!important;
        border-radius:16px!important;
        padding:13px!important;
    }

    .pmcy-mobile-bottom-nav{
        width:100%!important;
        max-width:100%!important;
        overflow:hidden!important;
    }

    .pmcy-mobile-bottom-nav small{
        font-size:10px!important;
        max-width:100%;
        overflow:hidden;
        text-overflow:ellipsis;
        white-space:nowrap;
    }

    pre,
    code,
    .pmcy-push-test-result,
    .pmcy-push-debug,
    .pmcy-test-push-result,
    .pmcy-fcm-test-result,
    .pmcy-notifications-scroll-box{
        max-width:100%!important;
        overflow-x:auto!important;
        white-space:pre-wrap!important;
        word-break:break-word!important;
    }
}

@media (max-width: 390px){
    .container,
    .narrow-container,
    .dashboard-page .container{
        padding-left:10px!important;
        padding-right:10px!important;
    }

    .logo-text{
        font-size:21px!important;
    }

    .header-icon{
        width:34px!important;
        height:34px!important;
    }

    .btn-add-listing,
    .site-header .btn{
        max-width:98px!important;
        padding-left:8px!important;
        padding-right:8px!important;
        font-size:11px!important;
    }

    .mobile-menu-toggle{
        width:38px!important;
        height:38px!important;
        flex-basis:38px!important;
    }

    .hero-content h1{
        font-size:clamp(32px, 10vw, 44px)!important;
    }

    .listing-card,
    .dashboard-card,
    .stat-card{
        border-radius:20px!important;
    }
}


/* PlaceMarketCY v14 Mobile UX redesign
   Airbnb + Booking + Bazaraki inspired mobile-only layout.
   Desktop remains untouched because all rules are inside max-width media queries. */
@media (max-width: 768px){

    :root{
        --pm-mobile-safe-bottom: 78px;
    }

    body{
        padding-bottom: calc(var(--pm-mobile-safe-bottom) + 8px)!important;
        background:#f8fafc!important;
    }

    /* Slim app-like header */
    .site-header{
        position:sticky!important;
        top:0!important;
        z-index:9999!important;
        background:#fff!important;
        border-bottom:1px solid rgba(226,232,240,.9)!important;
        box-shadow:0 4px 18px rgba(15,23,42,.06)!important;
    }

    .site-header .container{
        padding-left:14px!important;
        padding-right:10px!important;
    }

    .header-flex{
        min-height:62px!important;
        height:62px!important;
        gap:8px!important;
        display:flex!important;
        align-items:center!important;
        justify-content:space-between!important;
        flex-wrap:nowrap!important;
    }

    .logo{
        min-width:0!important;
        flex:1 1 auto!important;
        overflow:hidden!important;
    }

    .logo a{
        display:block!important;
        min-width:0!important;
        max-width:100%!important;
    }

    .logo-text{
        display:block!important;
        font-size:clamp(24px, 7.4vw, 32px)!important;
        line-height:1!important;
        letter-spacing:-1.7px!important;
        white-space:nowrap!important;
        overflow:visible!important;
        text-overflow:clip!important;
        max-width:none!important;
    }

    .logo-tagline{
        display:none!important;
    }

    .header-right{
        flex:0 0 auto!important;
        display:flex!important;
        align-items:center!important;
        gap:6px!important;
    }

    .main-nav{
        display:none!important;
    }

    .header-icon,
    .notification-btn,
    .account-avatar,
    .pmcy-header-avatar{
        width:38px!important;
        height:38px!important;
        min-width:38px!important;
        border-radius:999px!important;
    }

    .site-header .btn-add-listing,
    .site-header .btn,
    .header-right > a.btn{
        display:none!important;
    }

    .mobile-menu-toggle{
        display:flex!important;
        width:46px!important;
        height:46px!important;
        min-width:46px!important;
        border-radius:16px!important;
        background:#f1f5f9!important;
        color:#0f172a!important;
        box-shadow:none!important;
        border:0!important;
    }

    /* Hero becomes compact travel-marketplace cover */
    .hero,
    .hero-marketplace,
    .pmcy-home-hero-v2{
        padding:0!important;
        min-height:0!important;
        overflow:hidden!important;
        background:
            linear-gradient(180deg, rgba(15,23,42,.20), rgba(15,23,42,.68)),
            linear-gradient(135deg,#0f172a,#2563eb)!important;
    }

    .hero .container,
    .hero-marketplace .container,
    .pmcy-home-hero-v2 .container{
        padding:0!important;
    }

    .hero-grid{
        display:block!important;
        width:100%!important;
    }

    .hero-content{
        min-height:345px!important;
        display:flex!important;
        flex-direction:column!important;
        align-items:center!important;
        justify-content:center!important;
        text-align:center!important;
        padding:38px 18px 72px!important;
        position:relative!important;
        z-index:1!important;
    }

    .hero-badge{
        font-size:13px!important;
        line-height:1.2!important;
        padding:9px 14px!important;
        border-radius:999px!important;
        background:rgba(255,255,255,.16)!important;
        border:1px solid rgba(255,255,255,.25)!important;
        backdrop-filter:blur(10px)!important;
        margin-bottom:18px!important;
        white-space:normal!important;
    }

    .hero-content h1{
        font-size:clamp(28px, 7.6vw, 38px)!important;
        line-height:1.08!important;
        letter-spacing:-1.1px!important;
        max-width:360px!important;
        margin:0 auto 14px!important;
        color:#fff!important;
    }

    .hero-content p{
        font-size:15px!important;
        line-height:1.55!important;
        max-width:360px!important;
        margin:0 auto!important;
        color:rgba(255,255,255,.88)!important;
    }

    .hero-actions{
        width:100%!important;
        display:grid!important;
        grid-template-columns:1fr!important;
        gap:10px!important;
        margin-top:24px!important;
        max-width:360px!important;
    }

    .hero-actions .btn,
    .hero-btn-primary,
    .hero-btn-secondary{
        min-height:54px!important;
        height:54px!important;
        border-radius:18px!important;
        padding:0 18px!important;
        font-size:16px!important;
        font-weight:900!important;
        width:100%!important;
        box-shadow:0 14px 30px rgba(37,99,235,.22)!important;
    }

    .hero-btn-secondary{
        background:rgba(255,255,255,.12)!important;
        border:1px solid rgba(255,255,255,.24)!important;
        color:#fff!important;
        box-shadow:none!important;
    }

    .hero-trust,
    .pmcy-hero-trust-v2,
    .hero-visual,
    .pmcy-hero-visual-v2{
        display:none!important;
    }

    /* Search card floats under hero like Booking/Airbnb */
    .search-section{
        padding:0 0 18px!important;
        margin-top:-46px!important;
        position:relative!important;
        z-index:5!important;
        background:transparent!important;
    }

    .search-section .container{
        padding-left:14px!important;
        padding-right:14px!important;
    }

    .market-search{
        display:grid!important;
        grid-template-columns:1fr 48px!important;
        gap:10px!important;
        background:#fff!important;
        border:1px solid rgba(226,232,240,.95)!important;
        border-radius:22px!important;
        padding:10px!important;
        box-shadow:0 18px 44px rgba(15,23,42,.14)!important;
        align-items:center!important;
    }

    .market-search input[name="keyword"]{
        grid-column:1/2!important;
        min-height:48px!important;
        border:0!important;
        background:#f8fafc!important;
        border-radius:16px!important;
        padding:0 14px!important;
        font-size:14px!important;
    }

    .market-search button,
    .market-search input[type="submit"]{
        grid-column:2/3!important;
        width:48px!important;
        height:48px!important;
        min-height:48px!important;
        padding:0!important;
        border-radius:16px!important;
        font-size:0!important;
        overflow:hidden!important;
    }

    .market-search button:before,
    .market-search input[type="submit"]:before{
        content:"🔍";
        font-size:20px!important;
        line-height:1!important;
    }

    .market-search select,
    .market-search input:not([name="keyword"]):not([type="submit"]),
    .market-search .pmcy-filter-group{
        grid-column:1/-1!important;
        min-height:44px!important;
        border-radius:14px!important;
    }

    /* Airbnb-style horizontal category rail */
    .categories,
    .pmcy-categories-v2{
        padding:10px 0 18px!important;
        background:#fff!important;
    }

    .categories .section-heading{
        display:none!important;
    }

    .categories-grid,
    .pmcy-categories-grid-v2{
        display:flex!important;
        gap:10px!important;
        overflow-x:auto!important;
        padding:4px 14px 14px!important;
        margin-left:-14px!important;
        margin-right:-14px!important;
        scroll-snap-type:x mandatory!important;
        -webkit-overflow-scrolling:touch!important;
    }

    .categories-grid::-webkit-scrollbar,
    .pmcy-categories-grid-v2::-webkit-scrollbar{
        display:none!important;
    }

    .category-card{
        flex:0 0 86px!important;
        min-width:86px!important;
        min-height:92px!important;
        scroll-snap-align:start!important;
        padding:12px 8px!important;
        border-radius:18px!important;
        border:1px solid #e5eaf2!important;
        background:#fff!important;
        box-shadow:0 8px 20px rgba(15,23,42,.08)!important;
        text-align:center!important;
    }

    .category-card .icon{
        width:42px!important;
        height:42px!important;
        margin:0 auto 8px!important;
        border-radius:14px!important;
        display:flex!important;
        align-items:center!important;
        justify-content:center!important;
        font-size:22px!important;
        background:#eff6ff!important;
    }

    .category-card h3{
        font-size:12px!important;
        line-height:1.15!important;
        margin:0!important;
        font-weight:900!important;
    }

    .category-card span,
    .category-card:after{
        display:none!important;
    }

    /* Listings look like modern marketplace cards */
    .featured-listings{
        padding:20px 0 18px!important;
        background:#f8fafc!important;
    }

    .featured-listings .section-heading{
        display:flex!important;
        align-items:flex-end!important;
        justify-content:space-between!important;
        gap:12px!important;
        text-align:left!important;
        margin-bottom:14px!important;
        padding:0 2px!important;
    }

    .featured-listings .section-heading h2{
        font-size:20px!important;
        line-height:1.15!important;
        margin:0!important;
        letter-spacing:-.4px!important;
    }

    .featured-listings .section-heading p,
    .listing-count{
        display:none!important;
    }

    .listing-grid,
    .listings-grid{
        display:grid!important;
        grid-template-columns:1fr!important;
        gap:14px!important;
    }

    .listing-card{
        display:grid!important;
        grid-template-columns:132px 1fr!important;
        gap:12px!important;
        align-items:stretch!important;
        background:#fff!important;
        border:1px solid #e5eaf2!important;
        border-radius:20px!important;
        overflow:hidden!important;
        box-shadow:0 10px 26px rgba(15,23,42,.08)!important;
    }

    .listing-image{
        height:132px!important;
        min-height:132px!important;
        border-radius:0!important;
        display:block!important;
        overflow:hidden!important;
    }

    .listing-image img{
        width:100%!important;
        height:100%!important;
        object-fit:cover!important;
    }

    .listing-badge{
        top:8px!important;
        left:8px!important;
        padding:6px 8px!important;
        border-radius:999px!important;
        font-size:10px!important;
        max-width:110px!important;
        white-space:nowrap!important;
        overflow:hidden!important;
        text-overflow:ellipsis!important;
    }

    .listing-body{
        padding:12px 12px 12px 0!important;
        display:flex!important;
        flex-direction:column!important;
        justify-content:center!important;
        min-width:0!important;
    }

    .listing-body h3{
        font-size:15px!important;
        line-height:1.25!important;
        margin:0 0 6px!important;
        display:-webkit-box!important;
        -webkit-line-clamp:2!important;
        -webkit-box-orient:vertical!important;
        overflow:hidden!important;
    }

    .listing-location{
        font-size:12px!important;
        color:#64748b!important;
        margin:0 0 8px!important;
        white-space:nowrap!important;
        overflow:hidden!important;
        text-overflow:ellipsis!important;
    }

    .listing-price{
        font-size:17px!important;
        font-weight:950!important;
        color:var(--pm-primary)!important;
        margin:0 0 6px!important;
    }

    .listing-body .btn{
        display:none!important;
    }

    /* Floating post button; top header button is hidden on mobile */
    .pmcy-mobile-bottom-nav .post,
    .pmcy-mobile-bottom-nav .plus,
    .pmcy-mobile-bottom-nav a[href*="submit-listing"]{
        transform:translateY(-12px)!important;
    }

    .pmcy-floating-submit-mobile{
        position:fixed!important;
        right:18px!important;
        bottom:calc(var(--pm-mobile-safe-bottom) + 18px)!important;
        width:58px!important;
        height:58px!important;
        border-radius:999px!important;
        z-index:9998!important;
        background:#2563eb!important;
        color:#fff!important;
        display:flex!important;
        align-items:center!important;
        justify-content:center!important;
        box-shadow:0 16px 34px rgba(37,99,235,.34)!important;
    }

    /* Cookie banner becomes compact and stops covering the UI */
    .cookie-banner,
    #pmcyCookieBanner{
        left:10px!important;
        right:10px!important;
        bottom:64px!important;
        max-width:calc(100% - 20px)!important;
        min-height:0!important;
        max-height:74px!important;
        padding:9px 10px!important;
        border-radius:16px!important;
        display:flex!important;
        align-items:center!important;
        gap:10px!important;
        font-size:12px!important;
        line-height:1.25!important;
        box-shadow:0 14px 34px rgba(15,23,42,.18)!important;
    }

    .cookie-banner p,
    #pmcyCookieBanner p{
        margin:0!important;
        display:-webkit-box!important;
        -webkit-line-clamp:2!important;
        -webkit-box-orient:vertical!important;
        overflow:hidden!important;
        flex:1!important;
    }

    .cookie-banner a,
    #pmcyCookieBanner a{
        display:none!important;
    }

    .cookie-banner button,
    #pmcyCookieBanner button,
    .cookie-banner .btn,
    #pmcyCookieBanner .btn{
        width:46px!important;
        min-width:46px!important;
        height:42px!important;
        padding:0!important;
        border-radius:14px!important;
        font-size:13px!important;
        flex:0 0 auto!important;
    }

    /* Move translate widget away from bottom navigation */
    .gt_float_switcher,
    .gtranslate_wrapper,
    .trp-language-switcher,
    .goog-te-gadget{
        position:fixed!important;
        left:10px!important;
        bottom:calc(var(--pm-mobile-safe-bottom) + 84px)!important;
        z-index:9997!important;
        transform:scale(.78)!important;
        transform-origin:left bottom!important;
        max-width:142px!important;
    }

    /* Bottom nav more app-like */
    .pmcy-mobile-bottom-nav{
        position:fixed!important;
        left:0!important;
        right:0!important;
        bottom:0!important;
        height:64px!important;
        padding:6px 4px max(6px, env(safe-area-inset-bottom))!important;
        background:rgba(255,255,255,.96)!important;
        backdrop-filter:blur(16px)!important;
        border-top:1px solid #e5eaf2!important;
        box-shadow:0 -8px 24px rgba(15,23,42,.08)!important;
        z-index:9999!important;
    }

    .pmcy-mobile-bottom-nav a{
        min-width:0!important;
        font-size:11px!important;
        font-weight:800!important;
        color:#334155!important;
    }

    .pmcy-mobile-bottom-nav .nav-icon,
    .pmcy-mobile-bottom-nav i{
        font-size:20px!important;
        line-height:1!important;
    }

    /* Dashboard and forms get compact app-like spacing */
    .dashboard-page,
    .submit-listing-page,
    .messages-page,
    .bookings-page,
    .notifications-page{
        padding-top:18px!important;
    }

    .dashboard-card,
    .stat-card,
    .pmcy-push-card,
    .form-panel,
    .pmcy-submit-card{
        border-radius:20px!important;
        box-shadow:0 8px 22px rgba(15,23,42,.07)!important;
        padding:18px!important;
    }
}

@media (max-width: 390px){
    .logo-text{
        font-size:25px!important;
        letter-spacing:-1.9px!important;
    }

    .header-icon,
    .notification-btn,
    .account-avatar,
    .pmcy-header-avatar{
        width:34px!important;
        height:34px!important;
        min-width:34px!important;
    }

    .mobile-menu-toggle{
        width:42px!important;
        height:42px!important;
        min-width:42px!important;
    }

    .hero-content{
        min-height:326px!important;
        padding-left:14px!important;
        padding-right:14px!important;
    }

    .hero-content h1{
        font-size:30px!important;
    }

    .listing-card{
        grid-template-columns:118px 1fr!important;
    }

    .listing-image{
        height:122px!important;
        min-height:122px!important;
    }

    .category-card{
        flex-basis:80px!important;
        min-width:80px!important;
    }
}

/* PlaceMarketCY v14.1 Mobile hotfix
   Fixes: hamburger menu not opening, search panel under header, empty grey listing meta.
   Mobile only: desktop is untouched. */
@media (max-width: 768px){
    /* The v14 redesign hid .main-nav with !important, so the JS .mobile-open class could not reveal it. */
    .site-header .main-nav.mobile-open,
    body .main-nav.mobile-open{
        display:block!important;
        position:absolute!important;
        top:100%!important;
        left:0!important;
        right:0!important;
        width:100%!important;
        background:#fff!important;
        border:1px solid #e5eaf2!important;
        border-top:0!important;
        border-radius:0 0 20px 20px!important;
        box-shadow:0 18px 44px rgba(15,23,42,.16)!important;
        z-index:10060!important;
        max-height:calc(100vh - 74px)!important;
        overflow-y:auto!important;
    }

    .site-header .main-nav.mobile-open ul{
        display:flex!important;
        flex-direction:column!important;
        align-items:stretch!important;
        gap:0!important;
        padding:10px 16px 14px!important;
        margin:0!important;
    }

    .site-header .main-nav.mobile-open li{
        width:100%!important;
        list-style:none!important;
    }

    .site-header .main-nav.mobile-open a{
        display:block!important;
        width:100%!important;
        padding:14px 0!important;
        border-bottom:1px solid #eef2f7!important;
        color:#0f172a!important;
        font-size:15px!important;
        font-weight:900!important;
    }

    .site-header .main-nav.mobile-open li:last-child a{
        border-bottom:0!important;
    }

    /* Search/listing pages must start below the sticky header, not behind it. */
    body.archive .site-main,
    body.search .site-main,
    body.post-type-archive-listing .site-main,
    body[class*="post-type-archive"] .site-main,
    body[class*="tax-"] .site-main{
        padding-top:18px!important;
    }

    body.archive .search-section,
    body.search .search-section,
    body.post-type-archive-listing .search-section,
    body[class*="post-type-archive"] .search-section,
    body[class*="tax-"] .search-section{
        margin-top:0!important;
        padding-top:16px!important;
        position:relative!important;
        z-index:1!important;
        overflow:visible!important;
    }

    body.archive .search-section .container,
    body.search .search-section .container,
    body.post-type-archive-listing .search-section .container,
    body[class*="post-type-archive"] .search-section .container,
    body[class*="tax-"] .search-section .container{
        padding-top:0!important;
    }

    /* Make filter card normal on mobile category/search pages. */
    body.archive .market-search,
    body.search .market-search,
    body.post-type-archive-listing .market-search,
    body[class*="post-type-archive"] .market-search,
    body[class*="tax-"] .market-search{
        margin-top:0!important;
        transform:none!important;
        position:relative!important;
        z-index:2!important;
        border-radius:22px!important;
        overflow:visible!important;
    }

    /* Mobile listing location */
    .listing-card .listing-location,
    .listing-card .location{
        display:flex!important;
        align-items:center!important;
        gap:6px!important;
        color:#6b7280!important;
        background:none!important;
        box-shadow:none!important;
        border:0!important;
        min-height:0!important;
        height:auto!important;
        width:auto!important;
    }

    .listing-card .listing-body:before,
    .listing-card .listing-body:after,
    .listing-card .listing-content:before,
    .listing-card .listing-content:after{
        content:none!important;
        display:none!important;
    }

    .listing-card .listing-body *,
    .listing-card .listing-content *{
        filter:none!important;
    }

    .listing-card .listing-price{
        margin-top:6px!important;
    }

    /* Keep the language switcher away from listing cards and bottom nav. */
    .gt_float_switcher,
    .gtranslate_wrapper,
    .trp-language-switcher,
    .goog-te-gadget{
        left:8px!important;
        bottom:calc(var(--pm-mobile-safe-bottom) + 96px)!important;
        z-index:9996!important;
    }
}


/* PlaceMarketCY v14.3 price + location final override
   Applies to desktop and mobile. Keeps actions/buttons blue, but prices neutral.
   Restores listing location on mobile cards. */
.listing-card .listing-price,
.listing-grid .listing-price,
.featured-listings .listing-price,
.archive-listing .listing-price,
body .listing-price{
    color:#111827!important;
    background:transparent!important;
    font-weight:900!important;
}

.listing-card .listing-location,
.listing-grid .listing-location,
.featured-listings .listing-location,
.archive-listing .listing-location,
body .listing-card p.listing-location{
    display:block!important;
    visibility:visible!important;
    opacity:1!important;
    color:#64748b!important;
    background:transparent!important;
    border:0!important;
    box-shadow:none!important;
    font-size:13px!important;
    line-height:1.35!important;
    margin:0 0 8px!important;
    min-height:0!important;
    height:auto!important;
    width:auto!important;
    max-width:100%!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
}

@media (max-width:768px){
    .listing-card .listing-price,
    .listing-grid .listing-price,
    .featured-listings .listing-price,
    body .listing-price{
        color:#111827!important;
        background:transparent!important;
        font-size:17px!important;
        font-weight:900!important;
        margin-top:4px!important;
    }

    .listing-card .listing-location,
    .listing-grid .listing-location,
    .featured-listings .listing-location,
    body .listing-card p.listing-location{
        display:block!important;
        visibility:visible!important;
        opacity:1!important;
        color:#64748b!important;
        background:transparent!important;
        font-size:12px!important;
        margin:0 0 7px!important;
    }
}

/* PlaceMarketCY v15 trust badges */
.pmcy-trust-badges{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0 12px}
.pmcy-trust-badges span{display:inline-flex;align-items:center;gap:4px;padding:5px 8px;border-radius:999px;background:#f1f5f9;color:#0f172a;font-size:12px;font-weight:700;border:1px solid #e2e8f0}


/* PlaceMarketCY v15.14 Booking buttons color visibility fix */
.pmcy-bookings-page .inline-form button,
.pmcy-bookings-page .inline-form .btn,
.pmcy-bookings-page .pmcy-block-form button,
.pmcy-bookings-page .pmcy-ical-form button,
.pmcy-bookings-page button[name="pmcy_update_booking"],
.pmcy-bookings-page button[name="pmcy_cancel_booking"],
.pmcy-bookings-page button[name="pmcy_save_ical"],
.pmcy-bookings-page button[name="pmcy_block_dates"],
.pmcy-bookings-page button[name="booking_action"],
.pmcy-bookings-page .btn {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    visibility: visible !important;
    opacity: 1 !important;
    color: #ffffff !important;
    text-shadow: none !important;
    font-weight: 800 !important;
    border-radius: 14px !important;
    border: 1px solid transparent !important;
    min-height: 44px !important;
    padding: 12px 18px !important;
    line-height: 1.2 !important;
    cursor: pointer !important;
    pointer-events: auto !important;
    text-decoration: none !important;
}

/* Approve / primary actions */
.pmcy-bookings-page button[name="booking_action"][value="approved"],
.pmcy-bookings-page button[name="pmcy_update_booking"],
.pmcy-bookings-page .inline-form button.btn:not(.btn-light):not(.btn-danger) {
    background: #2563eb !important;
    border-color: #2563eb !important;
    color: #ffffff !important;
}

/* Reject / cancel actions */
.pmcy-bookings-page button[name="booking_action"][value="declined"],
.pmcy-bookings-page .btn-light,
.pmcy-bookings-page .btn-danger,
.pmcy-bookings-page button[name="pmcy_cancel_booking"] {
    background: #dc2626 !important;
    border-color: #dc2626 !important;
    color: #ffffff !important;
}

/* iCal / save sync actions */
.pmcy-bookings-page .pmcy-ical-form button,
.pmcy-bookings-page button[name="pmcy_save_ical"],
.pmcy-bookings-page button[name="save_ical"],
.pmcy-bookings-page .pmcy-sync-card button {
    background: #16a34a !important;
    border-color: #16a34a !important;
    color: #ffffff !important;
}

/* Block dates button */
.pmcy-bookings-page .pmcy-block-form button,
.pmcy-bookings-page button[name="pmcy_block_dates"] {
    background: #7c3aed !important;
    border-color: #7c3aed !important;
    color: #ffffff !important;
}

/* Keep button text visible even if nested spans/icons inherit other colors */
.pmcy-bookings-page button *,
.pmcy-bookings-page .btn * {
    color: #ffffff !important;
}

/* Disabled state remains visible */
.pmcy-bookings-page button:disabled,
.pmcy-bookings-page .btn:disabled {
    opacity: .65 !important;
    color: #ffffff !important;
    cursor: not-allowed !important;
}


/* PlaceMarketCY v15.16 mobile location pin fix - no emoji/font dependency */
.listing-card .listing-location,
.listing-grid .listing-location,
.featured-listings .listing-location,
.archive-listing .listing-location,
body .listing-card p.listing-location,
.pmcy-single-location{
    display:flex!important;
    align-items:center!important;
    gap:6px!important;
    visibility:visible!important;
    opacity:1!important;
    color:#475569!important;
    background:transparent!important;
    border:0!important;
    box-shadow:none!important;
    font-size:13px!important;
    line-height:1.35!important;
    margin:0 0 8px!important;
    min-height:0!important;
    height:auto!important;
    width:auto!important;
    max-width:100%!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
}
.pmcy-location-text{
    min-width:0!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    white-space:nowrap!important;
}
.pmcy-location-pin{
    flex:0 0 auto!important;
    width:14px!important;
    height:14px!important;
    display:inline-block!important;
    position:relative!important;
    margin-right:1px!important;
    background:none!important;
    border:0!important;
    box-shadow:none!important;
}
.pmcy-location-pin:before{
    content:""!important;
    position:absolute!important;
    left:2px!important;
    top:0!important;
    width:10px!important;
    height:10px!important;
    background:#ef4444!important;
    border-radius:50% 50% 50% 0!important;
    transform:rotate(-45deg)!important;
    box-shadow:0 1px 2px rgba(15,23,42,.18)!important;
}
.pmcy-location-pin:after{
    content:""!important;
    position:absolute!important;
    left:5px!important;
    top:3px!important;
    width:4px!important;
    height:4px!important;
    background:#fff!important;
    border-radius:50%!important;
}
@media (max-width:768px){
    .listing-card .listing-location,
    .listing-grid .listing-location,
    .featured-listings .listing-location,
    body .listing-card p.listing-location{
        display:flex!important;
        color:#475569!important;
        font-size:12px!important;
        margin:0 0 7px!important;
    }
}


/* v15.20 Booking success top alert fix */
.pmcy-booking-top-alert{
  position:fixed!important;
  top:18px!important;
  left:50%!important;
  transform:translateX(-50%) translateY(-120%)!important;
  z-index:999999!important;
  background:#16a34a!important;
  color:#fff!important;
  padding:14px 20px!important;
  border-radius:14px!important;
  box-shadow:0 18px 45px rgba(22,163,74,.28)!important;
  font-weight:800!important;
  font-size:15px!important;
  max-width:calc(100vw - 24px)!important;
  width:auto!important;
  text-align:center!important;
  opacity:0!important;
  transition:transform .25s ease, opacity .25s ease!important;
  pointer-events:none!important;
}
.pmcy-booking-top-alert.show{
  transform:translateX(-50%) translateY(0)!important;
  opacity:1!important;
}
.pmcy-booking-success-message{
  background:#dcfce7!important;
  color:#14532d!important;
  border:1px solid #86efac!important;
  border-radius:14px!important;
  padding:14px 16px!important;
  font-weight:800!important;
  margin:14px 0!important;
}
.pmcy-booking-highlight{
  animation:pmcyBookingPulse 1s ease-in-out 3!important;
}
@keyframes pmcyBookingPulse{
  0%,100%{box-shadow:0 0 0 0 rgba(34,197,94,.0);}
  50%{box-shadow:0 0 0 6px rgba(34,197,94,.22);}
}
@media(max-width:768px){
  .pmcy-booking-top-alert{
    top:12px!important;
    font-size:14px!important;
    padding:12px 14px!important;
    border-radius:12px!important;
  }
}


/* v15.21 Booking success visible top toast - safe override */
.pmcy-booking-top-alert{
  position:fixed!important;
  top:18px!important;
  right:18px!important;
  left:auto!important;
  transform:translateY(-140%)!important;
  z-index:2147483647!important;
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
  max-width:min(420px, calc(100vw - 24px))!important;
  background:#dcfce7!important;
  color:#14532d!important;
  border:1px solid #22c55e!important;
  padding:14px 18px!important;
  border-radius:16px!important;
  box-shadow:0 20px 50px rgba(22,163,74,.30)!important;
  font-weight:900!important;
  font-size:15px!important;
  line-height:1.35!important;
  opacity:0!important;
  transition:transform .28s ease, opacity .28s ease!important;
  pointer-events:none!important;
}
.pmcy-booking-top-alert.show{
  transform:translateY(0)!important;
  opacity:1!important;
}
.pmcy-booking-top-alert-icon{
  flex:0 0 auto!important;
  width:26px!important;
  height:26px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  border-radius:999px!important;
  background:#16a34a!important;
  color:#fff!important;
  font-weight:900!important;
}
.pmcy-booking-success-message{
  background:#dcfce7!important;
  color:#14532d!important;
  border:1px solid #22c55e!important;
  border-radius:14px!important;
  padding:14px 16px!important;
  font-weight:900!important;
  margin:14px 0!important;
}
.pmcy-booking-highlight{
  animation:pmcyBookingPulse 1s ease-in-out 3!important;
}
@media(max-width:768px){
  .pmcy-booking-top-alert{
    top:12px!important;
    left:12px!important;
    right:12px!important;
    max-width:none!important;
    font-size:14px!important;
    padding:12px 14px!important;
    border-radius:14px!important;
  }
}

/* PlaceMarketCY v15.22 - My Listings mobile action buttons fix
   Ensures Edit/Delete/View are visible on mobile listing cards. */
.my-listings-page .listing-actions{
    display:flex!important;
    flex-wrap:wrap!important;
    gap:10px!important;
    margin-top:16px!important;
    visibility:visible!important;
    opacity:1!important;
    position:relative!important;
    z-index:3!important;
}
.my-listings-page .listing-actions .btn{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:auto!important;
    min-width:0!important;
    min-height:40px!important;
    padding:10px 14px!important;
    margin:0!important;
    border-radius:12px!important;
    font-size:14px!important;
    line-height:1.1!important;
    white-space:nowrap!important;
}
@media (max-width:768px){
    .my-listings-page{
        padding-bottom:calc(var(--pm-mobile-safe-bottom, 78px) + 135px)!important;
    }
    .my-listings-page .listing-grid{
        grid-template-columns:1fr!important;
        gap:18px!important;
    }
    .my-listings-page .listing-card{
        display:grid!important;
        grid-template-columns:38% 1fr!important;
        align-items:stretch!important;
        width:100%!important;
        max-width:100%!important;
        min-height:190px!important;
        height:auto!important;
        overflow:visible!important;
        border-radius:22px!important;
    }
    .my-listings-page .listing-image{
        width:100%!important;
        height:100%!important;
        min-height:190px!important;
        overflow:hidden!important;
        border-radius:22px 0 0 22px!important;
    }
    .my-listings-page .listing-image img,
    .my-listings-page .listing-card img{
        width:100%!important;
        height:100%!important;
        min-height:190px!important;
        object-fit:cover!important;
    }
    .my-listings-page .listing-body{
        display:flex!important;
        flex-direction:column!important;
        justify-content:flex-start!important;
        padding:16px!important;
        min-width:0!important;
        overflow:visible!important;
    }
    .my-listings-page .listing-body h3{
        font-size:17px!important;
        line-height:1.2!important;
        margin-bottom:8px!important;
    }
    .my-listings-page .listing-price{
        font-size:18px!important;
        margin:4px 0 0!important;
    }
    .my-listings-page .listing-actions{
        display:grid!important;
        grid-template-columns:1fr!important;
        gap:7px!important;
        margin-top:12px!important;
    }
    .my-listings-page .listing-actions .btn{
        width:100%!important;
        min-height:34px!important;
        padding:8px 10px!important;
        font-size:12px!important;
        border-radius:10px!important;
    }
}
@media (max-width:390px){
    .my-listings-page .listing-card{
        grid-template-columns:36% 1fr!important;
    }
    .my-listings-page .listing-body{
        padding:14px!important;
    }
    .my-listings-page .listing-actions .btn{
        min-height:32px!important;
        padding:7px 8px!important;
        font-size:11px!important;
    }
}

/* PlaceMarketCY v15.23 - single listing mobile photo/gallery fix
   Fixes listing photos breaking/overflowing on phones. */
.single-listing .listing-gallery,
.single-listing .single-image,
.single-listing .gallery-main{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    overflow:hidden!important;
    box-sizing:border-box!important;
}
.single-listing .gallery-main img,
.single-listing .single-image img{
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    height:auto!important;
    aspect-ratio:16/10!important;
    object-fit:cover!important;
    object-position:center center!important;
    border-radius:18px!important;
}
.single-listing .gallery-thumbs{
    width:100%!important;
    max-width:100%!important;
    display:flex!important;
    flex-wrap:nowrap!important;
    gap:10px!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    -webkit-overflow-scrolling:touch!important;
    padding:2px 2px 8px!important;
    box-sizing:border-box!important;
}
.single-listing .gallery-thumb{
    flex:0 0 74px!important;
    width:74px!important;
    height:58px!important;
    min-width:74px!important;
    max-width:74px!important;
    padding:0!important;
    overflow:hidden!important;
    border-radius:12px!important;
}
.single-listing .gallery-thumb img{
    width:100%!important;
    height:100%!important;
    object-fit:cover!important;
    display:block!important;
}
@media (max-width:768px){
    .single-listing{
        padding:22px 0 calc(var(--pm-mobile-safe-bottom, 78px) + 24px)!important;
        overflow-x:hidden!important;
    }
    .single-listing .container{
        width:100%!important;
        max-width:100%!important;
        padding-left:14px!important;
        padding-right:14px!important;
        overflow:hidden!important;
        box-sizing:border-box!important;
    }
    .single-listing .single-card{
        display:grid!important;
        grid-template-columns:1fr!important;
        gap:18px!important;
        width:100%!important;
        max-width:100%!important;
        min-width:0!important;
        overflow:visible!important;
    }
    .single-listing .listing-main-box,
    .single-listing .listing-sidebar,
    .single-listing .listing-sidebar-box{
        width:100%!important;
        max-width:100%!important;
        min-width:0!important;
        box-sizing:border-box!important;
    }
    .single-listing .listing-main-box,
    .single-listing .listing-sidebar-box{
        padding:16px!important;
        border-radius:20px!important;
        overflow:hidden!important;
    }
    .single-listing .listing-sidebar{
        position:static!important;
        top:auto!important;
    }
    .single-listing .gallery-main img,
    .single-listing .single-image img{
        height:auto!important;
        max-height:none!important;
        aspect-ratio:4/3!important;
        border-radius:16px!important;
    }
    .single-listing h1{
        font-size:25px!important;
        line-height:1.18!important;
        word-break:break-word!important;
    }
}
@media (max-width:390px){
    .single-listing .container{
        padding-left:10px!important;
        padding-right:10px!important;
    }
    .single-listing .listing-main-box,
    .single-listing .listing-sidebar-box{
        padding:14px!important;
    }
    .single-listing .gallery-thumb{
        flex-basis:66px!important;
        width:66px!important;
        min-width:66px!important;
        max-width:66px!important;
        height:52px!important;
    }
}


/* Mobile description improvements */
@media (max-width:768px){
.single-listing .listing-description,
.single-listing .description,
.single-listing .listing-content,
.single-listing .entry-content{
    font-size:16.5px!important;
    line-height:1.8!important;
    padding:20px!important;
    margin-top:18px!important;
    overflow-wrap:anywhere!important;
    word-break:break-word!important;
    white-space:pre-wrap!important;
}
.single-listing .listing-description p,
.single-listing .description p,
.single-listing .listing-content p,
.single-listing .entry-content p{
    margin:0 0 1rem!important;
}
}
