/* UI UPGRADE v10.457 */

.rm-form,
.rm-edit-rental,
.rm-submit-rental {
    max-width: 920px;
    margin: 30px auto;
    padding: 0;
    font-family: system-ui, -apple-system, sans-serif;
}

.rm-edit-rental h2,
.rm-submit-rental h2 {
    text-align: left;
    font-size: 28px;
    font-weight: 700;
    margin-bottom: 25px;
}

.rm-form > p,
.rm-form > div,
.rm-form > section {
    background: #ffffff;
    border: 1px solid #e5e7eb;
    border-radius: 12px;
    padding: 20px;
    margin-bottom: 20px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.04);
}

.rm-form label {
    font-weight: 600;
    font-size: 14px;
    display: block;
    margin-bottom: 6px;
}

.rm-form input[type="text"],
.rm-form input[type="number"],
.rm-form textarea,
.rm-form select {
    width: 100%;
    padding: 12px;
    border: 1px solid #d1d5db;
    border-radius: 8px;
    font-size: 15px;
    background: #f9fafb;
}

.rm-form input:focus,
.rm-form textarea:focus,
.rm-form select:focus {
    border-color: #2563eb;
    background: #ffffff;
    outline: none;
    box-shadow: 0 0 0 2px rgba(37,99,235,0.15);
}

.rm-price-grid {
    display: flex;
    gap: 15px;
}

.rm-price-grid > div {
    flex: 1;
}

.rm-form p:last-child {
    background: transparent;
    border: none;
    box-shadow: none;
    text-align: center;
}

.rm-form .button-primary,
.rm-pay-btn {
    display: inline-block;
    width: 65%;
    max-width: 420px;
    padding: 14px 22px;
    font-size: 17px;
    font-weight: 700;
    border-radius: 10px;
    background: #2563eb;
    border: none;
}

@media (max-width: 768px) {
    .rm-price-grid {
        flex-direction: column;
    }

    .rm-form,
    .rm-edit-rental,
    .rm-submit-rental {
        margin: 10px;
    }

    .rm-form .button-primary,
    .rm-pay-btn {
        width: 100%;
    }
}


/* EDIT FORM MATCH FIX */
.rm-edit-rental .rm-form,
.rm-edit-rental form {
    max-width: 920px;
    margin: 0 auto;
}

.rm-edit-rental form > p,
.rm-edit-rental form > div {
    background: #ffffff;
    border: 1px solid #e5e7eb;
    border-radius: 12px;
    padding: 20px;
    margin-bottom: 20px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.04);
}

.rm-edit-rental form p:last-child {
    text-align: center;
    background: transparent;
    border: none;
    box-shadow: none;
}

.rm-edit-rental .button-primary {
    width: 65%;
    max-width: 420px;
}


/* =========================================
   EDIT FORM WIDTH FIX (MATCH SUBMIT)
========================================= */

.rm-edit-rental {
    max-width: 920px !important;
    margin: 0 auto !important;
    width: 100%;
}

.rm-edit-rental .rm-form,
.rm-edit-rental form {
    width: 100%;
    max-width: 920px;
    margin: 0 auto;
}

.rm-edit-rental form > p,
.rm-edit-rental form > div {
    width: 100%;
}

.rm-edit-title {
    max-width: 920px;
    margin: 30px auto 20px auto;
    padding: 0 5px;
}


/* =========================================
   FORCE EDIT FORM TO MATCH SUBMIT EXACTLY
========================================= */

.rm-edit-rental {
    display:flex;
    flex-direction:column;
    align-items:center;
    width:100%;
}

.rm-edit-rental form {
    width:100%;
    max-width:820px;
    margin:0 auto;
}

.rm-edit-rental .rm-form-group,
.rm-edit-rental form > div {
    width:100%;
    max-width:820px;
    margin:20px auto;
}

.rm-edit-title {
    width:100%;
    max-width:820px;
    margin:40px auto 10px auto;
    text-align:center;
}

