.cfr-booking{--red:#e2001a;--navy:#003879;--ink:#12253a;--muted:#637083;--line:#dce3ea;max-width:1180px;margin:0 auto;padding:clamp(32px,5vw,64px);border-radius:24px;background:#fff;box-shadow:0 24px 70px rgba(0,39,84,.13);color:var(--ink)}.cfr-booking-head{max-width:800px;margin-bottom:38px}.cfr-kicker{margin:0 0 10px;color:var(--red);font-size:.78rem;font-weight:700;letter-spacing:.15em;text-transform:uppercase}.cfr-booking h2{margin:0;color:var(--navy);font-size:clamp(2rem,4vw,3.8rem);line-height:1}.cfr-booking-head>p:last-child{color:var(--muted);font-size:1.08rem}.cfr-form{display:grid;gap:24px}.cfr-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.cfr-full{grid-column:1/-1}.cfr-field{display:grid;gap:7px}.cfr-field>span{color:var(--navy);font-weight:700}.cfr-field input,.cfr-field select,.cfr-field textarea{width:100%;min-height:50px;padding:12px 14px;border:1px solid #aeb9c6;border-radius:9px;background:#fff;color:var(--ink);font:inherit}.cfr-field textarea{min-height:100px;resize:vertical}.cfr-field input:focus,.cfr-field select:focus,.cfr-field textarea:focus{outline:3px solid rgba(226,0,26,.16);border-color:var(--red)}.cfr-summary{display:grid;gap:2px;padding:18px 20px;border-left:4px solid var(--navy);border-radius:6px;background:#f1f5f8;color:var(--muted)}.cfr-summary strong{color:var(--navy)}.cfr-summary.is-available{border-color:#178342;background:#edf8f1}.cfr-summary.is-unavailable{border-color:var(--red);background:#fff0f2}.cfr-contact-fields{padding-top:8px}.cfr-consent{display:flex;gap:10px;align-items:flex-start}.cfr-consent input{margin-top:5px}.cfr-submit{min-height:54px;padding:0 28px;border:0;border-radius:8px;background:var(--red);color:#fff;font:700 1rem Cabin,Arial,sans-serif;justify-self:start;cursor:pointer}.cfr-submit:hover{background:#bd0016}.cfr-submit:disabled{opacity:.6;cursor:wait}.cfr-status{margin:0}.cfr-status.is-success,.cfr-status.is-error{padding:17px;border-radius:8px}.cfr-status.is-success{background:#e9f7ee;color:#155f31}.cfr-status.is-error{background:#fff0f2;color:#8c0011}.cfr-rules{display:grid;grid-template-columns:repeat(4,1fr);margin-top:42px;border-block:1px solid var(--line)}.cfr-rules>div{display:grid;gap:2px;padding:20px;border-right:1px solid var(--line)}.cfr-rules>div:last-child{border:0}.cfr-rules strong{color:var(--navy)}.cfr-rules span,.cfr-hours{color:var(--muted)}.cfr-hours{margin:24px 0 0}.cfr-hp{position:absolute;left:-9999px}@media(max-width:700px){.cfr-booking{padding:28px 18px;border-radius:16px}.cfr-grid,.cfr-rules{grid-template-columns:1fr}.cfr-full{grid-column:auto}.cfr-rules>div{border-right:0;border-bottom:1px solid var(--line)}.cfr-rules>div:last-child{border-bottom:0}.cfr-submit{width:100%}}@media(max-width:0px){.cfr-booking{--ink:#eef4fa;--muted:#b7c2cf;--line:#30465c;background:#0d2034}.cfr-booking h2,.cfr-field>span,.cfr-rules strong,.cfr-summary strong{color:#f5f8fc}.cfr-field input,.cfr-field select,.cfr-field textarea{background:#071421;color:#f5f8fc;border-color:#496078}.cfr-summary{background:#132a43}.cfr-summary.is-available{background:#113923}.cfr-summary.is-unavailable{background:#42131a}}

/* Samostatná stránka rezervací fungující s libovolnou aktivní Cyklofořt témou. */
.cfr-booking,.cfr-rental-page{color-scheme:light}
.cfr-product-grid>.cfr-product:nth-child(3){grid-column:1/-1;min-height:300px}.cfr-product a{color:inherit;font-weight:700;text-decoration:underline;text-underline-offset:3px}
.cfr-rental-page{--cfr-red:#e2001a;--cfr-navy:#003879;--cfr-dark:#002754;--cfr-off:#f2f5f8;--cfr-muted:#637083;font-family:Cabin,Arial,sans-serif;color:#12253a}.cfr-wrap{width:min(calc(100% - 40px),1180px);margin-inline:auto}.cfr-page-hero{padding:170px 0 95px;background:linear-gradient(112deg,#fff 0 68%,var(--cfr-red) 68.2% 78%,var(--cfr-off) 78.2%)}.cfr-page-hero h1,.cfr-section-head h2{max-width:850px;margin:0;color:var(--cfr-navy);font-size:clamp(2.8rem,6vw,5.6rem);line-height:.94;letter-spacing:-.045em}.cfr-page-hero>div>p:last-child,.cfr-section-head>p:last-child{max-width:720px;color:var(--cfr-muted);font-size:1.15rem}.cfr-page-kicker{margin:0 0 14px;color:var(--cfr-red);font-size:.78rem;font-weight:700;letter-spacing:.15em;text-transform:uppercase}.cfr-page-section{padding:clamp(76px,9vw,120px) 0}.cfr-products{background:var(--cfr-off)}.cfr-section-head{margin-bottom:42px}.cfr-product-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.cfr-product{min-height:360px;padding:clamp(28px,4vw,48px);border-radius:18px;background:linear-gradient(145deg,var(--cfr-navy),var(--cfr-dark));color:#fff;display:flex;flex-direction:column;justify-content:flex-end;position:relative;overflow:hidden}.cfr-product:after{content:"";position:absolute;right:-70px;top:-100px;width:260px;aspect-ratio:1;border:42px solid rgba(255,255,255,.08);border-radius:50%}.cfr-product-red{background:linear-gradient(145deg,var(--cfr-red),#a90015)}.cfr-product>span{position:absolute;left:clamp(28px,4vw,48px);top:35px;font-size:.76rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.72)}.cfr-product h2{margin:0 0 10px;color:#fff;font-size:clamp(2rem,3vw,3.2rem);line-height:1}.cfr-product p{max-width:560px;margin:0;color:rgba(255,255,255,.78)}.cfr-product ul{margin:22px 0 0;padding-left:19px}.cfr-booking-bg{background:linear-gradient(135deg,#e9eef3,#f8fafc)}.cfr-how{background:#fff}.cfr-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.cfr-steps>div{padding:30px;border-top:4px solid var(--cfr-red);background:var(--cfr-off)}.cfr-steps strong{display:block;margin-bottom:28px;color:rgba(0,56,121,.18);font-size:3.5rem;line-height:1}.cfr-steps h3{margin:0 0 8px;color:var(--cfr-navy)}.cfr-steps p{margin:0;color:var(--cfr-muted)}
@media(max-width:700px){.cfr-wrap{width:min(calc(100% - 28px),1180px)}.cfr-page-hero{padding:130px 0 75px;background:linear-gradient(165deg,#fff 0 88%,var(--cfr-red) 88.2%)}.cfr-product-grid,.cfr-steps{grid-template-columns:1fr}.cfr-product-grid>.cfr-product:nth-child(3){grid-column:auto}.cfr-product{min-height:330px}}
@media(max-width:0px){.cfr-rental-page{background:#071421;color:#eef4fa}.cfr-page-hero{background:linear-gradient(112deg,#071421 0 68%,var(--cfr-red) 68.2% 78%,#0b1b2d 78.2%)}.cfr-page-hero h1,.cfr-section-head h2,.cfr-steps h3{color:#f5f8fc}.cfr-products,.cfr-booking-bg{background:#071421}.cfr-how{background:#0b1b2d}.cfr-steps>div{background:#0d2034}}

/* 1.5: skutečný typ produktu je vidět pod jemným barevným překrytím. */
.cfr-product-photo{min-height:500px;justify-content:flex-start;background-position:center 15%;background-size:cover}
.cfr-product-photo:before{content:"";position:absolute;inset:0;z-index:0;background:linear-gradient(180deg,rgba(0,56,121,.12) 0%,rgba(0,39,84,.28) 42%,rgba(0,22,48,.96) 78%)}
.cfr-product-box:before{background:linear-gradient(180deg,rgba(226,0,26,.08) 0%,rgba(173,0,20,.22) 43%,rgba(103,0,13,.96) 80%)}
.cfr-product-carrier{background-image:url('thule-euroride-942-product.jpg')}
.cfr-product-box{background-image:url('thule-motion-xt-product.jpg')}
.cfr-product-photo:after{display:none}.cfr-product-photo>span{position:absolute;z-index:2;left:clamp(28px,4vw,48px);top:32px}.cfr-product-copy{position:relative;z-index:1;display:grid;grid-template-rows:auto minmax(3.1em,auto) auto;align-content:start;width:100%;padding-top:235px}
.cfr-product-copy h2{margin:0 0 12px;font-size:clamp(2rem,3vw,3.05rem);line-height:1.04}.cfr-product-copy p{max-width:620px;margin:0;color:rgba(255,255,255,.84);line-height:1.55}.cfr-product-copy ul{align-self:start;margin:20px 0 0;line-height:1.65}
@media(max-width:700px){.cfr-product-photo{min-height:500px;background-position:center 8%;padding:28px 24px}.cfr-product-photo>span{left:24px;top:25px}.cfr-product-copy{grid-template-rows:auto auto auto;padding-top:225px}.cfr-product-copy h2{font-size:2.05rem}.cfr-product-copy p{font-size:.98rem}.cfr-product-copy ul{padding-left:20px}}

/* Kalendář skutečné dostupnosti */
.cfr-date-field{position:relative;grid-template-columns:1fr auto}.cfr-date-field>span{grid-column:1/-1}.cfr-date-field input{border-radius:9px 0 0 9px}.cfr-calendar-button{padding:0 15px;border:1px solid #aeb9c6;border-left:0;border-radius:0 9px 9px 0;background:#f4f7fa;color:#003879;font:700 .88rem Cabin,Arial,sans-serif;cursor:pointer}.cfr-calendar-button:hover{background:#e8eef4}.cfr-contact-note{margin:14px 0 0;padding:18px 20px;border-radius:10px;background:#f1f5f8;color:#12253a}.cfr-contact-note a{color:#003879;font-weight:700}
.cfr-calendar-popover{--cal-red:#e2001a;display:none;position:absolute;z-index:99999;width:min(390px,calc(100vw - 20px));padding:18px;border:1px solid #ccd6df;border-radius:14px;background:#fff;box-shadow:0 18px 55px rgba(0,39,84,.22);font-family:Cabin,Arial,sans-serif;color:#12253a}.cfr-calendar-popover.is-open{display:block}.cfr-cal-head{display:grid;grid-template-columns:42px 1fr 42px;align-items:center;margin-bottom:12px}.cfr-cal-head strong{text-align:center;text-transform:capitalize;color:#003879}.cfr-cal-head button{width:38px;height:38px;border:0;border-radius:50%;background:#eef3f7;color:#003879;font-size:1.2rem;cursor:pointer}.cfr-cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:3px}.cfr-cal-week{padding:5px 0;text-align:center;color:#637083;font-size:.78rem;font-weight:700}.cfr-cal-day{position:relative;isolation:isolate;aspect-ratio:1;border:0;border-radius:6px;background:#f5f7f9;color:#12253a;overflow:hidden;cursor:pointer}.cfr-cal-day span{position:relative;z-index:2}.cfr-cal-day:hover:not(:disabled),.cfr-cal-day.is-selected{outline:2px solid #003879;outline-offset:-2px}.cfr-cal-day:disabled{opacity:.35;cursor:not-allowed}.cfr-cal-day:before,.cfr-cal-day:after,.cfr-cal-legend i:before,.cfr-cal-legend i:after{content:"";position:absolute;inset:0;z-index:1;background:rgba(226,0,26,.22)}.cfr-cal-day:not(.is-am):not(.is-pm):not(.is-full):before,.cfr-cal-day:not(.is-am):not(.is-pm):not(.is-full):after{display:none}.cfr-cal-day.is-am:before,.cfr-cal-legend i.is-am:before{clip-path:polygon(0 0,100% 0,0 100%)}.cfr-cal-day.is-am:after,.cfr-cal-day.is-pm:before,.cfr-cal-legend i.is-am:after,.cfr-cal-legend i.is-pm:before{display:none}.cfr-cal-day.is-pm:after,.cfr-cal-legend i.is-pm:after{clip-path:polygon(100% 0,100% 100%,0 100%)}.cfr-cal-day.is-full:before,.cfr-cal-legend i.is-full:before{inset:0}.cfr-cal-day.is-full:after,.cfr-cal-legend i.is-full:after{display:none}.cfr-cal-legend{display:flex;flex-wrap:wrap;gap:9px 14px;margin-top:14px;color:#637083;font-size:.72rem}.cfr-cal-legend span{display:flex;align-items:center;gap:5px}.cfr-cal-legend i{position:relative;width:18px;height:18px;border:1px solid #dce3ea;border-radius:3px;background:#f5f7f9;overflow:hidden}
@media(max-width:700px){.cfr-date-field{grid-column:auto}.cfr-calendar-popover{padding:14px}.cfr-cal-day{min-height:42px}}
@media(max-width:0px){.cfr-calendar-button{background:#132a43;color:#fff;border-color:#496078}.cfr-contact-note{background:#132a43;color:#eef4fa}.cfr-contact-note a{color:#fff}.cfr-calendar-popover{background:#0d2034;color:#eef4fa;border-color:#496078}.cfr-cal-head strong{color:#fff}.cfr-cal-day{background:#132a43;color:#fff}.cfr-cal-week,.cfr-cal-legend{color:#b7c2cf}}
