header{position:sticky;top:0;z-index:9;padding:18px 5%;background:#faf9f5f5;backdrop-filter:blur(12px)}.brand{font-size:22px}.hero{padding-top:45px}.hero-photo{height:460px;border-radius:110px 8px 8px 8px}.stay-search{display:grid;grid-template-columns:repeat(5,1fr) auto;gap:12px;background:var(--light);padding:24px;border-radius:10px}.stay-search label{display:flex;flex-direction:column;font-size:12px;gap:7px}.stay-search input,.stay-search select{width:100%;min-height:46px;background:white;border:1px solid #ccd6d9;padding:9px;border-radius:5px;min-width:0}.stay-search .btn{align-self:end;min-height:46px}.result-bar{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:16px 0}.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.card{border-radius:10px;overflow:hidden}.card-media{position:relative}.favorite{position:absolute;right:12px;top:12px;background:white;color:var(--ink);border:0;border-radius:50%;width:40px;height:40px;font-size:24px}.empty-state{text-align:center;border:1px dashed #b6c8ce;background:#f7faf9;padding:45px 25px;border-radius:12px}.empty-state h3{font:30px Georgia}.empty-state p{max-width:550px;margin:15px auto 25px;color:var(--muted)}.empty-icon{font-size:42px;color:var(--blue)}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;margin-top:35px}.steps article{border-top:1px solid var(--line);padding-top:20px}.steps article>span{color:var(--sand);font:34px Georgia}.steps h3{font:24px Georgia}.steps p{color:var(--muted)}.app-note{background:var(--light);display:flex;justify-content:space-between;align-items:center;gap:30px}.app-monogram{font:180px Georgia;color:var(--blue);line-height:1}.app-monogram span{color:var(--sand)}.contact-links{display:flex;flex-direction:column;gap:22px;overflow-wrap:anywhere}.bottom-nav{display:none}footer a{font-size:12px}.stay-calendar{background:#f2f6f5;border-radius:10px;margin-top:20px}.calendar-day{min-height:42px}.calendar-nav button{min-width:44px;min-height:44px}.note{font-size:12px}.booking-contact input{font-size:16px}.detail-img{max-height:380px}dialog{border-radius:14px;max-height:92dvh}dialog .close{position:sticky;top:0;z-index:3;float:right;background:white;border-radius:50%;width:44px;height:44px}.gallery{overflow-x:auto}.gallery button{flex-shrink:0}.stay-calendar h3{font:27px Georgia}.empty-state[hidden]{display:none}.admin-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:24px 0}.admin-summary>div{padding:20px;background:var(--light);border-radius:10px}.admin-summary b{display:block;font:32px Georgia}.admin-calendar{padding:20px!important;border:1px solid var(--line);border-radius:10px;margin-bottom:12px}.admin-calendar summary{cursor:pointer;font-weight:bold}.admin-calendar .stay-calendar{padding:18px!important}.admin-calendar .booking-contact,.admin-calendar [data-request],.admin-calendar [data-result]{display:none}.admin-calendar .stay-calendar>p:last-child{display:none}.editor{max-width:1100px}.editor h1{font-size:clamp(32px,6vw,44px)}.entry{padding:18px 0;border-bottom:1px solid var(--line)}.entry button{font-size:13px}.reservation-entry{padding:24px;background:white;border:1px solid var(--line);border-radius:10px;margin-bottom:16px}.contact{gap:35px}.text-button{min-height:42px}.card-body .btn{width:100%}button:disabled{cursor:default;opacity:.65}#detail .detail-map{display:flex;gap:20px;flex-wrap:wrap}@media(max-width:900px){header nav{display:none}.hero{gap:25px}.hero-photo{height:390px}.stay-search{grid-template-columns:repeat(3,1fr)}.cards{grid-template-columns:repeat(2,minmax(0,1fr))}.contact{grid-template-columns:1fr}.steps{gap:25px}}@media(max-width:600px){body{padding-bottom:calc(74px + env(safe-area-inset-bottom))}header{padding:14px 5%;gap:8px}.brand{font-size:18px}.brand small{font-size:7px;letter-spacing:1.5px}.mark{font-size:34px}header .btn{font-size:10px;padding:10px}.hero{display:flex;flex-direction:column;padding:35px 5%}.hero h1{font-size:49px}.hero .intro{font-size:15px}.hero-foot{margin-top:22px}.hero-photo{height:275px;width:100%;border-radius:70px 6px 6px 6px}.photo-tag{font-size:25px;bottom:50px}section:not(.hero){padding:40px 5%}.heading{display:block}.heading p{font-size:14px}.stay-search{grid-template-columns:1fr 1fr;padding:16px;gap:12px}.stay-search .btn{width:100%}.cards{grid-template-columns:1fr;gap:22px}.steps{grid-template-columns:1fr;gap:15px}.steps article{display:block}.steps h3{margin:6px 0}.steps p{margin-top:8px}.app-monogram{font-size:90px}.app-note{gap:15px}.app-note h2{font-size:29px}.app-note p{font-size:13px}.bottom-nav{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:20;background:#faf9f5f5;border-top:1px solid var(--line);justify-content:space-around;padding:9px 0 calc(9px + env(safe-area-inset-bottom));backdrop-filter:blur(12px)}.bottom-nav a,.bottom-nav button{border:0;background:none;color:var(--ink);text-align:center;font-size:23px;line-height:1.3;min-width:60px}.bottom-nav span{display:block;font:10px/1.6 Arial}.contact-links{font-size:14px}footer{padding:30px 5%;display:block}footer>div{display:flex;flex-direction:column;align-items:start}dialog{width:96%;padding:20px;max-height:94dvh}.detail-grid{display:block}.detail-img{height:240px}.stay-calendar{padding:16px!important}.calendar-legend{font-size:10px}.fields{gap:12px}.editor{padding:24px 5%}.admin-summary{gap:6px}.admin-summary>div{padding:10px;font-size:11px}.admin-summary b{font-size:26px}}
header{justify-content:space-between}header .brand{margin-right:auto}header button[hidden]{display:none}.calendar-dropdown>summary{cursor:pointer;padding:18px 0;font-weight:bold}
:root{--sand:#bb965d}header{border-bottom:1px solid #d6bd97}.brand{font-size:31px;font-family:Georgia,serif;letter-spacing:1px;color:#19374c}.brand small{color:#ac864d;font-size:9px;letter-spacing:2px}.estate-cover{position:relative;isolation:isolate;overflow:hidden;min-height:505px;padding:65px 4% 60px!important;background:#f6f2e9}.estate-art{position:absolute;inset:0 0 0 47%;z-index:-2;background:url('/portada-inmobiliaria.webp') right 43% / auto 220% no-repeat}.estate-cover:before{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#faf9f5 0%,#faf9f5 37%,#faf9f5eb 49%,#faf9f550 66%,transparent 78%)}.estate-copy{max-width:870px}.estate-copy .eyebrow{font-size:12px;letter-spacing:3px;color:#284859}.estate-copy h1{font:700 clamp(44px,5.4vw,77px)/1.02 Georgia,serif;letter-spacing:-2.5px;color:#19374c;max-width:900px;margin:0 0 20px}.estate-copy h1 em{font-style:normal;color:#b38c50}.estate-copy>p:not(.eyebrow){font:26px/1.28 Georgia,serif;max-width:670px;margin:0;color:#36546a}.estate-copy .actions{gap:12px;margin-top:28px}.estate-copy .btn{font:18px Georgia,serif;border-radius:10px;padding:17px 19px;gap:20px}.estate-primary{background:linear-gradient(110deg,#dfc49a,#c4a06a);border-color:#d8bd94;color:#19374c;font-weight:bold!important}.estate-secondary{color:#284859;background:#faf9f5d9;border-color:#36546a}.estate-signature{padding:18px 4%;border-top:2px solid #c7a671;border-bottom:1px solid #c7a671;display:flex;justify-content:center;gap:40px;font:23px Georgia,serif;background:#fbfaf7}.estate-signature span+span{border-left:1px solid #bb965d;padding-left:40px}.estate-services{display:grid;grid-template-columns:repeat(3,1fr);padding:30px 4%;background:#faf9f5;border-bottom:1px solid #c7a671}.estate-services>a{display:flex;justify-content:center;align-items:center;gap:20px;padding:5px 20px}.estate-services>a+a{border-left:1px solid #c7a671}.estate-services>a>span{font-size:65px;line-height:1;color:#bb965d}.estate-services h2{font:bold 29px Georgia,serif;color:#19374c;letter-spacing:0;margin:0 0 9px}.estate-services p{font:19px/1.3 Georgia,serif;margin:0;color:#36546a}.estate-contact{display:flex;align-items:center;gap:30px;padding:18px 5%;font:23px Georgia,serif}.estate-contact>b,.estate-contact b{font-size:29px}.estate-wa{margin-left:auto;background:#24b863;color:white;border-radius:12px;padding:12px 22px;font:17px Arial}.estate-email{padding:8px 5% 16px;text-align:center;font-size:14px;color:#36546a}.estate-logo{flex-shrink:0}.estate-copy .btn:hover{filter:brightness(.97)}@media(max-width:900px){.estate-copy{max-width:75%}.estate-copy>p:not(.eyebrow){font-size:22px}.estate-copy .btn{font-size:15px;padding:15px}.estate-signature{font-size:18px;gap:20px}.estate-signature span+span{padding-left:20px}.estate-services>a{padding:5px 14px;gap:12px}.estate-services>a>span{font-size:45px}.estate-services h2{font-size:24px}.estate-services p{font-size:16px}}@media(max-width:600px){header .brand{font-size:25px}.brand small{font-size:7px;letter-spacing:1px}.estate-logo{width:44px;height:42px}.estate-cover{padding:35px 5% 210px!important;min-height:580px}.estate-copy{max-width:100%}.estate-copy .eyebrow{font-size:9px;letter-spacing:1.8px}.estate-copy h1{font-size:clamp(39px,10vw,54px);letter-spacing:-1.3px}.estate-copy>p:not(.eyebrow){font-size:21px;max-width:95%}.estate-copy .actions{gap:8px;display:grid;grid-template-columns:1fr 1fr}.estate-copy .btn{font-size:14px;gap:7px;padding:13px 10px;min-height:48px}.estate-copy .estate-primary{grid-column:1/-1}.estate-art{inset:auto 0 0 0;height:235px;background-size:auto 235%;background-position:right 43%}.estate-cover:before{background:linear-gradient(180deg,#faf9f5 0%,#faf9f5 55%,#faf9f5eb 63%,#faf9f500 86%)}.estate-signature{font-size:17px;flex-direction:column;align-items:center;gap:9px;text-align:center;padding:17px 5%}.estate-signature span+span{border:0;padding:0;font-size:14px}.estate-services{padding:24px 5%;grid-template-columns:1fr;gap:18px}.estate-services>a{justify-content:start;gap:20px;padding:0}.estate-services>a+a{border-left:0;border-top:1px solid #deceb5;padding-top:18px}.estate-services>a>span{width:48px;text-align:center;font-size:44px}.estate-services h2{font-size:25px;margin-bottom:5px}.estate-services p{font-size:17px}.estate-services br{display:none}.estate-contact{padding:20px 5% 10px;flex-wrap:wrap;gap:12px;font-size:17px}.estate-contact b{font-size:24px}.estate-wa{font-size:14px;padding:11px 14px}.estate-email{font-size:12px;overflow-wrap:anywhere}}
.estate-art{background-size:auto 270%;background-position:right 35%}@media(max-width:600px){.estate-art{background-size:auto 280%;background-position:right 35%}}
.trust-banner{padding:25px 5%;display:grid;grid-template-columns:1fr 1.15fr;align-items:center;gap:35px;background:#f3ede1;border-top:2px solid #c2a06a;border-bottom:1px solid #c2a06a}.college-identity{display:flex;gap:18px;align-items:center}.college-logo{width:104px;height:104px;flex-shrink:0;overflow:hidden;border-radius:50%;background:#faf9f5}.college-identity strong{display:block;color:#19374c;font:24px Georgia,serif;margin-bottom:5px}.college-identity span{display:block;font-size:14px;line-height:1.5}.college-identity small{font-size:12px;color:#62717a}.trust-message{border-left:1px solid #c2a06a;padding-left:35px}.trust-label{font-size:9px;font-weight:700;letter-spacing:1.5px;color:#8b6736}.trust-message h2{font:bold 24px/1.23 Georgia,serif;margin:8px 0 11px;color:#19374c;letter-spacing:0}.trust-message a{font-size:12px;border-bottom:1px solid #bb965d;padding-bottom:3px}@media(max-width:800px){.trust-banner{grid-template-columns:1fr;gap:22px}.trust-message{border-left:0;border-top:1px solid #d2bc98;padding:20px 0 0}.college-identity strong{font-size:23px}.trust-message h2{font-size:24px}.college-logo{width:88px;height:88px}.college-identity span{font-size:13px}}@media(max-width:380px){.college-logo{width:74px;height:74px}.college-identity{gap:12px}.college-identity strong{font-size:20px}}
.share-app-row{display:flex;justify-content:center;padding:12px 5% 8px;background:#faf9f5}.share-app-whatsapp{display:inline-flex;align-items:center;justify-content:center;gap:11px;min-height:48px;padding:12px 23px;border:1px solid #16864a;border-radius:9px;background:#16864a;color:#fff;font-size:14px;font-weight:600;line-height:1.4;text-align:center}.share-app-whatsapp:hover{background:#106b39}.share-app-whatsapp svg{flex-shrink:0}@media(max-width:600px){.share-app-whatsapp{width:100%;font-size:14px}.share-app-row{padding:12px 5%}}
@media(min-width:901px){.stay-search{grid-template-columns:repeat(6,minmax(0,1fr)) auto}}
.booking-success{margin-top:24px;padding:26px;border:2px solid #16864a;border-radius:14px;background:#edf8f0;box-shadow:0 6px 20px #16864a15}.booking-success h3{margin:0 0 12px;color:#126b39;font:700 29px Georgia,serif}.booking-success p{margin:12px 0}.booking-reference{font-size:12px;overflow-wrap:anywhere;color:#52665c}.booking-whatsapp-cta{display:flex;align-items:center;justify-content:center;min-height:64px;width:100%;margin-top:20px;padding:19px 24px;border-radius:10px;background:#16864a;color:#fff!important;font-size:19px;font-weight:700;line-height:1.35;text-align:center;box-shadow:0 4px 10px #126b3925}.booking-whatsapp-cta:hover{background:#106b39}.booking-whatsapp-cta:focus-visible{outline:3px solid #19374c;outline-offset:4px}@media(max-width:600px){.booking-success{padding:20px 16px}.booking-success h3{font-size:26px}.booking-whatsapp-cta{font-size:18px;padding:18px 14px}}
.calendar-day.pending{background:#ffe0a0!important;border:2px solid #b87505!important;color:#674000!important;opacity:1!important;background-image:repeating-linear-gradient(135deg,transparent,transparent 5px,#b8750512 5px,#b8750512 10px)!important}.pending-legend{background:#ffe0a0;color:#674000;padding:4px 7px;border:1px solid #b87505;border-radius:4px}.calendar-day.pending.selected{outline:3px solid #284859}
.reservation-hours-wrap{padding:6px 5%}.reservation-hours{margin:12px 0;padding:15px 18px;background:#f3ede1;border:1px solid #c2a06a;border-left:4px solid #bb965d;border-radius:7px;color:#19374c;font-size:15px;line-height:1.5;text-align:center}.reservation-hours strong{font-weight:700}.reservation-hours-wrap .reservation-hours{max-width:1000px;margin:8px auto}.booking-success .reservation-hours{font-size:14px}@media(max-width:600px){.reservation-hours{font-size:14px;padding:13px}.reservation-hours strong{display:block}}
.booking-policy{margin:28px 0;padding:24px;border:1px solid #c2a06a;border-radius:12px;background:#faf8f2}.booking-policy h3{margin:0 0 12px;font:700 27px Georgia,serif;color:#19374c}.booking-policy h4{margin:22px 0 10px;font:700 21px Georgia,serif;color:#19374c}.booking-policy p{font-size:14px;line-height:1.6}.booking-policy table{width:100%;border-collapse:collapse;table-layout:fixed;font-size:14px}.booking-policy th{text-align:left;background:#e8dcc6;color:#19374c}.booking-policy td,.booking-policy th{padding:13px 12px;border-bottom:1px solid #deceb5;vertical-align:top;overflow-wrap:anywhere}.booking-policy td:last-child{font-weight:600}.booking-policy p.note{font-size:12px}@media(max-width:600px){.booking-policy{padding:18px 14px}.booking-policy td,.booking-policy th{padding:10px 8px;font-size:13px}.booking-policy h3{font-size:25px}}
.stay-estimate{margin:20px 0;padding:24px;background:#fff;border:2px solid #bb965d;border-radius:12px}.stay-estimate[hidden]{display:none}.stay-estimate h3{margin:0 0 12px;color:#19374c}.estimate-total{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:16px 0;border-top:1px solid #deceb5;border-bottom:1px solid #deceb5}.estimate-total strong{font-size:26px;color:#19374c}.estimate-options{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:18px}.estimate-options>div{padding:16px;border-radius:8px;background:#f3ede1}.estimate-options h4{font-size:15px;line-height:1.4;margin:0 0 12px}.estimate-options p{font-size:14px;margin:8px 0}.estimate-options strong{font-size:18px}.estimate-options span,.estimate-options strong{white-space:nowrap}@media(max-width:600px){.stay-estimate{padding:18px 14px}.estimate-options{grid-template-columns:1fr;gap:10px}.estimate-total{align-items:start;flex-direction:column}.estimate-total strong{font-size:27px}}
.reservation-warning{margin:20px 0;padding:17px 19px;background:#fff1cd;border:1px solid #d49b29;border-left:5px solid #b87505;border-radius:8px;color:#644300;font-size:14px;line-height:1.6}.reservation-warning strong{display:block;margin-bottom:7px}.booking-success .reservation-warning{background:#fff1cd;color:#644300}
.estate-contact{flex-wrap:wrap}.official-contact-notice{flex:0 0 100%;padding:18px 22px;border:1px solid #c2a06a;border-left:5px solid #bb965d;border-radius:9px;background:#f3ede1;font-family:Arial,sans-serif;line-height:1.55;color:#19374c}.official-contact-notice>strong{display:block;font-size:17px}.official-contact-notice>strong a{white-space:nowrap}.official-contact-notice p{margin:9px 0 0;font-size:14px}.official-contact-notice p b{font-size:inherit}.official-contact-notice a{text-decoration:underline;text-underline-offset:3px}@media(max-width:600px){.official-contact-notice{padding:16px}.official-contact-notice>strong{font-size:16px}.official-contact-notice p{font-size:14px}}
.calendar-day{position:relative}.calendar-day.special-day{box-shadow:inset 0 -4px #78549c}.calendar-day.special-day small{display:block;font:700 8px Arial;line-height:1.2;color:inherit}.calendar-week.weekend-heading{color:#70448e;font-weight:bold}.special-legend{color:#70448e;border-bottom:3px solid #78549c}.applicable-deposit{background:#eee5f5;padding:14px;border-radius:8px;color:#53336c;font-weight:bold}.estimate-options>div.applicable{outline:3px solid #78549c;background:#eee5f5}.calendar-settings{background:#f3ede1;border-radius:12px;padding:24px!important;margin:25px 0}.calendar-settings textarea{width:100%;font-size:16px;padding:12px}.calendar-settings p{font-size:14px}
.calendar-day.weekend-day{box-shadow:inset 0 -4px #52798b}.calendar-day.weekend-day small{display:block;font:700 8px/1.2 Arial;color:inherit}.weekend-legend{color:#36586a;border-bottom:3px solid #52798b}
.calendar-day.national-holiday{border:2px solid #78549c!important}.calendar-day.national-holiday:before{content:'◆';position:absolute;top:0;right:2px;font-size:8px;color:inherit}.month-holidays{margin:16px 0;padding:15px;background:#f1eaf6;border:1px solid #c8b4d8;border-radius:8px;font-size:13px;color:#53336c}.month-holidays strong{display:block;margin-bottom:8px}.month-holidays p{margin:7px 0;line-height:1.5}
.reservation-entry.reservation-pending{background:#fff0c2;border:2px solid #d18b05;border-left:8px solid #d18b05;box-shadow:0 4px 14px #b875051c}.reservation-pending .reservation-status{display:inline-block;background:#ffce55;color:#593800;border:1px solid #bd7c00;padding:10px 15px;border-radius:7px;font-size:16px;font-weight:700;line-height:1.4}.reservation-entry.reservation-confirmed{background:#edf7ef;border:1px solid #8db69a;border-left:8px solid #25814a}.reservation-confirmed .reservation-status{display:inline-block;background:#d0eed8;color:#145c30;padding:10px 15px;border-radius:7px;font-size:16px;font-weight:700}.reservation-entry.reservation-inactive{background:#f2f3f3;border:1px solid #cbd0d1;border-left:6px solid #a0a9ad}.reservation-inactive .reservation-status{background:#e1e5e6;color:#526168}.reservation-pending h3{color:#593800}.reservation-confirmed h3{color:#145c30}
.calendar-grid{touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}.calendar-day{touch-action:none}.calendar-day.range{box-shadow:inset 0 0 0 2px #52798b}
.checkout-notice{margin:18px 0;padding:16px 18px;background:#fff1d9;border:1px solid #c69242;border-left:5px solid #b87505;border-radius:8px;color:#62411b;font-size:14px;line-height:1.6}.checkout-notice strong{display:block;font-size:16px;margin-bottom:5px}
.calendar-selection-summary{margin:12px 0 16px;padding:15px;border:1px solid #c7d7dc;border-radius:9px;background:#f8fbfb}.calendar-selection-summary .fields{margin:0}.calendar-selection-summary .note{margin:10px 0}.calendar-selection-summary [data-summary]{margin:10px 0 0;font-weight:600;line-height:1.5}@media(max-width:600px){.calendar-selection-summary{margin-top:10px;padding:12px}}
.admin-reservation-estimate{margin:20px 0;padding:20px;background:#ffffffc9;border:1px solid #bca877;border-radius:10px}.admin-reservation-estimate h4{margin:0 0 10px;font-size:19px;color:#19374c}.admin-reservation-estimate p{margin:8px 0;font-size:14px}.admin-reservation-estimate dl{margin:15px 0}.admin-reservation-estimate dl>div{display:flex;justify-content:space-between;gap:20px;padding:11px 0;border-bottom:1px solid #d9cfb9}.admin-reservation-estimate dt{font-size:14px}.admin-reservation-estimate dd{margin:0;font-weight:700;text-align:right;white-space:nowrap;color:#19374c}.admin-reservation-estimate .admin-balance{padding:14px 12px;margin-top:10px;background:#e2edf0;border-radius:7px;border:0}.admin-reservation-estimate .admin-balance dd{font-size:20px}.admin-reservation-estimate .note{font-size:12px}@media(max-width:600px){.admin-reservation-estimate{padding:16px}.admin-reservation-estimate dl>div{flex-direction:column;gap:5px}.admin-reservation-estimate dd{text-align:left;white-space:normal}}
