/* Cielo B&B booking widgets: scoped to avoid overriding Astra / Elementor */
.cielo-widget{--cielo-blue:#104B8C;--cielo-dark:#142D4F;--cielo-light:#E5F3FC;--cielo-border:#d6e6f0;font-family:'Cormorant Garamond',Georgia,serif;color:var(--cielo-dark);font-size:20px;line-height:1.32;width:100%;max-width:100%;scroll-margin-top:100px}
.cielo-widget *{box-sizing:border-box}.cielo-widget h2,.cielo-widget h3,.cielo-widget p,.cielo-widget a,.cielo-widget button,.cielo-widget input,.cielo-widget select{font-family:'Cormorant Garamond',Georgia,serif}.cielo-widget h2{font-size:clamp(40px,5vw,64px);font-weight:500;line-height:1;letter-spacing:-1px;color:var(--cielo-blue);margin:8px 0 16px}.cielo-widget h3{font-size:32px;font-weight:500;line-height:1.1;color:var(--cielo-blue);margin:10px 0}
.cielo-widget .cielo-kicker{font-size:14px;letter-spacing:3px;font-weight:600;color:#4d7eaa;text-transform:uppercase}.cielo-intro{text-align:center;margin-bottom:27px}.cielo-intro p{color:#52728b;font-size:22px;margin:0}
.cielo-widget a,.cielo-widget button{transition:all .2s ease}.cielo-search-form,.cielo-booking-form{display:flex;gap:13px;flex-wrap:wrap;align-items:end;background:#f4f9fd;padding:24px;border:1px solid var(--cielo-border);border-radius:14px}
.cielo-widget label{display:flex;flex-direction:column;gap:7px;font-size:17px;font-weight:600;letter-spacing:.2px;color:#385d80;flex:1 1 165px}
.cielo-widget input:not([type=checkbox]),.cielo-widget select{width:100%;min-width:0;min-height:52px;border:1px solid #c6dbea;border-radius:6px;background:white;color:#163658;font-size:20px;padding:10px 14px;outline-offset:3px;box-shadow:none}
.cielo-widget input:focus-visible,.cielo-widget select:focus-visible{outline:2px solid var(--cielo-blue)}
.cielo-widget button,.cielo-widget .cielo-primary{display:inline-flex;justify-content:center;align-items:center;min-height:52px;border-radius:6px;background:var(--cielo-blue);border:1px solid var(--cielo-blue);color:white!important;padding:12px 22px;text-decoration:none!important;font-size:20px;cursor:pointer;font-weight:600;white-space:normal;text-align:center}
.cielo-widget button:hover,.cielo-widget .cielo-primary:hover{background:#0c3870;border-color:#0c3870;color:white}
.cielo-widget.cielo-room-grid,.cielo-widget .cielo-room-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:19px}.cielo-widget.cielo-room-grid{margin:20px auto}
.cielo-room-card{background:white;border:1px solid var(--cielo-border);border-radius:12px;overflow:hidden;box-shadow:0 15px 45px rgba(17,70,120,.06);min-width:0}
.cielo-room-image,.cielo-room-placeholder{display:block;width:100%;height:235px;object-fit:cover}.cielo-room-placeholder{background:linear-gradient(130deg,#bedff1,#104B8C);display:grid;place-items:center;color:white;letter-spacing:4px;font-size:25px}
.cielo-room-info{padding:20px 22px 24px}.cielo-room-info h3{margin-top:8px!important}.cielo-room-info p{font-size:19px;min-height:46px;margin:8px 0 18px}.cielo-room-meta{display:flex;gap:8px;justify-content:space-between;flex-wrap:wrap;font-size:17px;color:#617b92;padding:12px 0;border-top:1px solid #edf3f7;border-bottom:1px solid #edf3f7}.cielo-room-price{display:block;color:var(--cielo-blue);font-size:24px;margin:14px 0}.cielo-link{display:inline-flex;margin-top:16px;text-transform:uppercase;letter-spacing:.3px;font-weight:600;font-size:18px;color:var(--cielo-blue)!important;text-decoration:none!important}.cielo-link:hover{text-decoration:underline!important}
.cielo-results{margin-top:35px}.cielo-results>h3{text-align:center;font-size:39px;margin-bottom:19px}.cielo-booking-panel{margin:25px auto 0;max-width:850px;padding:28px;border:1px solid #c6dbea;border-radius:16px;background:#fff}.cielo-booking-panel h3{font-size:35px}.cielo-booking-panel>p{font-size:21px}.cielo-booking-form{display:flex;flex-direction:column;background:#f5fbff}.cielo-form-grid{width:100%;display:grid;grid-template-columns:1fr 1fr;gap:13px}.cielo-widget .cielo-checkbox{display:flex;flex-direction:row;align-items:center;gap:8px;flex:1 1 auto;font-size:17px;font-weight:400}.cielo-widget .cielo-checkbox input{margin:0;width:18px;height:18px;flex-shrink:0}.cielo-widget .cielo-checkbox a{color:var(--cielo-blue)!important;text-decoration:underline}.cielo-widget .cielo-honey{position:absolute;left:-9999px;top:auto;height:1px;width:1px;overflow:hidden}
.cielo-notice,.cielo-success{padding:18px 22px;margin:18px 0;border:1px solid #bbd7e9;border-radius:9px;background:#eaf5fd;color:#274e70;font-size:20px}.cielo-success{background:#e8f6ee;border-color:#b8e0c7;color:#256d4d}.cielo-privacy{font-size:18px;margin:15px 0 24px;color:#56718b}.cielo-single-room{display:grid;grid-template-columns:1fr 1fr;gap:35px;align-items:center}.cielo-single-room .cielo-gallery{display:grid;grid-template-columns:1fr 1fr;gap:6px}.cielo-single-room .cielo-room-image{grid-column:1/-1;height:350px}.cielo-single-room .cielo-gallery-image{width:100%;height:125px;object-fit:cover}.cielo-single-room p{font-size:21px}
.cielo-day-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:7px}.cielo-day{background:#edf8f1;color:#285d43;border:1px solid #d3e8d9;border-radius:8px;padding:10px 4px;text-align:center}.cielo-day.unavailable{background:#f3f5f7;color:#868d94;border-color:#e1e5e9}.cielo-day strong,.cielo-day small{display:block}.cielo-day small{font-size:14px}
@media(max-width:1024px){.cielo-widget.cielo-room-grid,.cielo-widget .cielo-room-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.cielo-search-form{padding:18px}}
@media(max-width:767px){.cielo-widget.cielo-room-grid,.cielo-widget .cielo-room-grid{grid-template-columns:1fr}.cielo-search-form,.cielo-booking-form{flex-direction:column;align-items:stretch;padding:18px}.cielo-widget label{width:100%;flex:0 0 auto}.cielo-form-grid{grid-template-columns:1fr}.cielo-widget button{width:100%}.cielo-room-image,.cielo-room-placeholder{height:240px}.cielo-room-info p{min-height:0}.cielo-booking-panel{padding:16px}.cielo-single-room{grid-template-columns:1fr;gap:22px}.cielo-day-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:390px){.cielo-widget .cielo-day-grid{grid-template-columns:repeat(3,1fr)}}
@media(prefers-reduced-motion:reduce){.cielo-widget a,.cielo-widget button{transition:none}}