/* Match submit spacing */
.rm-edit-rental input,
.rm-edit-rental textarea,
.rm-edit-rental select {
    width:100%;
    box-sizing:border-box;
}


/* =========================================
   FINAL EDIT ALIGNMENT FIX
========================================= */

/* Ensure ALL rows same width */
.rm-edit-rental form,
.rm-edit-rental .rm-form-group,
.rm-edit-rental form > div {
    width:100%;
    max-width:820px;
    margin-left:auto;
    margin-right:auto;
}

/* Title LEFT aligned (not centered) */
.rm-edit-title {
    width:100%;
    max-width:820px;
    margin:40px auto 10px auto;
    text-align:left !important;
}

/* Keep consistent spacing */
.rm-edit-rental .rm-form-group {
    margin:20px auto;
}


/* Boost System */
.rm-listing-boost{
    margin-left: 12px;
}
.rm-boost-form{
    display:flex;
    align-items:center;
    gap:8px;
    flex-wrap:wrap;
}
.rm-boost-select{
    min-width:130px;
    height:34px;
    border:1px solid #d1d5db;
    border-radius:8px;
    padding:0 8px;
    background:#fff;
}
.rm-boost-button{
    background:#f59e0b !important;
    border-color:#f59e0b !important;
    color:#111 !important;
    font-weight:700;
}
.rm-boost-pending{
    display:inline-block;
    padding:8px 10px;
    border-radius:999px;
    background:#fff7ed;
    color:#c2410c;
    font-size:12px;
    font-weight:700;
}
.rm-boost-active{
    display:inline-block;
    padding:8px 10px;
    border-radius:999px;
    background:#ecfdf5;
    color:#15803d;
    font-size:12px;
    font-weight:700;
}
.rm-featured-badge{
    position:absolute;
    top:10px;
    left:10px;
    background:#f59e0b;
    color:#111;
    padding:6px 10px;
    border-radius:999px;
    font-size:12px;
    font-weight:800;
    box-shadow:0 2px 6px rgba(0,0,0,.15);
    z-index:3;
}


/* v10.476 deepdive my listings fix */
.rm-mylistings-list{
    display:flex;
    flex-direction:column;
    gap:16px;
    width:100%;
}
.rm-mylistings-row{
    display:grid;
    grid-template-columns:72px minmax(0,1fr) 80px 90px 110px 180px;
    align-items:center;
    gap:16px;
    width:100%;
    max-width:100%;
    background:#fff;
    border:1px solid #e5e7eb;
    border-radius:14px;
    padding:14px 16px;
    box-shadow:0 1px 2px rgba(0,0,0,.03);
    overflow:hidden;
}
.rm-mylistings-row > div{
    min-width:0;
}
.rm-col-image{
    display:flex;
    align-items:center;
}
.rm-mylistings-thumb{
    width:72px;
    height:72px;
    display:block;
    border-radius:10px;
    overflow:hidden;
    background:#f3f4f6;
}
.rm-mylistings-thumb img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
}
.rm-col-info{
    min-width:0;
}
.rm-mylistings-title{
    font-size:16px;
    line-height:1.25;
    font-weight:700;
    color:#111827;
    margin:0 0 4px;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
}
.rm-mylistings-meta{
    display:flex;
    align-items:center;
    gap:6px;
    flex-wrap:wrap;
    font-size:13px;
    color:#6b7280;
    margin:0 0 6px;
}
.rm-mylistings-price{
    font-size:15px;
    font-weight:700;
    color:#111827;
}
.rm-col-center{
    text-align:center;
}
.rm-mylistings-stat-label{
    font-size:12px;
    line-height:1.1;
    color:#9ca3af;
    margin-bottom:4px;
}
.rm-mylistings-stat-value{
    font-size:15px;
    font-weight:700;
    color:#111827;
}
.rm-col-actions{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:8px;
}
.rm-mylistings-icon{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:32px;
    height:32px;
    border:1px solid #e5e7eb;
    border-radius:8px;
    text-decoration:none;
    background:#fff;
}
.rm-mylistings-delete{
    color:#ef4444;
}
.rm-col-boost{
    display:flex;
    justify-content:flex-end;
    align-items:center;
    overflow:hidden;
}
.rm-boost-form{
    display:flex;
    align-items:center;
    gap:8px;
    max-width:100%;
}
.rm-boost-select{
    width:76px;
    min-width:76px;
    height:34px;
    padding:0 8px;
}
.rm-boost-button{
    white-space:nowrap;
    font-weight:700;
}
@media (max-width: 1100px){
    .rm-mylistings-row{
        grid-template-columns:72px minmax(0,1fr) 70px 70px 96px 160px;
        gap:12px;
    }
}
@media (max-width: 900px){
    .rm-mylistings-row{
        grid-template-columns:72px minmax(0,1fr);
    }
    .rm-col-center,
    .rm-col-actions,
    .rm-col-boost{
        justify-content:flex-start;
        text-align:left;
    }
}


