/* Imsfrane Demo · Reservation Studio — scoped, accessible, responsive. */
#imsfrane-booking{--bp-ink:#18363e;--bp-deep:#10282e;--bp-muted:#617a81;--bp-gold:#b25832;--bp-line:#e5e2dc;--bp-paper:#ffffff;--bp-milk:#f7f5f2;--bp-shadow:0 16px 48px rgba(23,49,55,.1);color:var(--bp-ink);background:var(--bp-milk);font:400 15px/1.65 Inter,Montserrat,Arial,sans-serif;overflow:clip}
#imsfrane-booking *{box-sizing:border-box}
#imsfrane-booking button,#imsfrane-booking input,#imsfrane-booking select,#imsfrane-booking textarea{font:inherit}
#imsfrane-booking button{cursor:pointer}
#imsfrane-booking :is(input,select,textarea,button,a):focus-visible{outline:3px solid #c87551;outline-offset:3px}
#imsfrane-booking :is(h1,h2,h3,h4,p){margin-top:0}
#imsfrane-booking h1,#imsfrane-booking h2,#imsfrane-booking h3{font-family:"Playfair Display",Georgia,serif;letter-spacing:-.035em;line-height:1.17;font-weight:700}
#imsfrane-booking .bp-hero{background:#122f36;color:white;position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.86fr);min-height:410px}
#imsfrane-booking .bp-hero-copy{position:relative;z-index:1;display:flex;flex-direction:column;justify-content:center;padding:clamp(35px,6vw,95px) max(22px,calc((100vw - 1220px)/2))}
#imsfrane-booking .bp-kicker{display:inline-flex;align-items:center;gap:10px;letter-spacing:.18em;text-transform:uppercase;font-weight:800;font-size:11px;color:#995035}
#imsfrane-booking .bp-kicker:before{content:"";width:24px;height:1px;background:currentColor}
#imsfrane-booking .bp-hero h1{font-size:clamp(42px,5.1vw,78px);margin:19px 0;color:#ffffff;max-width:680px}
#imsfrane-booking .bp-hero h1 em{font-weight:400;color:#dea187;font-style:italic}
#imsfrane-booking .bp-hero p{font-size:clamp(15px,1.5vw,18px);color:#ede9e1;max-width:560px;line-height:1.8;margin:0 0 27px}
#imsfrane-booking .bp-hero-tags{display:flex;gap:9px;flex-wrap:wrap}
#imsfrane-booking .bp-hero-tags span{border:1px solid #ffffff52;padding:8px 13px;border-radius:100px;font-size:12px;color:#f4f1eb}
#imsfrane-booking .bp-hero-photo{min-height:330px;overflow:hidden;position:relative}
#imsfrane-booking .bp-hero-photo img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover;object-position:center 42%}
#imsfrane-booking .bp-hero-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#122f36 0%,transparent 52%),linear-gradient(0deg,#10262c40,transparent)}
#imsfrane-booking .bp-wrap{max-width:1270px;margin:auto;padding:50px 22px 90px}
#imsfrane-booking .bp-steps{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin:0 0 36px;padding:0;list-style:none}
#imsfrane-booking .bp-steps li{display:flex;gap:9px;align-items:center;color:#4c6269;font-size:12px;font-weight:750}
#imsfrane-booking .bp-steps li:not(:last-child):after{content:"/";margin:0 12px;color:#c2cbbf}
#imsfrane-booking .bp-steps b{background:#e9e5df;color:#213e45;border-radius:50%;width:29px;height:29px;display:inline-grid;place-items:center;font-weight:800}
#imsfrane-booking .bp-steps li:first-child b{background:#17353d;color:white}
#imsfrane-booking .bp-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(310px,380px);gap:32px;align-items:start}
#imsfrane-booking .bp-main-col{min-width:0}
#imsfrane-booking .bp-section{margin:0 0 32px}
#imsfrane-booking .bp-section-heading{display:flex;justify-content:space-between;gap:18px;align-items:flex-end;margin:0 0 18px}
#imsfrane-booking .bp-section-heading h2{font-size:clamp(26px,3vw,39px);margin:0}
#imsfrane-booking .bp-section-heading p{margin:8px 0 0;color:var(--bp-muted);max-width:610px;font-size:14px}
#imsfrane-booking .bp-heading-hint{color:var(--bp-gold);font-size:11px;letter-spacing:.13em;font-weight:850;text-transform:uppercase}
#imsfrane-booking .bp-filters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:20px}
#imsfrane-booking .bp-filter{border:1px solid #e0dbd4;border-radius:30px;background:#ffffff;color:var(--bp-ink);font-size:13px;font-weight:750;padding:10px 17px;min-height:43px}
#imsfrane-booking .bp-filter[aria-pressed="true"]{background:var(--bp-deep);border-color:var(--bp-deep);color:#ffffff}
#imsfrane-booking .bp-offers{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}
#imsfrane-booking .bp-offer{display:flex;flex-direction:column;min-width:0;padding:20px;background:#ffffff;border:1px solid var(--bp-line);border-radius:13px;box-shadow:0 5px 17px #15272b10;transition:box-shadow .2s,border-color .2s}
#imsfrane-booking .bp-offer[data-selected="true"]{border-color:#bb7354;box-shadow:0 8px 27px #9a4e2e24}
#imsfrane-booking .bp-offer[hidden]{display:none}
#imsfrane-booking .bp-offer-top{display:flex;align-items:center;justify-content:space-between;gap:8px}
#imsfrane-booking .bp-icon{width:35px;height:35px;border-radius:10px;background:#f4f2ed;color:#265763;display:inline-flex;justify-content:center;align-items:center;font-size:17px}
#imsfrane-booking .bp-unit{font-size:10px;font-weight:800;letter-spacing:.07em;color:#4c6269;text-transform:uppercase}
#imsfrane-booking .bp-offer h3{font-family:Inter,Arial,sans-serif;font-size:16px;line-height:1.3;letter-spacing:-.025em;margin:15px 0 6px;color:#1b343a;font-weight:800}
#imsfrane-booking .bp-offer p{color:#4c6269;font-size:12px;line-height:1.55;min-height:33px;margin-bottom:14px;flex:1}
#imsfrane-booking .bp-price-row{border-top:1px solid #f0eee9;padding-top:13px;display:flex;justify-content:space-between;align-items:center;gap:10px}
#imsfrane-booking .bp-offer-price{color:#13323a;font-size:21px;font-weight:900;white-space:nowrap;letter-spacing:-.04em}
#imsfrane-booking .bp-offer-price small{font-size:11px;font-weight:700;letter-spacing:0;color:#4c6269}
#imsfrane-booking .bp-stepper{display:flex;align-items:center;gap:0;border:1px solid #e1ddd6;border-radius:100px;overflow:hidden;background:#f7f5f2}
#imsfrane-booking .bp-stepper button{display:inline-grid;place-items:center;background:transparent;border:0;width:36px;height:37px;color:#204048;font-size:20px;font-weight:700}
#imsfrane-booking .bp-stepper button:hover:not(:disabled){background:#efece7}
#imsfrane-booking .bp-stepper button:disabled{opacity:.28;cursor:default}
#imsfrane-booking .bp-stepper output{min-width:24px;text-align:center;font-size:14px;font-weight:800;font-variant-numeric:tabular-nums}
#imsfrane-booking .bp-side{position:sticky;top:24px}
#imsfrane-booking .bp-summary{border-radius:17px;background:#17353c;color:white;box-shadow:0 18px 42px #1c363d24;overflow:hidden}
#imsfrane-booking .bp-summary-head{padding:27px 27px 19px;border-bottom:1px solid #ffffff24}
#imsfrane-booking .bp-summary-head span{font-size:11px;font-weight:850;color:#995035;letter-spacing:.16em}
#imsfrane-booking .bp-summary h2{color:white;font-size:30px;line-height:1.2;margin:8px 0 2px}
#imsfrane-booking .bp-summary-items{max-height:340px;overflow:auto;padding:5px 27px;scrollbar-width:thin}
#imsfrane-booking .bp-summary-empty{color:#e5e0d6;font-size:13px;line-height:1.7;padding:12px 0}
#imsfrane-booking .bp-summary-line{padding:13px 0;border-bottom:1px solid #ffffff1f;display:flex;align-items:flex-start;justify-content:space-between;gap:12px;font-size:13px}
#imsfrane-booking .bp-summary-line b{font-weight:800;text-align:end;white-space:nowrap}
#imsfrane-booking .bp-summary-line small{display:block;font-size:11px;color:#d2ccc1;margin-top:2px}
#imsfrane-booking .bp-summary-total{background:#10292f;padding:22px 27px 28px}
#imsfrane-booking .bp-sum-top{display:flex;align-items:center;justify-content:space-between;gap:8px}
#imsfrane-booking .bp-sum-top>span{font-size:13px;color:#eae5dc}
#imsfrane-booking .bp-sum-top strong{font-size:clamp(27px,3vw,36px);line-height:1;letter-spacing:-.045em;color:#e2ac95;font-weight:900;font-variant-numeric:tabular-nums;white-space:nowrap}
#imsfrane-booking .bp-summary-total p{font-size:11px;color:#ded8cd;line-height:1.65;margin:11px 0 20px}
#imsfrane-booking .bp-send{border:0;border-radius:8px;background:#d78d6d;color:#1d3136;width:100%;min-height:55px;padding:13px;font-weight:900;font-size:14px;display:flex;align-items:center;justify-content:center;gap:8px}
#imsfrane-booking .bp-send:hover{background:#dfa58c}
#imsfrane-booking .bp-copy{width:100%;margin-top:10px;color:#f2eee8;font-size:12px;background:none;border:1px solid #ffffff55;border-radius:7px;min-height:43px}
#imsfrane-booking .bp-trust{display:grid;gap:12px;margin:19px 7px 0}
#imsfrane-booking .bp-trust div{display:flex;align-items:center;gap:9px;color:#4c6269;font-size:12px}
#imsfrane-booking .bp-trust span{color:#297183;font-weight:900}
#imsfrane-booking .bp-panel{border:1px solid var(--bp-line);border-radius:15px;background:#ffffff;padding:clamp(20px,3vw,30px);box-shadow:0 6px 25px #1c32380d}
#imsfrane-booking .bp-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px}
#imsfrane-booking .bp-field{display:flex;flex-direction:column;gap:6px;min-width:0}
#imsfrane-booking .bp-field.bp-full{grid-column:1/-1}
#imsfrane-booking .bp-field label{font-size:12px;color:#29454c;font-weight:800}
#imsfrane-booking .bp-field label .bp-optional{color:#4c6269;font-weight:500}
#imsfrane-booking .bp-field :is(input,select,textarea){display:block;width:100%;min-height:47px;padding:10px 13px;color:#17353c;background:#ffffff;border:1px solid #dad5cb;border-radius:8px;outline-color:#b96c4b}
#imsfrane-booking .bp-field textarea{min-height:110px;resize:vertical}
#imsfrane-booking .bp-field input:focus,#imsfrane-booking .bp-field textarea:focus,#imsfrane-booking .bp-field select:focus{border-color:#b96c4b}
#imsfrane-booking .bp-note{margin:12px 0 0;color:var(--bp-muted);font-size:12px;line-height:1.65}
#imsfrane-booking .bp-extras{display:flex;flex-wrap:wrap;gap:10px}
#imsfrane-booking .bp-extra{display:inline-flex;align-items:center;gap:8px;background:#fbfaf7;padding:11px 13px;border:1px solid #e4e0d9;border-radius:10px;font-size:13px;color:#25444c;font-weight:750;cursor:pointer}
#imsfrane-booking .bp-extra input{accent-color:#1c4f5c;width:17px;height:17px}
#imsfrane-booking .bp-alert{padding:13px 16px;border-radius:9px;background:#fff5e3;border:1px solid #e9c0af;color:#753c23;font-size:12px;line-height:1.7;margin:17px 0}
#imsfrane-booking .bp-alert[hidden]{display:none}
#imsfrane-booking .bp-validation{display:none;color:#8b3029;background:#fff0ed;border:1px solid #efb9b3;padding:12px 14px;border-radius:9px;font-size:12px;margin:15px 0}
#imsfrane-booking .bp-validation:not(:empty){display:block}
#imsfrane-booking .bp-checkout-help{background:#f5f2eb;padding:13px;border-radius:9px;margin-top:13px;color:#4c6269;font-size:12px}
#imsfrane-booking .bp-instructions{padding:19px 26px;background:white;border:1px solid #e7e4df;border-radius:12px;margin-top:26px;font-size:12px;color:#4c6269;line-height:1.7}
#imsfrane-booking .bp-instructions b{color:#214048}
#imsfrane-booking .bp-skip{position:absolute;left:-9999px}
#imsfrane-booking .bp-skip:focus{left:20px;top:20px;z-index:5;padding:9px;background:#ffffff}
@media(max-width:1010px){#imsfrane-booking .bp-layout{grid-template-columns:minmax(0,1fr) 330px;gap:20px}#imsfrane-booking .bp-offers{grid-template-columns:1fr}#imsfrane-booking .bp-hero-copy{padding:50px 30px}}
@media(max-width:800px){#imsfrane-booking .bp-layout{grid-template-columns:1fr}#imsfrane-booking .bp-side{position:static}#imsfrane-booking .bp-offers{grid-template-columns:repeat(2,minmax(0,1fr))}#imsfrane-booking .bp-summary-items{max-height:330px}#imsfrane-booking .bp-wrap{padding:34px 18px 75px}}
@media(max-width:610px){#imsfrane-booking .bp-hero{grid-template-columns:1fr}#imsfrane-booking .bp-hero-copy{padding:40px 22px 30px}#imsfrane-booking .bp-hero-photo{min-height:200px}#imsfrane-booking .bp-hero-photo:after{background:linear-gradient(0deg,#122f3642,transparent)}#imsfrane-booking .bp-hero h1{font-size:43px}#imsfrane-booking .bp-offers{grid-template-columns:1fr}#imsfrane-booking .bp-offer{padding:18px}#imsfrane-booking .bp-form-grid{grid-template-columns:1fr}#imsfrane-booking .bp-steps{gap:3px}#imsfrane-booking .bp-steps li{font-size:10px;gap:5px}#imsfrane-booking .bp-steps li:not(:last-child):after{margin:0 5px}#imsfrane-booking .bp-section-heading h2{font-size:28px}#imsfrane-booking .bp-filters{flex-wrap:nowrap;overflow-x:auto;padding-bottom:6px;scrollbar-width:thin}#imsfrane-booking .bp-filter{flex:0 0 auto}#imsfrane-booking .bp-wrap{padding:30px 14px 72px}}
@media(prefers-reduced-motion:reduce){#imsfrane-booking *,#imsfrane-booking *:before,#imsfrane-booking *:after{scroll-behavior:auto!important;transition:none!important}}

/* Author CSS display rules must not override native hidden attributes. */
#imsfrane-booking [hidden]{display:none!important}

/* Booking v2 — entirely text-based; activity checkmarks and automatic group pricing. */
/* The original brand logo is intentionally left untouched and visible. */
#imsfrane-booking .bp-hero{display:block;min-height:0;background:radial-gradient(ellipse at 85% 15%,#42636b 0%,transparent 38%),linear-gradient(128deg,#10282e,#173e48 70%,#234953)}
#imsfrane-booking .bp-hero-copy{max-width:1180px;margin:0 auto;padding:clamp(48px,7vw,94px) 24px}
#imsfrane-booking .bp-hero p{max-width:760px}
#imsfrane-booking .bp-hero-photo{display:none!important}
#imsfrane-booking .bp-travelers-box{display:grid;grid-template-columns:auto auto minmax(0,1fr);align-items:center;gap:15px 22px;background:#f1eee8;border:1px solid #d1cabe;border-radius:13px;padding:19px 22px;margin:21px 0 23px}
#imsfrane-booking .bp-travelers-box>label{font-weight:850;font-size:16px;color:#18363e}
#imsfrane-booking .bp-travelers-box>label span{color:#995035}
#imsfrane-booking .bp-travelers-box>p{font-size:12px;color:#4c6269;line-height:1.55;margin:0}
#imsfrane-booking .bp-travelers-control{display:flex;align-items:center;border:1px solid #bdcfc0;background:white;border-radius:9px;overflow:hidden;width:max-content;max-width:100%}
#imsfrane-booking .bp-travelers-control button{background:#fbf9f6;border:0;color:#1b4d59;font-weight:800;font-size:24px;width:42px;height:44px;line-height:1}
#imsfrane-booking .bp-travelers-control button:disabled{opacity:.35;cursor:default}
#imsfrane-booking .bp-travelers-control input{border:0;border-inline:1px solid #e5e0d8;background:#ffffff;color:#13353d;font-size:18px;font-weight:800;width:72px;text-align:center;height:44px;min-width:0;padding:0 5px;appearance:textfield;-moz-appearance:textfield}
#imsfrane-booking .bp-travelers-control input::-webkit-inner-spin-button,#imsfrane-booking .bp-travelers-control input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
#imsfrane-booking .bp-select-activity{display:flex;align-items:center;gap:8px;cursor:pointer;min-width:0;padding:3px 4px 3px 0}
#imsfrane-booking .bp-select-activity .bp-choice{appearance:none;-webkit-appearance:none;position:relative;display:inline-grid;place-items:center;flex:0 0 27px;width:27px;height:27px;border:2px solid #9fb2b6;background:white;border-radius:7px;cursor:pointer;margin:0}
#imsfrane-booking .bp-select-activity .bp-choice:checked{border-color:#16444f;background:#16444f}
#imsfrane-booking .bp-select-activity .bp-choice:checked:after{content:"×";font-family:Arial,sans-serif;color:white;font-size:26px;line-height:22px;font-weight:800;position:absolute;top:0;left:4px}
#imsfrane-booking .bp-select-activity .bp-choice:focus-visible{outline:3px solid #c77450;outline-offset:3px}
#imsfrane-booking .bp-select-label{font-size:13px;font-weight:800;color:#275662}
#imsfrane-booking .bp-offer[data-selected="true"] .bp-select-label{color:#123e49}
#imsfrane-booking .bp-offer .bp-unit{font-size:10px;text-align:right}
#imsfrane-booking .bp-offer .bp-count-auto{display:inline-block;padding:8px 12px;border-radius:100px;background:#f5f2eb;color:#234952;font-size:13px;white-space:nowrap;font-weight:700}
#imsfrane-booking .bp-count-auto strong{font-variant-numeric:tabular-nums}
#imsfrane-booking .bp-offer .bp-quantity-control{display:flex;align-items:center;justify-content:flex-end}
#imsfrane-booking .bp-offer .bp-icon{display:none!important}
#imsfrane-booking .bp-offer .bp-price-row{align-items:center}
#imsfrane-booking .bp-offer h3{margin-top:16px}
#imsfrane-booking .bp-offer[data-selected="true"]{background:#fbfdf9;border-color:#71969f}
@media(max-width:1010px){#imsfrane-booking .bp-travelers-box{grid-template-columns:1fr auto}#imsfrane-booking .bp-travelers-box>p{grid-column:1/-1}}
@media(max-width:610px){
  #imsfrane-booking .bp-hero-copy{padding:38px 22px}
  #imsfrane-booking .bp-travelers-box{grid-template-columns:1fr;gap:9px;padding:17px}
  #imsfrane-booking .bp-travelers-box>p{grid-column:1}
  #imsfrane-booking .bp-travelers-control{width:100%;justify-content:space-between}
  #imsfrane-booking .bp-travelers-control input{flex:1}
  #imsfrane-booking .bp-travelers-control button{width:58px}
  #imsfrane-booking .bp-offer .bp-select-label{font-size:14px}
}


/* RESERVATION ATELIER v3 — image-free editorial booking, logo preserved. */
#imsfrane-booking{--bp-ink:#153138;--bp-deep:#11353e;--bp-muted:#627c83;--bp-line:#eae7e2;--bp-gold:#c47d5f;--bp-milk:#faf9f7;background:#faf9f7;color:#18363e;font-family:Inter,Montserrat,"Segoe UI",sans-serif;font-size:14px;line-height:1.65}
#imsfrane-booking .bp-hero{background:radial-gradient(ellipse at 93% 34%,rgba(190,136,113,.14),transparent 36%),linear-gradient(135deg,#11292f,#19414b);border:0;min-height:0;display:block;position:relative;overflow:hidden}
#imsfrane-booking .bp-hero::after{content:"";position:absolute;pointer-events:none;width:380px;height:380px;border:1px solid rgba(225,168,144,.16);border-radius:50%;right:-110px;top:-145px;box-shadow:0 0 0 70px rgba(225,168,144,.035),0 0 0 145px rgba(225,168,144,.025)}
#imsfrane-booking .bp-hero-copy{max-width:1240px;margin:auto;padding:64px 25px 67px;position:relative;z-index:1}
#imsfrane-booking .bp-kicker{font-size:10px;letter-spacing:.25em;color:#995035}
#imsfrane-booking .bp-hero h1{font-family:"Playfair Display",Georgia,serif;color:#ffffff;font-size:clamp(38px,5vw,62px);line-height:1.16;letter-spacing:-.035em;margin:13px 0 17px;max-width:860px}
#imsfrane-booking .bp-hero h1 em{color:#e0a78e;font-weight:400}
#imsfrane-booking .bp-hero p{max-width:640px;color:#ebe6dc;font-size:15px;line-height:1.9;margin:0 0 20px}
#imsfrane-booking .bp-hero-tags{gap:10px}
#imsfrane-booking .bp-hero-tags span{border-color:rgba(255,255,255,.2);background:rgba(255,255,255,.05);font-size:11px;padding:7px 11px}
#imsfrane-booking .bp-wrap{max-width:1240px;margin:auto;padding:33px 24px 95px}
#imsfrane-booking .bp-steps{background:#ffffff;border:1px solid var(--bp-line);padding:13px 23px;margin:0 0 34px;border-radius:12px;box-shadow:0 8px 25px rgba(22,51,58,.035)}
#imsfrane-booking .bp-steps li{color:#4c6269;font-size:12px;gap:8px}
#imsfrane-booking .bp-steps li b{background:#f2f0ed;color:#41636b;border-radius:8px;width:28px;height:28px}
#imsfrane-booking .bp-steps li:first-child b{background:#194550;color:#ffffff}
#imsfrane-booking .bp-steps li:not(:last-child):after{color:#b9c9bf;margin:0 18px;content:"→"}
#imsfrane-booking .bp-layout{display:grid;grid-template-columns:minmax(0,1fr) 345px;align-items:start;gap:30px}
#imsfrane-booking .bp-section{margin-bottom:45px}
#imsfrane-booking .bp-section-heading{margin-bottom:21px}
#imsfrane-booking .bp-section-heading h2{font-family:"Playfair Display",Georgia,serif;color:#17353d;font-size:clamp(26px,3vw,35px);font-weight:700;letter-spacing:-.03em;margin:8px 0 0}
#imsfrane-booking .bp-section-heading p{font-size:13px;color:#4c6269;max-width:670px;margin:9px 0 0;line-height:1.75}
#imsfrane-booking .bp-heading-hint{letter-spacing:.16em;font-size:10px;color:#995035}
#imsfrane-booking .bp-travelers-box{grid-template-columns:1fr auto;gap:9px 18px;background:#ffffff;box-shadow:0 8px 25px rgba(22,51,58,.035);border:1px solid #e3dfd8;padding:20px 22px;border-radius:13px;margin:0 0 29px}
#imsfrane-booking .bp-travelers-box>label{color:#17363e;font-size:15px}
#imsfrane-booking .bp-travelers-box>p{grid-column:1/-1;margin:0;color:#4c6269;font-size:11px}
#imsfrane-booking .bp-travelers-control{border-radius:9px;border-color:#dedad2}
#imsfrane-booking .bp-travelers-control button{background:#f5f4f1;color:#1f4d59}
#imsfrane-booking .bp-travelers-control button:hover:not(:disabled){background:#eee9e1}
#imsfrane-booking .bp-category-title{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:0 0 12px;padding:0 2px}
#imsfrane-booking .bp-category-title strong{font-size:10px;letter-spacing:.14em;color:#4c6269}
#imsfrane-booking .bp-category-title small{font-size:11px;color:#995035}
#imsfrane-booking .bp-filters{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:thin;gap:7px;justify-content:flex-start;max-width:100%;padding:0 1px 12px;margin:0 0 13px}
#imsfrane-booking .bp-filter{flex-shrink:0;border-radius:8px;border:1px solid #e4e0d9;padding:10px 14px;font-size:12px;font-weight:750;min-height:40px;background:#ffffff;white-space:nowrap}
#imsfrane-booking .bp-filter:hover:not([aria-pressed="true"]){border-color:#94acb2;background:#f8f6f2}
#imsfrane-booking .bp-filter[aria-pressed="true"]{background:#17414c;color:white;border-color:#17414c;box-shadow:0 4px 12px rgba(17,58,68,.14)}
#imsfrane-booking .bp-offers{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
#imsfrane-booking .bp-offer{min-width:0;min-height:136px;padding:17px 17px 13px;border:1px solid #e7e4df;border-radius:11px;background:#ffffff;box-shadow:0 7px 23px rgba(22,44,49,.03);display:flex;flex-direction:column;justify-content:space-between;transition:border-color .18s,box-shadow .18s,background .18s}
#imsfrane-booking .bp-offer:hover{border-color:#aec8b6}
#imsfrane-booking .bp-offer[data-selected="true"]{background:#fcfbf8;border:1px solid #678e98;box-shadow:0 5px 18px rgba(42,85,96,.08)}
#imsfrane-booking .bp-select-activity{display:flex;align-items:flex-start;gap:12px;cursor:pointer;flex:1;min-width:0}
#imsfrane-booking .bp-choice{appearance:none;-webkit-appearance:none;flex-shrink:0;margin:3px 0 0;width:23px;height:23px;border-radius:6px;border:1.5px solid #b8c9b8;background:#ffffff;cursor:pointer;position:relative;display:block}
#imsfrane-booking .bp-choice:checked{background:#1b4f5c;border-color:#1b4f5c}
#imsfrane-booking .bp-choice:checked::after{content:"×";position:absolute;left:5px;top:-3px;font:800 24px/26px Arial,sans-serif;color:#ffffff}
#imsfrane-booking .bp-choice:focus-visible{outline:3px solid #c47d5f;outline-offset:3px}
#imsfrane-booking .bp-offer-details{display:flex;flex-direction:column;min-width:0;gap:4px}
#imsfrane-booking .bp-offer-name{font-size:14px;line-height:1.35;color:#1b363d;font-weight:800}
#imsfrane-booking .bp-offer-desc{font-size:11px;line-height:1.55;color:#4c6269}
#imsfrane-booking .bp-offer-actions{display:flex;align-items:center;justify-content:space-between;gap:9px;flex-wrap:wrap;border-top:1px solid #f2f0ed;margin-top:14px;padding-top:11px}
#imsfrane-booking .bp-offer-price{font-size:20px;font-weight:850;color:#183a43;line-height:1.1;white-space:nowrap;letter-spacing:-.04em}
#imsfrane-booking .bp-offer-price small{font-size:10px;font-weight:650;color:#4c6269;letter-spacing:0}
#imsfrane-booking .bp-offer-unit{display:none}
#imsfrane-booking .bp-quantity-control{display:inline-flex;align-items:center;justify-content:flex-end;margin-left:auto}
#imsfrane-booking .bp-count-auto{display:inline-flex;padding:5px 11px;background:#f4f2ee;color:#4d6166;font-size:12px;border-radius:6px;gap:4px}
#imsfrane-booking .bp-count-auto strong{font-weight:850;color:#16424d}
#imsfrane-booking .bp-stepper{border:1px solid #e2ded6;background:#fbfaf8;border-radius:7px}
#imsfrane-booking .bp-stepper button{width:31px;height:29px;font-size:19px}
#imsfrane-booking .bp-stepper output{font-size:13px;width:23px;min-width:23px}
#imsfrane-booking .bp-panel{background:#ffffff;border-radius:13px;border:1px solid #e8e5df;box-shadow:0 8px 24px rgba(24,50,56,.03);padding:29px}
#imsfrane-booking .bp-form-grid{gap:17px}
#imsfrane-booking .bp-field label{font-weight:750;color:#254148;font-size:12px}
#imsfrane-booking .bp-field :is(input,select,textarea){background:#ffffff;border-color:#e0dcd4;color:#1c3c44;border-radius:8px;min-height:47px;padding:11px 13px;font-size:14px}
#imsfrane-booking .bp-field :is(input,select,textarea):focus{border-color:#a9c3ae;outline:2px solid #e8e3d9}
#imsfrane-booking .bp-field textarea{min-height:116px}
#imsfrane-booking .bp-extra{background:#f9f8f5;border-color:#e7e3dc;color:#43595f;font-size:12px;padding:10px 12px}
#imsfrane-booking .bp-extra:has(input:checked){border-color:#6997a3;background:#f4f0e9}
#imsfrane-booking .bp-side{position:sticky;top:18px}
#imsfrane-booking .bp-summary{background:#ffffff;color:#1b3940;border:1px solid #e7e3db;box-shadow:0 15px 45px rgba(21,52,60,.09);border-radius:13px}
#imsfrane-booking .bp-summary-head{background:#ffffff;border-bottom:1px solid #ebe8e3;padding:25px 26px 18px}
#imsfrane-booking .bp-summary-head>span{color:#995035;font-size:10px;letter-spacing:.17em}
#imsfrane-booking .bp-summary-head h2{font-family:"Playfair Display",Georgia,serif;color:#213c43;font-size:27px;margin:7px 0 0}
#imsfrane-booking .bp-summary-items{padding:12px 25px;max-height:370px}
#imsfrane-booking .bp-summary-empty{color:#4c6269;font-size:13px;margin:0;padding:14px 0}
#imsfrane-booking .bp-summary-line{border-color:#edeae5;font-size:12px;line-height:1.5}
#imsfrane-booking .bp-summary-line strong{color:#243f46}
#imsfrane-booking .bp-summary-line small{color:#4c6269}
#imsfrane-booking .bp-summary-line b{color:#244047}
#imsfrane-booking .bp-summary-total{background:#f5f3ef;padding:25px;border-top:1px solid #e9e5df}
#imsfrane-booking .bp-sum-top>span{font-size:13px;color:#4f6368;font-weight:700}
#imsfrane-booking .bp-sum-top strong{color:#15404b;font-size:33px}
#imsfrane-booking .bp-summary-total p{color:#4c6269;font-size:11px;margin:13px 0 20px}
#imsfrane-booking .bp-send{background:#1c5664;color:#ffffff;border-radius:8px;min-height:52px;font-size:14px}
#imsfrane-booking .bp-send:hover{background:#13414c}
#imsfrane-booking .bp-copy{background:transparent;color:#365158;border:1px solid #b9cbbd;font-size:12px}
#imsfrane-booking .bp-copy:hover{background:#efece5}
#imsfrane-booking .bp-trust{margin:16px 7px 0;gap:9px}
#imsfrane-booking .bp-trust div{color:#4c6269;font-size:11px}
#imsfrane-booking .bp-instructions{padding:17px 19px;font-size:11px;border-radius:10px;margin-top:16px;color:#4c6269}
#imsfrane-booking .bp-hero-photo{display:none!important}
#imsfrane-booking [hidden]{display:none!important}
@media(max-width:1120px){#imsfrane-booking .bp-layout{grid-template-columns:minmax(0,1fr) 315px;gap:20px}#imsfrane-booking .bp-offers{grid-template-columns:1fr}#imsfrane-booking .bp-offer{min-height:98px}#imsfrane-booking .bp-offer-actions{margin-top:10px}}
@media(max-width:820px){#imsfrane-booking .bp-layout{grid-template-columns:1fr}#imsfrane-booking .bp-side{position:static}#imsfrane-booking .bp-offers{grid-template-columns:repeat(2,minmax(0,1fr))}#imsfrane-booking .bp-offer{min-height:136px}#imsfrane-booking .bp-wrap{padding:25px 18px 70px}#imsfrane-booking .bp-steps{margin-bottom:27px}}
@media(max-width:600px){
#imsfrane-booking .bp-hero-copy{padding:37px 20px 43px}
#imsfrane-booking .bp-hero h1{font-size:clamp(34px,9vw,45px)}
#imsfrane-booking .bp-hero p{font-size:13px}
#imsfrane-booking .bp-wrap{padding:20px 14px 65px}
#imsfrane-booking .bp-steps{padding:12px;gap:4px;justify-content:space-between}
#imsfrane-booking .bp-steps li{font-size:10px;gap:5px}
#imsfrane-booking .bp-steps li:not(:last-child):after{margin:0 3px}
#imsfrane-booking .bp-offers{grid-template-columns:1fr;gap:10px}
#imsfrane-booking .bp-offer{min-height:100px;padding:16px}
#imsfrane-booking .bp-panel{padding:19px}
#imsfrane-booking .bp-travelers-box{padding:16px;grid-template-columns:1fr;gap:10px}
#imsfrane-booking .bp-travelers-box>p{grid-column:1}
#imsfrane-booking .bp-travelers-control{width:100%;justify-content:space-between}
#imsfrane-booking .bp-travelers-control input{flex:1}
#imsfrane-booking .bp-travelers-control button{width:53px}
#imsfrane-booking .bp-category-title{margin-top:23px}
#imsfrane-booking .bp-section-heading h2{font-size:28px}
}
