/* Sewa Rent — single listing page (E4). Prefix .sewa-lp-*, tokens from tokens.css.
   Specifications keep the legacy .sewa-specs* rules in sewa-rent-core.css. */

/* Highlights */
.sewa-lp-highlights{list-style:none;margin:0 0 var(--sewa-space-6);padding:0;display:flex;flex-wrap:wrap;gap:var(--sewa-space-2)}
.sewa-lp-chip{display:inline-flex;align-items:center;gap:var(--sewa-space-2);padding:7px 14px;border:1px solid var(--sewa-line);border-radius:var(--sewa-radius-pill);background:var(--sewa-bg-soft);color:var(--sewa-navy);font-size:var(--sewa-font-size-sm);font-weight:600;line-height:1.35}
.sewa-lp-chip i{color:var(--sewa-accent);font-size:15px}

/* Shared */
.sewa-lp-section .listing-desc-headline{display:flex;flex-wrap:wrap;align-items:center;gap:var(--sewa-space-2)}
.sewa-lp-badge{display:inline-block;padding:2px 10px;border-radius:var(--sewa-radius-pill);background:var(--sewa-bg-soft);border:1px solid var(--sewa-line);color:var(--sewa-muted);font-size:12px;font-weight:600;letter-spacing:.03em;line-height:1.6;text-transform:uppercase}
.sewa-lp-muted{display:block;margin-top:2px;color:var(--sewa-muted);font-size:13px;font-weight:400}
.sewa-lp-note{margin:var(--sewa-space-3) 0 0;color:var(--sewa-muted);font-size:var(--sewa-font-size-sm);line-height:1.5}
.sewa-lp-note i{margin-right:4px}

/* Prices by duration */
.sewa-lp-rates{width:100%;margin:0;border-collapse:collapse;font-size:var(--sewa-font-size)}
.sewa-lp-rates th,.sewa-lp-rates td{padding:12px 0;border:0;border-bottom:1px solid var(--sewa-line);background:none;vertical-align:top;text-align:left}
.sewa-lp-rates th{color:var(--sewa-muted);font-weight:400}
.sewa-lp-rates td{text-align:right;color:var(--sewa-text)}
.sewa-lp-rates td strong{font-weight:700;color:var(--sewa-navy)}
.sewa-lp-rates-min th,.sewa-lp-rates-min td{font-size:var(--sewa-font-size-sm)}

/* Extras */
.sewa-lp-extras-list{list-style:none;margin:0;padding:0}
.sewa-lp-extras-list li{display:flex;justify-content:space-between;align-items:baseline;gap:var(--sewa-space-4);padding:10px 0;border-bottom:1px solid var(--sewa-line);font-size:var(--sewa-font-size)}
.sewa-lp-extra-price{font-weight:600;color:var(--sewa-navy);text-align:right;white-space:nowrap}

/* Policies */
.sewa-lp-policy-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 var(--sewa-space-8);margin:0}
.sewa-lp-policy{padding:14px 0;border-bottom:1px solid var(--sewa-line)}
.sewa-lp-policy dt{margin:0 0 4px;color:var(--sewa-navy);font-weight:600;font-size:var(--sewa-font-size)}
.sewa-lp-policy dt i{width:22px;margin-right:6px;color:var(--sewa-accent);text-align:center}
.sewa-lp-policy dd{margin:0 0 0 28px;color:var(--sewa-text);font-size:var(--sewa-font-size-sm);line-height:1.55;overflow-wrap:anywhere}
.sewa-lp-policy-link{font-weight:600;color:var(--sewa-accent);white-space:nowrap}
.sewa-lp-policy-link:hover{color:var(--sewa-accent-dark);text-decoration:underline}

/* Sidebar: free request, pay at pickup */
.sewa-lp-paynote{display:flex;gap:var(--sewa-space-3);margin:var(--sewa-space-3) 0 var(--sewa-space-6);padding:var(--sewa-space-3) var(--sewa-space-4);border-radius:10px;background:var(--sewa-bg-soft);font-size:var(--sewa-font-size-sm);line-height:1.45}
.sewa-lp-paynote i{margin-top:3px;color:var(--sewa-accent)}
.sewa-lp-paynote strong{display:block;color:var(--sewa-navy)}
.sewa-lp-paynote span{color:var(--sewa-muted)}

/* Mobile sticky "Request dates" bar (replaces Listeo's .booking-sticky-footer on our listings) */
.sewa-lp-cta{display:none}
#booking-widget-anchor{scroll-margin-top:120px}

@media (max-width:992px){
	.sewa-lp-has-cta .booking-sticky-footer{display:none !important}
	body.sewa-lp-has-cta{padding-bottom:76px}
	.sewa-lp-cta{position:fixed;left:0;right:0;bottom:0;z-index:999;display:flex;align-items:center;gap:var(--sewa-space-3);padding:10px var(--sewa-space-4) calc(10px + env(safe-area-inset-bottom));border-top:1px solid var(--sewa-line);background:var(--sewa-bg);box-shadow:0 -4px 20px rgba(0,0,0,.08)}
	.sewa-lp-cta-price{min-width:0;line-height:1.25}
	.sewa-lp-cta-price span{display:block;color:var(--sewa-muted);font-size:12px}
	.sewa-lp-cta-price strong{color:var(--sewa-navy);font-size:var(--sewa-font-size-lg);white-space:nowrap}
	.sewa-lp-cta .sewa-lp-cta-btn.button{margin:0 0 0 auto;padding:12px 22px;border-radius:var(--sewa-radius-pill);background:var(--sewa-accent);color:var(--sewa-bg);font-size:var(--sewa-font-size);font-weight:600;line-height:1.2;white-space:nowrap}
	.sewa-lp-cta .sewa-lp-cta-btn.button:hover,.sewa-lp-cta .sewa-lp-cta-btn.button:focus{background:var(--sewa-accent-dark);color:var(--sewa-bg)}
}