/* v10.478 bookings rows */
.rm-bookings-list{
    display:flex;
    flex-direction:column;
    gap:16px;
    width:100%;
}
.rm-bookings-row{
    display:grid;
    grid-template-columns:72px minmax(0,1fr) 140px 100px 240px 220px;
    align-items:center;
    gap:16px;
    width:100%;
    max-width:100%;
    background:#fff;
    border:1px solid #e5e7eb;
    border-radius:14px;
    padding:14px 16px;
    box-shadow:0 1px 2px rgba(0,0,0,.03);
    overflow:hidden;
}
.rm-bookings-row > div{ min-width:0; }
.rm-booking-actions{
    justify-content:flex-start;
}
.rm-booking-actions .button{
    margin:0 6px 6px 0;
}
.rm-booking-after{
    justify-content:flex-start;
}
@media (max-width: 1200px){
    .rm-bookings-row{
        grid-template-columns:72px minmax(0,1fr) 120px 90px 220px 200px;
    }
}
@media (max-width: 980px){
    .rm-bookings-row{
        grid-template-columns:72px minmax(0,1fr);
    }
    .rm-booking-actions,
    .rm-booking-after,
    .rm-col-center{
        justify-content:flex-start;
        text-align:left;
    }
}


/* v10.479 My Booking Requests rows */
.rm-renter-bookings-list{
    display:flex;
    flex-direction:column;
    gap:16px;
    width:100%;
}
.rm-renter-booking-row{
    grid-template-columns:72px minmax(0,1fr) 160px 120px 220px 180px;
}
.rm-renter-booking-row .rm-booking-actions{
    justify-content:flex-start;
}
.rm-renter-booking-row .rm-booking-after{
    justify-content:flex-start;
}
.rm-renter-booking-row .rm-pill{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:8px 12px;
    border-radius:999px;
    text-decoration:none;
}
@media (max-width: 1200px){
    .rm-renter-booking-row{
        grid-template-columns:72px minmax(0,1fr) 140px 110px 180px 160px;
    }
}
@media (max-width: 980px){
    .rm-renter-booking-row{
        grid-template-columns:72px minmax(0,1fr);
    }
}


/* v10.480 earnings overview UI */
.rm-earnings-wrap{
    width:100%;
}
.rm-earnings-title{
    margin:0 0 16px;
}
.rm-earnings-cards{
    display:grid;
    grid-template-columns:repeat(2,minmax(220px,1fr));
    gap:16px;
    margin-bottom:16px;
}
.rm-earnings-card{
    background:#fff;
    border:1px solid #e5e7eb;
    border-radius:14px;
    padding:18px 20px;
    box-shadow:0 1px 2px rgba(0,0,0,.03);
}
.rm-earnings-card-label{
    font-size:13px;
    color:#6b7280;
    margin-bottom:8px;
}
.rm-earnings-card-value{
    font-size:28px;
    line-height:1.1;
    font-weight:800;
    color:#111827;
}
.rm-earnings-chart-card{
    background:#fff;
    border:1px solid #e5e7eb;
    border-radius:14px;
    padding:18px 20px;
    box-shadow:0 1px 2px rgba(0,0,0,.03);
}
@media (max-width: 700px){
    .rm-earnings-cards{
        grid-template-columns:1fr;
    }
}


