/* iRento v3.4.0 UI100 — Premium Listing Detail Layout
   Product information first, location before availability, collapsible schedule,
   wider mobile workspace, and a restrained app-like section rhythm. */

body.irento-listing-member,
body.irento-listing-guest{
  --ui100-card-radius:20px;
  --ui100-mobile-gap:10px;
}

/* Keep the information hierarchy direct: item > details > location > availability. */
body.irento-listing-member .listing-detail-panel,
body.irento-listing-guest .listing-detail-panel{
  transition:border-color .18s ease,box-shadow .18s ease;
}
body.irento-listing-member .listing-detail-panel-about,
body.irento-listing-guest .listing-detail-panel-about{
  margin-top:10px;
}
body.irento-listing-member .listing-detail-panel-pricing,
body.irento-listing-guest .listing-detail-panel-pricing,
body.irento-listing-member .listing-detail-panel-location,
body.irento-listing-guest .listing-detail-panel-location{
  margin-top:12px;
}

/* Availability is intentionally secondary and collapsed until the renter asks for it. */
.listing-availability-collapsible{
  padding:0!important;
  overflow:hidden;
}
.listing-availability-collapsible:before{display:none!important}
.listing-availability-disclosure{margin:0}
.listing-availability-disclosure>summary{
  display:grid;
  grid-template-columns:42px minmax(0,1fr) auto;
  align-items:center;
  gap:12px;
  min-height:82px;
  padding:18px 19px;
  cursor:pointer;
  list-style:none;
  -webkit-tap-highlight-color:transparent;
}
.listing-availability-disclosure>summary::-webkit-details-marker{display:none}
.listing-availability-disclosure>summary::marker{display:none;content:""}
.listing-availability-disclosure>summary:hover{background:#fafaff}
.listing-availability-disclosure>summary:focus-visible{outline:3px solid rgba(79,70,229,.2);outline-offset:-3px}
.listing-availability-summary-copy{min-width:0;display:grid;gap:2px}
.listing-availability-summary-copy>.listing-detail-kicker{margin:0}
.listing-availability-summary-copy>strong{
  color:var(--listing-ink,#182033);
  font-size:18px;
  font-weight:720;
  letter-spacing:-.025em;
  line-height:1.2;
}
.listing-availability-summary-copy>small{
  margin-top:2px;
  color:var(--listing-copy,#5f6d85);
  font-size:11px;
  font-weight:430;
  line-height:1.45;
}
.listing-availability-toggle{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  min-height:36px;
  padding:8px 10px;
  border:1px solid #d9def8;
  border-radius:11px;
  background:#f8f8ff;
  color:#4d46dc;
  font-size:10px;
  font-weight:680;
  white-space:nowrap;
}
.listing-availability-toggle b{font-size:14px;font-weight:600;transition:transform .18s ease}
.listing-availability-toggle-open{display:none}
.listing-availability-disclosure[open] .listing-availability-toggle-closed{display:none}
.listing-availability-disclosure[open] .listing-availability-toggle-open{display:inline}
.listing-availability-disclosure[open] .listing-availability-toggle b{transform:rotate(180deg)}
.listing-availability-disclosure[open]>summary{
  border-bottom:1px solid #e7e9f3;
  background:linear-gradient(180deg,#fbfbff,#fff);
}
.listing-availability-body{padding:4px 19px 18px}
.listing-availability-body .smart-unavailable-box{margin:12px 0 2px}
.listing-availability-body .irento-availability-calendar{margin-top:13px}

/* A wider marketplace workspace without sacrificing readable card padding. */
@media(min-width:781px){
  body.irento-listing-member .detail-grid,
  body.irento-listing-guest .detail-grid{
    grid-template-columns:minmax(0,1fr) minmax(320px,350px);
    gap:20px;
  }
}

@media(max-width:760px){
  body.irento-mobile-listing > main > .section,
  body.irento-mobile-listing .member-main > .section{
    padding-top:6px!important;
    padding-bottom:16px!important;
  }
  body.irento-mobile-listing > main > .section>.container,
  body.irento-mobile-listing .member-main>.section>.container{
    width:calc(100% - 8px)!important;
    max-width:none!important;
  }
  body.irento-mobile-listing .detail-grid{
    width:100%!important;
    max-width:none!important;
    margin-inline:auto!important;
  }
  body.irento-mobile-listing .detail-copy{padding:0 3px!important}
  body.irento-mobile-listing .irento-listing-summary{
    margin:6px 0 var(--ui100-mobile-gap)!important;
    padding:15px 14px!important;
    border-radius:18px!important;
  }
  body.irento-mobile-listing .listing-detail-panel{
    margin:var(--ui100-mobile-gap) 0!important;
    padding:14px!important;
    border-radius:18px!important;
  }
  body.irento-mobile-listing .listing-detail-panel-about{margin-top:8px!important}
  body.irento-mobile-listing .listing-detail-panel-head{margin-bottom:10px!important}
  body.irento-mobile-listing .listing-detail-panel h2{
    font-size:17px!important;
    font-weight:720!important;
  }
  body.irento-mobile-listing .listing-detail-panel>p,
  body.irento-mobile-listing .listing-detail-panel .listing-description{
    font-size:13.5px!important;
    line-height:1.58!important;
  }
  body.irento-mobile-listing .listing-spec-grid,
  body.irento-mobile-listing .listing-cost-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
    margin-top:12px!important;
    gap:8px!important;
  }
  body.irento-mobile-listing .listing-location-map{
    width:100%!important;
    height:255px!important;
    border-radius:14px!important;
  }
  body.irento-mobile-listing .listing-availability-collapsible{
    padding:0!important;
    margin:10px 0!important;
  }
  body.irento-mobile-listing .listing-availability-disclosure>summary{
    grid-template-columns:38px minmax(0,1fr) auto;
    gap:9px;
    min-height:76px;
    padding:13px 14px;
  }
  body.irento-mobile-listing .listing-availability-summary-copy>strong{font-size:16px}
  body.irento-mobile-listing .listing-availability-summary-copy>small{
    font-size:9.5px;
    line-height:1.35;
  }
  body.irento-mobile-listing .listing-availability-toggle{
    min-height:34px;
    padding:7px 9px;
    font-size:9px;
  }
  body.irento-mobile-listing .listing-availability-body{padding:2px 13px 14px}
  body.irento-mobile-listing .availability-calendar-month{padding:10px!important}
  body.irento-mobile-listing .contact-card.smart-book-card{padding:0 3px!important}
  body.irento-mobile-listing .listing-party-panel,
  body.irento-mobile-listing .smart-request-box.irento-request-card{
    border-radius:18px!important;
  }
}

@media(max-width:430px){
  body.irento-mobile-listing .listing-availability-disclosure>summary{
    grid-template-columns:36px minmax(0,1fr);
  }
  body.irento-mobile-listing .listing-availability-disclosure>summary>.listing-detail-panel-icon{
    width:36px!important;
    height:36px!important;
    flex-basis:36px!important;
  }
  body.irento-mobile-listing .listing-availability-toggle{
    grid-column:2;
    justify-self:start;
    min-height:30px;
    margin-top:4px;
    padding:5px 8px;
  }
}

@media(max-width:360px){
  body.irento-mobile-listing .listing-spec-grid,
  body.irento-mobile-listing .listing-cost-grid{grid-template-columns:1fr}
}
