@font-face{font-family:EFBookingMontserrat;src:url('/ef_universos_editorial/static/assets/montserrat-regular.woff2') format('woff2');font-weight:400;font-display:swap}.ef-booking-flow{background:#f8f5f0!important;color:#211912;font-family:EFBookingMontserrat,Arial,sans-serif;padding-bottom:65px;min-height:80vh;--primary:#91552b;--bs-primary:#91552b;--bs-primary-rgb:145,85,43;position:relative;isolation:isolate}.ef-booking-intro{position:relative;overflow:hidden;color:#f7f2ed;padding:70px max(24px,6vw) 50px;border-bottom:1px solid #91552b55;margin-bottom:40px;background:radial-gradient(ellipse at 85% 15%,#91552b44,transparent 58%),#080706}.ef-booking-intro:before{content:'';position:absolute;width:700px;height:300px;right:-140px;top:20px;border:1px solid #bc8a6244;border-radius:50%;transform:rotate(-25deg);animation:ef-booking-orbit 18s ease-in-out infinite alternate;pointer-events:none}.ef-booking-intro p{font-size:9px;letter-spacing:.18em;text-transform:uppercase;color:#d2b59e}.ef-booking-intro h2{font-family:inherit;font-size:clamp(38px,5vw,68px);font-weight:400;line-height:1.14;letter-spacing:-.06em;margin:22px 0;color:#f7f2ed}.ef-booking-intro h2 span{color:#d0a580}.ef-booking-intro>span{display:block;font-size:12px;color:#c0b4aa;max-width:600px;line-height:1.9}.ef-booking-intro a{color:#e7d0bd;font-size:11px;display:inline-flex;align-items:center;gap:15px;margin-top:22px;text-underline-offset:5px;min-height:44px}.ef-booking-intro button{display:block;font:inherit;font-size:9px;color:#d5c3b4;border:1px solid #795235;background:transparent;min-height:38px;padding:9px 14px;margin-top:20px}.ef-booking-flow>[class*="container"],.ef-booking-flow>.oe_structure{background:#f8f5f0;color:#211912;border-radius:2px;padding-top:30px;padding-bottom:35px}.ef-booking-flow>.oe_structure:empty{display:none}.ef-booking-flow .o_appointment_choice,.ef-booking-flow .o_appointment_details_column,.ef-booking-flow .o_appointment_attendee_form{color:#211912}.ef-booking-flow>[class*="container"] h1,.ef-booking-flow>[class*="container"] h2,.ef-booking-flow>[class*="container"] h3{font-family:inherit;letter-spacing:-.035em}.ef-booking-flow .btn-primary{background-color:#91552b!important;border-color:#91552b!important;color:#fff!important;--btn-hover-bg:#754322;--btn-hover-border-color:#754322}.ef-booking-flow .btn-primary:hover{background-color:#754322!important;border-color:#754322!important}.ef-booking-flow .btn-outline-primary{color:#754322!important;border-color:#91552b!important}.ef-booking-flow .btn-outline-primary:hover,.ef-booking-flow .btn-outline-primary.active{background:#91552b!important;color:#fff!important}.ef-booking-flow .o_slot_button{border-radius:2px;transition:background .25s,transform .25s}.ef-booking-flow .o_slot_button:hover{transform:translateY(-2px)}.ef-booking-flow .form-control,.ef-booking-flow .form-select{min-height:46px}.ef-booking-flow a:focus-visible,.ef-booking-flow button:focus-visible,.ef-booking-flow input:focus-visible,.ef-booking-flow select:focus-visible{outline:3px solid #91552b;outline-offset:3px}.ef-booking-flow .ef-booking-intro button:focus-visible,.ef-booking-flow .ef-booking-intro a:focus-visible{outline-color:#f0c7a7}.ef-booking-paused *,.ef-booking-paused:before,.ef-booking-paused *:before{animation:none!important;transition:none!important}@keyframes ef-booking-orbit{to{transform:rotate(15deg) translate(-25px,20px)}}@media(max-width:600px){.ef-booking-intro{padding:40px 22px 35px;margin-bottom:22px}.ef-booking-intro h2{font-size:43px}.ef-booking-intro>span{font-size:11px}.ef-booking-flow>[class*="container"]{padding-inline:18px}.ef-booking-flow{padding-bottom:30px}.ef-booking-intro:before{width:430px;right:-220px}}@media(prefers-reduced-motion:reduce){.ef-booking-flow *,.ef-booking-flow *:before{animation:none!important;transition:none!important}}
/* Animate only the introduction: calendar and form positions remain stable. */
.ef-booking-intro:after{content:'';position:absolute;inset:-25%;pointer-events:none;background:linear-gradient(115deg,transparent 35%,#e0ad7730 50%,transparent 65%);animation:ef-booking-arrival 2.7s ease-out both}
.ef-booking-intro h2{animation:ef-booking-title 1.35s cubic-bezier(.16,1,.3,1) both}
.ef-booking-intro h2 span{background:linear-gradient(100deg,#b47c50,#f0d6bd 35%,#c99a75 65%,#f3dec9);background-size:230% 100%;background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;animation:ef-booking-ink 10s ease-in-out infinite alternate}
.ef-booking-intro>a svg{transition:translate .35s}.ef-booking-intro>a:hover svg{translate:3px -3px}
@keyframes ef-booking-arrival{from{opacity:0;translate:-85% 0}25%{opacity:1}to{opacity:0;translate:85% 0}}
@keyframes ef-booking-title{from{opacity:0;translate:0 30px;clip-path:inset(0 0 90% 0)}to{opacity:1;translate:0 0;clip-path:inset(0)}}
@keyframes ef-booking-ink{to{background-position:100% 50%}}
.ef-booking-paused .ef-booking-intro:after{display:none}.ef-booking-paused .ef-booking-intro h2{animation:none;opacity:1;translate:none;clip-path:none}
.ef-booking-hidden .ef-booking-intro *,.ef-booking-hidden .ef-booking-intro:before,.ef-booking-hidden .ef-booking-intro:after{animation-play-state:paused!important}
@media(prefers-reduced-motion:reduce){.ef-booking-intro:after{display:none}.ef-booking-intro h2{animation:none;opacity:1;translate:none;clip-path:none}}

.ef-booking-offscreen *,.ef-booking-offscreen:before,.ef-booking-offscreen:after{animation-play-state:paused!important}
/* A photographic, native appointment summary. Prices and personal details stay live. */
.ef-booking-flow .ef-appointment-summary{padding:0 12px;align-self:flex-start;min-width:0;color:#211912}
.ef-booking-flow .ef-appointment-summary>h4{display:block!important;color:#614124;font-size:10px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;margin:0 0 18px!important}
.ef-booking-flow .ef-appointment-summary>.position-relative{padding:0 23px 28px;background:#f8f5f0;border:1px solid #91552b33;box-shadow:0 14px 40px #41261308;overflow:hidden}
.ef-appointment-visual{position:relative;margin:0 -23px 28px;height:220px;overflow:hidden;background:#24180f}
.ef-appointment-visual>img:first-child{width:100%;height:100%;object-fit:cover;object-position:50% 32%;transition:transform 1.1s cubic-bezier(.16,1,.3,1)}
.ef-appointment-visual:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#17100b,transparent 68%);pointer-events:none}
.ef-appointment-visual>.ef-appointment-logo{position:absolute;bottom:19px;left:23px;width:148px;height:auto;z-index:1;object-fit:contain}
.ef-booking-flow .ef-appointment-summary .o_appointment_details_type{margin-bottom:25px!important}
.ef-booking-flow .ef-appointment-summary .o_appointment_details_type h5{font-family:inherit;font-size:clamp(24px,2.1vw,31px);line-height:1.2;font-weight:400;letter-spacing:-.045em;color:#211912;margin:0!important;overflow-wrap:anywhere}
.ef-booking-flow .ef-appointment-summary small.text-uppercase{display:block;font-size:8px!important;letter-spacing:.13em;line-height:1.7;color:#795336!important}
.ef-booking-flow .ef-appointment-summary .o-cc1-text{color:#33281f!important}
.ef-booking-flow .ef-appointment-summary .text-muted{color:#6d5c4e!important}
.ef-booking-flow .ef-appointment-summary .ef-appointment-price{align-items:center;gap:12px;padding:19px 0 22px!important;border-bottom:1px solid #c398713b!important;margin-bottom:16px}
.ef-appointment-price-label{display:block;font-size:10px;letter-spacing:.03em;color:#675444;margin-bottom:7px}.ef-appointment-tax-note{display:block;font-size:11px;color:#675444;margin-top:7px}
.ef-booking-flow .ef-appointment-summary .o_appointment_details_price strong{font-size:31px;font-weight:400;letter-spacing:-.055em;color:#794623;line-height:1.15}
.ef-booking-flow .ef-appointment-summary .fa{font-size:15px;width:28px;flex:0 0 28px;color:#91552b!important;line-height:1.6}
.ef-booking-flow .ef-appointment-summary .o_appointment_details_location{font-size:11px;line-height:1.7;gap:5px}
.ef-booking-flow .ef-appointment-summary .o_appointment_details_location [itemprop="name"]{display:block;font-size:10px;font-weight:400;color:#6d5c4e;margin-bottom:10px;line-height:1.7;overflow-wrap:anywhere}
.ef-booking-flow .ef-appointment-summary [itemprop="streetAddress"]{line-height:1.7!important;color:#33281f;font-size:12px}
.ef-booking-flow .ef-appointment-summary .ef-appointment-duration{align-items:center;padding:14px 13px!important;margin:20px 0 4px;background:#91552b22!important;border:1px solid #bc895335!important;font-size:15px;border-radius:2px}
.ef-appointment-duration [data-oe-type="duration"]:before{content:'Duración';display:block;font-size:8px;letter-spacing:.12em;text-transform:uppercase;color:#795336;margin-bottom:4px}
.ef-booking-flow .ef-appointment-summary .border-top{border-color:#c398713b!important;padding-top:25px!important;margin-top:25px!important}
.ef-booking-flow .ef-appointment-summary .o_appointment_user_short_card{font-size:11px;line-height:1.65;gap:9px!important;margin-top:17px!important}
.ef-booking-flow .ef-appointment-summary .o_appointment_user_short_card strong{font-size:14px;font-weight:400;color:#33281f}
.ef-booking-flow .ef-appointment-summary .o_appointment_card_user_fct{font-size:10px;margin-top:4px}
.ef-appointment-professional{width:48px;height:48px;object-fit:cover;object-position:50% 24%;border-radius:50%;border:1px solid #cda57e66;margin-right:5px;flex-shrink:0}
.ef-with-portrait>div:first-child{align-items:center}.ef-with-portrait>div:first-child>.fa-user-circle-o{display:none}
.ef-booking-flow .ef-appointment-summary .text-truncate{white-space:normal!important;overflow:visible!important;text-overflow:clip!important;overflow-wrap:anywhere}
.ef-booking-flow .ef-appointment-summary a{color:#794623;text-underline-offset:4px}
.ef-appointment-summary:hover .ef-appointment-visual>img:first-child{transform:scale(1.04)}
@media(max-width:767px){.ef-booking-flow .ef-appointment-summary{padding:0;margin-top:35px}.ef-appointment-visual{height:270px}.ef-booking-flow .ef-appointment-summary .o_appointment_details_type h5{font-size:31px}.ef-booking-flow .ef-appointment-summary .o_appointment_details_location{font-size:12px}.ef-booking-flow .ef-appointment-summary>.position-relative{padding-bottom:30px}.ef-booking-flow .ef-appointment-summary .o_appointment_user_short_card{font-size:12px}}
@media(prefers-reduced-motion:reduce){.ef-appointment-summary:hover .ef-appointment-visual>img:first-child{transform:none}}
.ef-booking-paused .ef-appointment-visual>img:first-child{transform:none!important;transition:none!important}
.ef-appointment-visual>.ef-appointment-logo{filter:brightness(0) invert(.96)}

/* Readable ink on iOS WebKit, including animated ancestors. */
@supports (-webkit-touch-callout:none){.ef-booking-intro h2 span{color:#e2bf9e!important;-webkit-text-fill-color:currentColor!important;background-image:none!important}}