@media (max-width:767px){
	.sewa-lp-policy-list{grid-template-columns:1fr}
	.sewa-lp-rates th,.sewa-lp-rates td{padding:10px 0}
}

@media (prefers-reduced-motion:no-preference){
	html:has(.sewa-lp-cta){scroll-behavior:smooth}
}
/* Sticky request bar: robust on narrow phones (owner saw the button overlapping the price at ~290px). */
@media (max-width:992px){
	.sewa-lp-cta{gap:12px}
	.sewa-lp-cta-price{flex:1 1 auto;min-width:0;overflow:hidden}
	.sewa-lp-cta-price strong{display:block;overflow:hidden;text-overflow:ellipsis}
	.sewa-lp-cta .sewa-lp-cta-btn.button{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;text-align:center;min-height:48px}
}
@media (max-width:380px){
	.sewa-lp-cta .sewa-lp-cta-btn.button{padding:10px 16px;font-size:15px}
	.sewa-lp-cta-price strong{font-size:16px}
}
@media (max-width:320px){
	.sewa-lp-cta{flex-direction:column;align-items:stretch;gap:8px}
	.sewa-lp-cta .sewa-lp-cta-btn.button{width:100%}
}
/* Listing title block on phones: even rhythm (tags → price → title), no stray gaps. */
@media (max-width:767px){
	.single-listing .listing-titlebar{margin-top:16px;margin-bottom:0}
	.single-listing .listing-titlebar-tags{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 12px}
	.single-listing .listing-titlebar-tags .listing-tag,.single-listing .listing-titlebar-tags .listing-pricing-tag{margin:0}
	.single-listing .listing-titlebar-title h1{margin:0 0 12px}
	.single-listing .listing-titlebar .listing-share{margin:0 0 16px}
	.single-listing #listing-gallery.listeo-grid-gallery-title{margin-bottom:0}
}

/* Narrow phones (≤360px): 2-row grid — price + WhatsApp on the first row, full-width Request button below. */
@media (max-width:360px){
	.sewa-lp-cta{display:grid;grid-template-columns:1fr auto;grid-template-areas:"price wa" "btn btn";align-items:center;gap:10px 12px;flex-direction:row}
	.sewa-lp-cta-price{grid-area:price}
	.sewa-lp-cta .sewa-wa--bar{grid-area:wa;margin:0}
	.sewa-lp-cta .sewa-lp-cta-btn.button{grid-area:btn;width:100%;margin:0}
}
@media (max-width:320px){
	.sewa-lp-cta{flex-direction:row}
}

/* ---------- Visual review 2026-10-08 ---------- */
/* #6 desktop: listing.js moves the photo band into the content column, the booking widget starts beside it. */
.sewa-lp-band-in-col .listeo-single-listing-content > .sewa-media-ph--hero{margin-top:0}
/* #9 "Add Review" in the section nav while the listing has no reviews (only booked guests can review). */
/* Rerun 2026-10-08: Listeo's sticky clone drops the ids and styles its links with 5 classes (display:inline-flex), so the
   whole item is hidden in both navs, with enough specificity; also when reviews are closed (body class, listing-page.php). */
.sewa-lp-no-reviews #listing-nav-add-review,body.sewa-lp-no-reviews .listing-nav-container .listing-nav li:has(> a[href="#add-review"]),body.sewa-lp-no-reviews .listeo-section-nav.listing-nav-container .listing-nav li a[href="#add-review"]{display:none !important}
/* #9 one Share control (listing.js): the network list opens from it; links carry the network names. */
.sewa-share-btn{display:inline-flex;align-items:center;gap:8px;min-height:44px;margin:12px 0 0;padding:0 18px;border:1px solid var(--sewa-line);border-radius:var(--sewa-radius-pill);background:var(--sewa-bg);color:var(--sewa-navy);font:inherit;font-size:var(--sewa-font-size-sm);font-weight:600;line-height:1;cursor:pointer}
.sewa-share-btn:hover,.sewa-share-btn[aria-expanded="true"]{border-color:var(--sewa-accent);color:var(--sewa-accent)}
.sewa-share-btn:focus-visible{outline:2px solid var(--sewa-navy);outline-offset:2px}
ul.share-buttons.sewa-share-list{display:none;margin-top:12px}
ul.share-buttons.sewa-share-list.is-open{display:block}
/* #27 one "Sign in to save" / save button: the one under the title stays, the sidebar copy goes. */
.listeo-single-listing-sidebar .widget_buttons .like-button-notlogged,
.listeo-single-listing-sidebar .widget_buttons .like-button,
.listeo-single-listing-sidebar .widget_buttons .like-button-save{display:none}
.listeo-single-listing-sidebar .widget_buttons .listing-share{margin-top:0!important;margin-bottom:24px!important}
/* Tap targets >= 44px on phones without changing the look: the hit area of title tags grows invisibly. */
@media (max-width:991px){
	.single-listing .listing-titlebar-tags a{position:relative}
	.single-listing .listing-titlebar-tags a::after{content:"";position:absolute;left:0;right:0;top:50%;height:44px;transform:translateY(-50%)}
}