/* v10.481 earnings overview expanded */
.rm-earnings-cards-four{
    grid-template-columns:repeat(4,minmax(180px,1fr));
}
.rm-earnings-charts-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(260px,1fr));
    gap:16px;
}
.rm-earnings-chart-title{
    font-size:14px;
    font-weight:700;
    color:#111827;
    margin-bottom:10px;
}
.rm-earnings-chart-card{
    min-height:260px;
}
.rm-earnings-chart-card canvas{
    width:100% !important;
    height:200px !important;
}
@media (max-width: 1100px){
    .rm-earnings-cards-four{
        grid-template-columns:repeat(2,minmax(220px,1fr));
    }
    .rm-earnings-charts-grid{
        grid-template-columns:1fr;
    }
}
@media (max-width: 700px){
    .rm-earnings-cards-four{
        grid-template-columns:1fr;
    }
}


/* v10.482 earnings reference and charts */
.rm-earnings-reference-card{
    background:#fff;
    border:1px solid #e5e7eb;
    border-radius:14px;
    padding:18px 20px;
    box-shadow:0 1px 2px rgba(0,0,0,.03);
    margin-top:16px;
}
.rm-earnings-reference-head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;
    margin-bottom:16px;
    flex-wrap:wrap;
}
.rm-earnings-reference-title{
    margin:0;
}
.rm-earnings-search{
    min-width:280px;
    max-width:420px;
    width:100%;
    height:40px;
    border:1px solid #d1d5db;
    border-radius:10px;
    padding:0 12px;
    background:#fff;
}
.rm-earnings-reference-list{
    display:flex;
    flex-direction:column;
    gap:14px;
}
.rm-earnings-reference-row{
    display:grid;
    grid-template-columns:72px minmax(0,1fr) 180px 140px;
    align-items:center;
    gap:16px;
    width:100%;
    background:#fff;
    border:1px solid #e5e7eb;
    border-radius:14px;
    padding:14px 16px;
    overflow:hidden;
}
.rm-earnings-reference-row > div{
    min-width:0;
}
@media (max-width: 900px){
    .rm-earnings-reference-row{
        grid-template-columns:72px minmax(0,1fr);
    }
}


/* v10.483 monthly chart only */
.rm-earnings-charts-grid{
    display:grid;
    grid-template-columns:1fr;
    gap:16px;
}


/* v10.485 monthly chart with axes and ajax counters */
.rm-earnings-chart-card canvas{
    width:100% !important;
    height:240px !important;
}


/* v10.524 rm_rentals_pro monetization UI */
.rm-pro-card.rm-pro-card-boosted{
    border:1px solid #f5c542;
    box-shadow:0 8px 24px rgba(245,197,66,.20);
    transition: box-shadow .3s ease, transform .2s ease;
}
.rm-pro-card.rm-pro-card-boosted:hover{
    box-shadow:0 12px 30px rgba(245,197,66,.35);
    transform: translateY(-2px);
}
.rm-pro-card-media{position:relative;}
.rm-pro-badge.rm-pro-badge-boosted{
    background:#111827;
    color:#fff;
    font-weight:700;
    box-shadow:0 6px 18px rgba(0,0,0,.18);
}
.rm-pro-badge.rm-pro-badge-trending{
    position:absolute;
    top:10px;
    right:10px;
    z-index:3;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:6px 10px;
    border-radius:999px;
    background:#ef4444;
    color:#fff;
    font-size:12px;
    font-weight:700;
    line-height:1;
    box-shadow:0 6px 18px rgba(0,0,0,.20);
}
.rm-pro-card-stats{
    display:flex;
    flex-direction:column;
    gap:4px;
    margin-top:8px;
}
.rm-pro-card-views{
    font-size:12px;
    color:#6b7280;
}
.rm-pro-card-today{
    font-size:11px;
    color:#9ca3af;
}
.rm-pro-card-upsell{
    display:block;
    margin-top:8px;
    color:#f59e0b;
    font-size:12px;
    font-weight:600;
    text-decoration:none;
}
.rm-pro-card-upsell:hover{text-decoration:underline;}
.rm-pro-card-upsell-price{white-space:nowrap;}

