/* Homepage extension of the existing 7 Kortov design system. */
.rental-home { overflow:clip; }
.rental-home h1,.rental-home h2,.rental-home h3,.rental-home p { margin:0; }
.rental-home a:focus-visible,.rental-nav a:focus-visible,.rental-home summary:focus-visible { outline:3px solid var(--blue-light-2); outline-offset:5px; }
.rental-nav__list { display:flex; flex-wrap:wrap; align-items:center; gap:8px 24px; padding:13px 0; }
.rental-nav__list a { display:block; color:var(--white); font-size:16px; line-height:24px; padding:3px 0; }
.rental-nav__label { font-weight:700; }
.rental-nav__list a:hover { text-decoration:underline; text-underline-offset:5px; }
.rental-hero { position:relative; overflow:hidden; background:var(--white) url('/img/bg.png') center/cover; }
.rental-hero__inner { position:relative; display:grid; grid-template-columns:55% 45%; min-height:590px; }
.rental-hero__content { position:relative; z-index:2; padding:36px 32px 38px 0; display:flex; flex-direction:column; align-items:flex-start; gap:18px; }
.rental-hero__logo { display:block; width:220px; height:auto; }
.rental-hero__eyebrow { font-size:14px; font-weight:600; line-height:20px; color:var(--blue); }
.rental-home .rental-hero h1 { font-family:'Days One',sans-serif; font-size:38px; font-weight:400; line-height:1.2; color:var(--blue-light-2); text-transform:uppercase; }
.rental-hero__text { font-size:20px; line-height:29px; max-width:560px; color:var(--black-light); }
.rental-hero__buttons { display:flex; flex-wrap:wrap; gap:12px; margin:4px 0; }
.rental-home .rental-hero__buttons .button { min-height:48px; padding:12px 22px; }
.rental-hero__address { font-size:15px; line-height:22px; color:var(--blue); text-decoration:underline; text-underline-offset:4px; }
.rental-hero__hours { font-size:14px; line-height:20px; color:var(--gray); margin-top:-10px!important; }
.rental-hero__visual { position:relative; background:var(--blue-light-2); min-width:0; }
.rental-hero__visual::after { content:''; position:absolute; left:100%; top:0; height:100%; width:100vw; background:var(--blue-light-2); }
.rental-hero__visual .promo__svg { position:absolute; left:30px; top:42px; width:420px; height:520px; opacity:.55; }
.rental-hero__athlete { position:absolute; z-index:1; right:-75px; bottom:-85px; width:660px; height:auto; max-width:none; }
.rental-hero__lines { position:absolute; width:760px; height:auto; bottom:-340px; left:-90px; opacity:.4; pointer-events:none; }
.rental-section { padding:54px 0; }
.rental-home .block { gap:22px; }
.rental-home .top__text { font-size:26px; line-height:34px; }
.rental-section__intro { font-size:17px; line-height:25px; max-width:780px; color:var(--gray); }
.rental-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:20px; }
.rental-card { background:var(--white); border:1px solid var(--gray-light-2); display:flex; flex-direction:column; min-width:0; scroll-margin-top:20px; }
.rental-card__image { height:190px; background:var(--gray-light-2); overflow:hidden; }
.rental-card__image img { display:block; height:100%; width:100%; object-fit:cover; }
.rental-card__image--illustration { background:var(--white) url('/img/bg.png') center/cover; }
.rental-card__image--illustration img { object-fit:contain; object-position:center 14%; }
.rental-card__body { padding:20px; display:flex; flex:1; flex-direction:column; gap:12px; }
.rental-card h3 { font-family:'Days One',sans-serif; font-size:20px; line-height:27px; color:var(--blue); font-weight:400; }
.rental-card__sports { font-size:14px; line-height:21px; font-weight:600; color:var(--red); }
.rental-card__description { font-size:14px; line-height:22px; color:var(--gray); }
.rental-card__body > .button { margin-top:auto; min-height:44px; font-size:13px; }
.rental-card__rates { font-size:14px; line-height:21px; }
.rental-card__rates summary { color:var(--blue); padding:6px 0; cursor:pointer; }
.rental-card__rate { padding:12px 0; border-top:1px solid var(--gray-light-2); overflow-wrap:anywhere; }
.rental-card__rate > a { color:var(--red); font-weight:600; }
.rental-card__rate table { width:100%!important; font-size:12px; }
.rental-card__rate td { padding:3px; }
.rental-card__rate p { margin:8px 0; font-size:13px; line-height:20px; }
.rental-card__rate .court-rates { display:grid; grid-template-columns:1fr; gap:8px; margin-top:10px; }
.rental-card__rate .court-rate { display:flex; flex-direction:column; padding:10px; background:#f3f6fa; border:1px solid #e5eaf1; border-radius:6px; }
.rental-card__rate .court-rate--evening { background:#eef4fb; }
.rental-card__rate .court-rate__label { color:var(--blue); font-size:12px; line-height:19px; font-weight:600; }
.rental-card__rate .court-rate__time { color:var(--gray); font-size:11px; line-height:18px; margin-top:3px; }
.rental-card__rate .court-rate__value { color:var(--blue); font-size:21px; line-height:29px; margin-top:5px; }
.rental-card__rate .court-rate__unit { font-size:11px; font-weight:400; margin-left:4px; }
.rental-text-link { color:var(--blue); font-size:15px; line-height:23px; text-decoration:underline; text-underline-offset:5px; align-self:flex-start; }
.rental-steps { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:36px; padding:0; list-style:none; }
.rental-steps__number { display:block; font-family:'Days One',sans-serif; font-size:36px; line-height:48px; color:var(--blue-light-2); margin-bottom:12px; }
.rental-steps h3 { font-size:20px; line-height:27px; color:var(--blue); margin-bottom:10px; }
.rental-steps p { font-size:15px; line-height:24px; color:var(--gray); max-width:340px; }
.rental-regular { padding:40px 0; color:var(--white); }
.rental-regular__inner { display:flex; align-items:center; justify-content:space-between; gap:30px; }
.rental-regular__eyebrow { font-size:14px; line-height:22px; margin-bottom:10px!important; }
.rental-regular h2 { font-family:'Days One',sans-serif; font-size:28px; line-height:37px; font-weight:400; margin-bottom:12px; }
.rental-regular p { font-size:16px; line-height:25px; max-width:700px; }
.rental-regular .button { flex-shrink:0; min-height:48px; padding:10px 24px; }
.rental-info { display:grid; grid-template-columns:1fr 1fr; gap:70px; }
.rental-info__contact { display:flex; flex-direction:column; align-items:flex-start; gap:18px; }
.rental-info__contact > p { font-size:16px; line-height:25px; }
.rental-info__address { font-weight:600; }
.rental-info__phone { color:var(--blue); font-size:24px; line-height:32px; }
.rental-info .button { min-height:44px; }
.rental-faq { display:flex; flex-direction:column; gap:16px; }
.rental-faq h3 { font-size:21px; line-height:29px; color:var(--blue); }
.rental-faq details { border-bottom:1px solid var(--gray-light-2); padding-bottom:14px; }
.rental-faq summary { cursor:pointer; font-weight:600; font-size:15px; line-height:24px; padding:6px 0; }
.rental-faq details p { margin:12px 0; font-size:14px; line-height:23px; color:var(--gray); }
.rental-faq details a { color:var(--blue); text-decoration:underline; }
.rental-community__links { display:flex; align-items:center; flex-wrap:wrap; gap:16px 24px; }
.rental-community__links .button { min-width:180px; min-height:44px; }
.rental-mobile-actions { display:none; }
#rental-courts,#rental-contacts { scroll-margin-top:15px; }
@media(max-width:1180px) {
 .rental-hero__inner { grid-template-columns:58% 42%; min-height:560px; }
 .rental-home .rental-hero h1 { font-size:32px; }
 .rental-hero__athlete { width:580px; right:-110px; bottom:-50px; }
 .rental-hero__visual .promo__svg { width:350px; left:15px; }
 .rental-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .rental-card__image { height:220px; }
 .rental-info { gap:35px; }
}
@media(max-width:780px) {
 .rental-nav__list { gap:6px 18px; padding:10px 0; }
 .rental-nav__list li:first-child { width:100%; }
 .rental-nav__list a { font-size:13px; line-height:20px; padding:4px 0; }
 .rental-hero__inner { display:block; min-height:0; }
 .rental-hero__content { padding:26px 0 30px; gap:15px; }
 .rental-hero__logo { width:180px; }
 .rental-home .rental-hero h1 { font-size:30px; max-width:620px; }
 .rental-hero__text { font-size:17px; line-height:25px; }
 .rental-hero__visual { display:none; }
 .rental-hero__lines { width:620px; bottom:-410px; left:25%; }
 .rental-section { padding:34px 0; }
 .rental-home .top__text { font-size:22px; line-height:30px; }
 .rental-steps { gap:22px; }
 .rental-steps h3 { font-size:17px; line-height:24px; }
 .rental-regular__inner { flex-direction:column; align-items:flex-start; gap:22px; }
 .rental-info { grid-template-columns:1fr; gap:35px; }
 .rental-mobile-actions { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:8px; position:fixed; z-index:3; bottom:0; left:0; right:0; background:var(--white); border-top:1px solid var(--gray-light-2); padding:10px 15px calc(10px + env(safe-area-inset-bottom)); }
 .rental-mobile-actions .button { min-height:44px; font-size:12px; padding:8px 12px; }
 .body:has(.rental-home) .footer { padding-bottom:calc(85px + env(safe-area-inset-bottom)); }
}
@media(max-width:480px) {
 .rental-nav__list { gap:4px 15px; }
 .rental-home .rental-hero h1 { font-size:25px; line-height:1.26; }
 .rental-hero__eyebrow { font-size:12px; }
 .rental-hero__logo { width:150px; }
 .rental-hero__text br { display:none; }
 .rental-hero__buttons { width:100%; display:grid; grid-template-columns:1fr; gap:10px; }
 .rental-home .rental-hero__buttons .button { min-height:46px; font-size:13px; }
 .rental-grid { grid-template-columns:1fr; gap:18px; }
 .rental-card__image { height:200px; }
 .rental-card__body { padding:20px; }
 .rental-section__intro { font-size:15px; line-height:23px; }
 .rental-steps { grid-template-columns:1fr; gap:24px; }
 .rental-steps__number { font-size:28px; line-height:36px; margin-bottom:8px; }
 .rental-regular h2 { font-size:24px; line-height:32px; }
 .rental-community__links { flex-direction:column; align-items:stretch; }
 .rental-community__links .button { min-width:0; }
 .rental-mobile-actions { padding-left:10px; padding-right:10px; }
}
