/* Rental layouts adapt to both viewport and narrow content containers. */
.aaws-rental-grid{--aaws-columns:3;--aaws-tablet-columns:2;--aaws-gap:28px;--aaws-active-columns:var(--aaws-columns);display:grid;gap:var(--aaws-gap);align-items:stretch;width:100%;margin:20px 0;grid-template-columns:repeat(auto-fit,minmax(min(100%,max(280px,calc((100% - (var(--aaws-active-columns) - 1)*var(--aaws-gap))/var(--aaws-active-columns)))),1fr))}
.aaws-rental-card{box-sizing:border-box;min-width:0;width:100%;margin:0 auto;color:inherit}
.aaws-rental-card .airbnb-embed-frame{box-sizing:border-box;max-width:100%}
.aaws-rental-card .airbnb-embed-frame iframe{max-width:100%!important;width:100%!important;border:0}
.aaws-rental-card .airbnb-embed-frame>a{display:block;padding:12px 16px}
.aaws-rental-fallback{font-size:14px;line-height:1.5;margin:12px 0;text-align:center}
.aaws-rental-link{display:flex;flex-direction:column;overflow:hidden;border:1px solid #e3e5e9;border-radius:var(--aaws-radius,12px);background:#fff;color:#17202d;box-shadow:0 4px 16px rgba(20,32,48,.045)}
.aaws-rental-photo{display:block;flex-shrink:0;overflow:hidden;background:#f3f5f7}
.aaws-rental-photo img{display:block;width:100%;height:auto;aspect-ratio:var(--aaws-photo-ratio,4/3);object-fit:cover}
.aaws-rental-body{display:flex;flex:1;flex-direction:column;padding:24px}
.aaws-rental-body h3{font-family:inherit;font-size:23px;font-weight:600;line-height:1.25;letter-spacing:-.25px;margin:0 0 12px;color:#17202d}
.aaws-rental-body p{font-size:16px;line-height:1.6;margin:0 0 24px;color:#596271}
.aaws-rental-card .aaws-rental-button{box-sizing:border-box;display:flex;align-items:center;justify-content:center;gap:12px;width:100%;min-height:48px;margin-top:auto;padding:13px 18px;border-radius:6px;background:var(--aaws-accent,var(--ast-global-color-0,#2235dd));color:#fff;font:inherit;font-size:16px;font-weight:600;line-height:1.4;text-decoration:none}
.aaws-rental-card .aaws-rental-button:hover{background:var(--aaws-accent,#2235dd);filter:brightness(.9);color:#fff}
.aaws-rental-card a:focus-visible{outline:3px solid #17202d;outline-offset:4px}
@media(max-width:960px){.aaws-rental-grid{--aaws-active-columns:var(--aaws-tablet-columns)}}
@media(max-width:640px){.aaws-rental-grid{grid-template-columns:minmax(0,1fr)}.aaws-rental-body{padding:20px}.aaws-rental-body h3{font-size:22px}}
@media(max-width:360px){.aaws-rental-body{padding:18px}.aaws-rental-body h3{font-size:21px}.aaws-rental-body p{font-size:15px}}

/* Compact cards keep photos and booking controls readable without oversized panels. */
.aaws-rental-size-compact{box-shadow:0 2px 8px rgba(20,32,48,.04);border-color:#e6e8ec}
.aaws-rental-size-compact .aaws-rental-body{padding:16px 18px 18px}
.aaws-rental-size-compact .aaws-rental-body h3{font-size:20px;line-height:1.3;margin-bottom:6px;letter-spacing:-.2px}
.aaws-rental-size-compact .aaws-rental-body p{font-size:14px;line-height:1.5;margin-bottom:16px}
.aaws-rental-card.aaws-rental-size-compact .aaws-rental-button{font-size:14px;min-height:44px;padding:10px 14px;border-radius:7px}
@media(prefers-reduced-motion:no-preference){.aaws-rental-link{transition:box-shadow .18s ease,border-color .18s ease}.aaws-rental-link:hover{border-color:#cdd2db;box-shadow:0 6px 18px rgba(20,32,48,.08)}}

.aaws-rental-slider{margin:20px 0;min-width:0;--aaws-active-columns:var(--aaws-columns)}
.aaws-rental-track{display:flex;gap:var(--aaws-gap,20px);overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding:2px;padding:2px 2px 12px;overscroll-behavior-x:contain}
.aaws-rental-track>.aaws-rental-card{flex:0 0 min(100%,max(280px,calc((100% - (var(--aaws-active-columns) - 1)*var(--aaws-gap))/var(--aaws-active-columns))));margin:0;scroll-snap-align:start;scroll-snap-stop:always}
.aaws-slider-controls{display:flex;align-items:center;justify-content:center;gap:18px;margin-top:12px}
.aaws-slider-controls[hidden]{display:none}
.aaws-slider-controls button{display:grid;place-items:center;width:44px;height:44px;padding:0;border:1px solid #d8dde5;border-radius:50%;background:#fff;color:#17202d;font-size:22px;cursor:pointer}
.aaws-slider-controls button:disabled{opacity:.35;cursor:default}
.aaws-slider-controls button:focus-visible,.aaws-rental-track:focus-visible{outline:3px solid #17202d;outline-offset:3px}
.aaws-slider-status{font-size:14px;color:#596271;font-variant-numeric:tabular-nums}
.aaws-rental-list{display:grid;gap:var(--aaws-gap,20px);margin:20px 0}
.aaws-rental-list>.aaws-rental-link{flex-direction:row;max-width:100%!important;margin:0}
.aaws-rental-list .aaws-rental-photo{width:32%;max-width:220px}
.aaws-rental-list .aaws-rental-photo img{height:100%;min-height:160px}
@media(max-width:960px){.aaws-rental-slider{--aaws-active-columns:var(--aaws-tablet-columns)}}
@media(max-width:640px){.aaws-rental-track>.aaws-rental-card{flex-basis:min(100%,340px)}.aaws-rental-list>.aaws-rental-link{flex-direction:column;max-width:340px!important;margin:auto}.aaws-rental-list .aaws-rental-photo{width:100%;max-width:none}.aaws-rental-list .aaws-rental-photo img{height:auto;min-height:0}}

/* Keep rows centered, equal in height, and bounded by the selected card size. */
.aaws-rental-grid,.aaws-rental-slider{box-sizing:border-box;width:100%;max-width:calc(var(--aaws-columns,3)*var(--aaws-card-width,340px) + (var(--aaws-columns,3) - 1)*var(--aaws-gap,20px))!important;margin:20px auto;min-width:0}
.aaws-rental-body h3,.aaws-rental-body p{overflow-wrap:anywhere}
.aaws-rental-track{box-sizing:border-box;align-items:stretch;min-width:0;max-width:100%}
.aaws-rental-sidebar{--aaws-active-columns:1!important;max-width:340px!important;margin:0 auto;container-type:inline-size}
.aaws-rental-sidebar .aaws-rental-track>.aaws-rental-card{flex-basis:100%;max-width:100%!important}
.aaws-rental-sidebar .aaws-rental-body{padding:14px 16px 16px}
.aaws-rental-sidebar .aaws-rental-body h3{font-size:19px}
.aaws-rental-sidebar .aaws-rental-body p{font-size:14px;margin-bottom:14px}
@media(max-width:960px){.aaws-rental-grid,.aaws-rental-slider{max-width:calc(var(--aaws-tablet-columns,2)*var(--aaws-card-width,340px) + (var(--aaws-tablet-columns,2) - 1)*var(--aaws-gap,20px))}.aaws-rental-sidebar{max-width:340px!important}}
@media(max-width:640px){.aaws-rental-grid,.aaws-rental-slider{max-width:var(--aaws-card-width,340px)!important}}
.aaws-rental-body .aaws-rental-guests{margin-bottom:6px;font-size:14px}
.aaws-rental-body .aaws-rental-location{font-size:13px;margin-bottom:10px}
.aaws-rental-location a{color:#596271;text-decoration:underline}
.aaws-rental-photos{margin:0 0 14px;font-size:13px;line-height:1.5}
.aaws-rental-photos summary{cursor:pointer;color:#596271;text-decoration:underline;padding:8px 0;min-height:32px}
.aaws-rental-photos>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:8px 0}
.aaws-rental-photos img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;border-radius:4px}
.aaws-rental-photos a:focus-visible,.aaws-rental-photos summary:focus-visible{outline:3px solid #17202d;outline-offset:3px}

.aaws-slider-controls .aaws-slider-pause{width:auto;min-width:64px;padding:0 12px;border-radius:22px;font-size:13px;line-height:1;font-weight:600}

.aaws-rental-track{scrollbar-width:none}
.aaws-rental-track::-webkit-scrollbar{display:none}
.aaws-rental-hero-slot{width:100%;max-width:340px;margin-left:auto;margin-right:auto}
.aaws-rental-hero-slot .aaws-rental-link h3{color:#17202d}

/* Clip existing entrance animations on pages containing a rental hero. */
.site-content:has(.aaws-rental-hero-slot){overflow-x:clip}