.rm-pro-card-price-strong{
    font-size:18px;
    font-weight:700;
    color:#111827;
    margin-top:4px;
}
.rm-pro-card-divider{
    height:1px;
    background:#e5e7eb;
    margin:8px 0;
}
.rm-pro-card:hover{
    transform:translateY(-3px);
    transition:all .2s ease;
}


/* v10.526 rm_rentals_pro card fix */
.rm-pro-card{
    display:block;
    width:100%;
}
.rm-pro-card-link{
    display:block;
    height:100%;
    text-decoration:none;
    color:inherit;
}
.rm-pro-card-media{
    position:relative;
    overflow:hidden;
}
.rm-pro-card-image{
    width:100%;
    height:210px;
    background-size:cover;
    background-position:center;
    background-repeat:no-repeat;
}
.rm-pro-card-body{
    padding:12px;
}
.rm-pro-card-title{
    margin:0 0 8px 0;
}
.rm-pro-card-price-strong{
    font-size:18px;
    font-weight:700;
    color:#111827;
    margin:0 0 6px 0;
}
.rm-pro-card-meta{
    font-size:13px;
    color:#666;
    min-height:18px;
}
.rm-pro-card-stats{
    display:flex;
    flex-direction:column;
    gap:4px;
    margin-top:8px;
}
.rm-pro-card-views{
    font-size:12px;
    color:#6b7280;
}
.rm-pro-card-today{
    font-size:11px;
    color:#9ca3af;
}
.rm-pro-card-upsell{
    display:inline-block;
    margin-top:8px;
    color:#f59e0b;
    font-size:12px;
    font-weight:600;
    text-decoration:none;
}
.rm-pro-card-upsell:hover{
    text-decoration:underline;
}
.rm-pro-card-cta{
    margin-top:12px;
    display:inline-block;
    padding:10px 12px;
    border-radius:8px;
    background:#ffd814;
    color:#111;
    font-weight:700;
}
.rm-pro-badge.rm-pro-badge-boosted{
    position:absolute;
    top:10px;
    left:10px;
    z-index:3;
    background:#111827;
    color:#fff;
    font-size:12px;
    font-weight:700;
    padding:6px 10px;
    border-radius:999px;
    box-shadow:0 6px 18px rgba(0,0,0,.18);
}
.rm-pro-badge.rm-pro-badge-trending{
    position:absolute;
    top:10px;
    right:10px;
    z-index:3;
    background:#ef4444;
    color:#fff;
    font-size:12px;
    font-weight:700;
    padding:6px 10px;
    border-radius:999px;
    box-shadow:0 6px 18px rgba(0,0,0,.20);
}


/* v10.528 inline booking request panel */
.rm-booking-inline-panel{
    width:100%;
    max-width:320px;
}
.rm-booking-inline-panel .rm-pay-btn{
    display:block;
    width:100%;
    text-align:center;
    margin-bottom:10px;
}
.rm-booking-deny-form{
    padding:12px;
    border:1px solid #eee;
    border-radius:10px;
    background:#fafafa;
}
.rm-booking-deny-title{
    font-weight:600;
    margin-bottom:8px;
}
.rm-booking-deny-select,
.rm-booking-deny-note{
    width:100%;
    margin-bottom:8px;
}
