:root{--primary:#ec665a;--primary-hover:#d85448;--dark:#152b38;--ink:#243640;--muted:#7a878e;--border:#e8ebeb;--surface:#fafbf9;--round:17px;--shadow:0 12px 35px rgba(22,40,52,.10)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:Inter,"Segoe UI",Arial,sans-serif;margin:0;color:var(--ink);background:white;-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit}button{cursor:pointer}a{text-decoration:none;color:inherit}img{display:block;max-width:100%}.hidden{display:none!important}.wrap{width:min(1200px,calc(100% - 48px));margin:0 auto}.announcement{background:var(--dark);color:#e9f1f2;text-align:center;padding:11px;font-size:12px;letter-spacing:.015em}.announcement span{color:var(--primary);margin-left:10px}.main-header{position:sticky;top:0;background:#fff;border-bottom:1px solid #f0f1f1;z-index:50}.navline{display:flex;align-items:center;gap:35px;justify-content:space-between;min-height:82px}.brand{display:inline-flex;align-items:center;gap:10px;color:var(--dark);font-weight:850;white-space:nowrap;font-size:27px;letter-spacing:-1.2px}.brand-text>span{color:var(--primary)}.brand-icon{width:34px;height:36px;display:grid;place-items:center;color:white;background:var(--primary);border-radius:12px;font-size:31px;line-height:1}.desktop-nav{display:flex;gap:30px;font-size:14px;font-weight:650;color:#56646b;margin-left:auto}.desktop-nav a:hover{color:var(--primary)}.nav-actions{display:flex;gap:9px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;border:1px solid transparent;border-radius:12px;min-height:46px;padding:13px 22px;font-size:14px;font-weight:750;transition:.2s;line-height:1.25}.btn:hover{transform:translateY(-1px)}.btn.primary{background:var(--primary);color:#fff}.btn.primary:hover{background:var(--primary-hover)}.btn.outline{border-color:#e1e6e7;background:white;color:var(--dark)}.btn.light{background:white;color:var(--dark)}.btn.dark{background:var(--dark);color:#fff}.btn.small{min-height:39px;padding:10px 15px;font-size:12px}.btn:disabled{opacity:.6;cursor:not-allowed}.hero{padding:65px 0 64px;background:linear-gradient(120deg,#f7faf7 0%,#fff 70%)}.hero-layout{display:grid;grid-template-columns:1fr 1fr;gap:72px;align-items:center}.pill{display:inline-flex;align-items:center;gap:10px;color:#377c65;font-size:12px;font-weight:800;letter-spacing:.05em;text-transform:uppercase}.pill i{width:24px;height:2px;background:#74b399}.hero h1{font-size:clamp(43px,5.3vw,75px);letter-spacing:-3.2px;line-height:1.08;margin:23px 0 18px;color:var(--dark);max-width:630px}.hero h1 em{color:var(--primary);font-style:normal}.hero-copy>p{line-height:1.75;color:var(--muted);font-size:16px;max-width:490px;margin-bottom:30px}.search-widget{max-width:615px;background:white;border:1px solid #e8eded;box-shadow:0 12px 38px rgba(13,36,44,.08);border-radius:21px;padding:17px}.search-tabs{display:flex;border-bottom:1px solid #f0f1f1;margin-bottom:14px;padding-bottom:13px;gap:4px}.search-tabs button{background:transparent;color:#718088;border:0;border-radius:10px;padding:10px 13px;font-size:13px;font-weight:700}.search-tabs button.active{background:#ffefec;color:#c4514a}.search-fields{display:grid;grid-template-columns:1.4fr 1.1fr auto;gap:9px}.search-field{border:1px solid #e5e9e9;border-radius:11px;padding:10px 12px;min-width:0}.search-field small{display:block;font-weight:800;font-size:11px;color:#354c58;margin-bottom:5px}.search-field input,.search-field select{border:0;width:100%;outline:0;font-size:12px;color:#53636d;background:transparent;min-width:0}.search-button{min-width:95px}.hero-minis{display:flex;gap:16px;flex-wrap:wrap;margin-top:23px;font-size:11px;color:#6f8285}.hero-visual{height:515px;display:grid;grid-template-columns:1.35fr .85fr;grid-template-rows:1fr 1fr;gap:14px;position:relative}.hero-photo{overflow:hidden;border-radius:23px;background:#ecf1f0;position:relative}.hero-photo img{width:100%;height:100%;object-fit:cover}.primary-photo{grid-row:span 2}.hero-overlay{position:absolute;bottom:0;left:0;right:0;padding:35px 24px 24px;color:white;background:linear-gradient(transparent,#1b343bd9)}.hero-overlay span{font-size:10px;font-weight:800;letter-spacing:1.5px;display:block;margin-bottom:7px}.hero-overlay b{font-size:18px}.float-note{position:absolute;left:-45px;bottom:42px;display:flex;gap:12px;background:white;border-radius:15px;padding:13px 16px;box-shadow:var(--shadow);align-items:center}.note-icon{background:#e9f8ef;color:#38936c;width:39px;height:39px;border-radius:11px;display:grid;place-items:center;font-weight:850}.float-note b{display:block;font-size:12px}.float-note small{display:block;color:#95a0a3;margin-top:4px;font-size:11px}.feature-band{border-top:1px solid #f0f2f1;border-bottom:1px solid #ecf0ee}.features-inline{padding:24px 0;display:flex;justify-content:space-between;gap:14px}.features-inline>div{display:flex;gap:13px;align-items:center;font-size:24px;color:#43846d}.features-inline span{font-size:12px;color:var(--ink)}.features-inline b,.features-inline small{display:block}.features-inline small{font-size:11px;color:#95a0a2;margin-top:4px}.section{padding:85px 0 95px}.section-head{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:28px}.label{font-size:11px;color:var(--primary);letter-spacing:1.7px;font-weight:850}.section-head h2,.center-heading h2{font-size:clamp(31px,3.4vw,43px);color:var(--dark);margin:10px 0;letter-spacing:-1.3px}.section-head p,.center-heading p{color:var(--muted);font-size:14px;line-height:1.65;margin:0}.result-count{font-size:12px;border:1px solid #e5e9e9;border-radius:10px;padding:12px 15px;color:#72818a;white-space:nowrap}.filter-strip{display:flex;justify-content:space-between;gap:15px;align-items:center;margin-bottom:26px}.chips{display:flex;flex-wrap:wrap;gap:8px}.chip{padding:11px 16px;border:1px solid #e5e9ea;background:white;border-radius:50px;font-size:12px;color:#68777f;font-weight:700}.chip.active{background:var(--dark);color:white;border-color:var(--dark)}.sort{padding:10px 13px;border:1px solid #e5e9ea;border-radius:11px;background:#fff;color:#667981;font-size:12px}.property-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}.property{border:1px solid #edf0f0;border-radius:19px;overflow:hidden;transition:.2s;background:#fff;min-width:0}.property:hover{box-shadow:var(--shadow);transform:translateY(-3px)}.prop-cover{height:245px;position:relative;background:#f5f7f6;overflow:hidden}.prop-cover img{width:100%;height:100%;object-fit:cover}.prop-tag{position:absolute;top:14px;left:14px;background:#fff;padding:8px 12px;border-radius:9px;font-weight:850;text-transform:uppercase;font-size:10px;color:var(--dark)}.prop-content{padding:19px}.prop-location{font-size:12px;color:#7c898f}.prop-location::before{content:'⌖';color:var(--primary);margin-right:6px;font-weight:900;font-size:16px}.prop-content h3{font-size:17px;line-height:1.35;margin:9px 0 12px;min-height:46px}.prop-detail{font-size:12px;color:#8d979e;display:flex;flex-wrap:wrap;gap:14px;margin-bottom:16px}.prop-bottom{border-top:1px solid #edf1f0;padding-top:16px;display:flex;justify-content:space-between;gap:8px;align-items:center}.prop-price{color:var(--dark);font-size:20px;font-weight:850}.prop-price small{font-size:11px;color:#87949b;font-weight:500}.link-action{background:transparent;border:0;color:var(--primary);font-size:12px;font-weight:800}.catalog-notice{border:1px solid #e6e9e9;background:#f9faf9;border-radius:14px;margin-top:20px;padding:17px 20px;font-size:13px;color:#65777b;line-height:1.7}.loading-cards,.empty{grid-column:1/-1;border:1px dashed #e3e7e7;padding:56px 18px;text-align:center;border-radius:16px;color:#78858b}.empty h3{color:var(--dark);margin:0 0 9px}.empty a{display:inline-flex;margin-top:17px}.how-section{background:#f7f9f6;padding:88px 0}.center-heading{text-align:center;margin-bottom:39px}.how-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.how-grid article{background:white;border:1px solid #ecf0ed;border-radius:20px;padding:30px;position:relative}.how-icon{height:58px;width:58px;border-radius:16px;background:#eef8f1;color:#4d9574;display:grid;place-items:center;font-size:30px}.step{position:absolute;right:30px;top:32px;color:#e5e9e8;font-size:29px;font-weight:850}.how-grid h3{font-size:18px;color:var(--dark);margin:23px 0 10px}.how-grid p{font-size:13px;color:#819096;line-height:1.7;margin:0}.cta-section{padding:83px 0}.cta{display:flex;justify-content:space-between;align-items:center;gap:40px;background:var(--dark);border-radius:27px;color:white;padding:55px 65px;overflow:hidden}.cta>div:first-child{max-width:670px}.cta span{font-size:11px;letter-spacing:1.7px;color:#e5aa9b;font-weight:850}.cta h2{font-size:clamp(30px,3.2vw,43px);line-height:1.15;letter-spacing:-1.4px;margin:14px 0}.cta p{font-size:14px;line-height:1.7;color:#b6c7cd;margin-bottom:24px}.cta-mark{font-size:185px;line-height:.8;color:#ffffff16;transform:rotate(-15deg)}footer{background:#f7f9f8;padding:58px 0 25px}.footer-content{display:grid;grid-template-columns:2fr 1fr 1fr;gap:55px}.footer-content p{color:#86949b;font-size:13px;line-height:1.8}.footer-content>div:not(:first-child){display:flex;flex-direction:column;gap:13px;font-size:13px;color:#859299}.footer-content b{color:var(--dark);font-size:14px;margin-bottom:5px}.footer-content a:hover{color:var(--primary)}.footer-bottom{display:flex;justify-content:space-between;gap:20px;border-top:1px solid #e4e8e8;margin-top:40px;padding-top:20px;color:#9aa5a8;font-size:11px}.wa-bubble{position:fixed;right:25px;bottom:25px;background:#19ad68;color:white;width:60px;height:60px;border-radius:50%;box-shadow:0 8px 30px #1a8e6155;display:grid;place-items:center;font-size:33px;z-index:40}.modal-screen{position:fixed;inset:0;background:rgba(12,29,38,.7);z-index:100;display:grid;place-items:center;padding:18px;overflow:auto}.modal-panel{position:relative;background:#fff;border-radius:20px;width:min(730px,100%);max-height:calc(100vh - 36px);overflow:auto}.close-modal{position:absolute;top:12px;right:13px;z-index:2;background:#fff;border:0;width:36px;height:36px;border-radius:50%;font-size:25px;box-shadow:0 1px 10px #0002}.modal-photo{width:100%;height:300px;object-fit:cover;background:#edf1f1}.modal-content{padding:25px}.modal-content h2{font-size:26px;line-height:1.3;margin:5px 0 12px}.modal-content p{color:#71848c;line-height:1.7}.modal-price{display:flex;align-items:center;justify-content:space-between;gap:10px;border-top:1px solid var(--border);padding-top:20px;margin-top:18px}.modal-price strong{font-size:25px;color:var(--dark)}.demo-ribbon{background:#fff7e7;color:#986b29;border:1px solid #f1dfbd;padding:14px 17px;border-radius:10px;line-height:1.5;font-size:12px;margin-top:22px}
/* Forms and administration */
.page-banner{background:linear-gradient(120deg,#f6f9f6,#fff);padding:54px 0;border-bottom:1px solid var(--border)}.page-banner h1{font-size:clamp(33px,4vw,50px);letter-spacing:-1.5px;margin:13px 0;color:var(--dark)}.page-banner p{max-width:680px;color:#7f8c92;line-height:1.7;font-size:14px}.form-layout{display:grid;grid-template-columns:1.5fr .8fr;gap:28px;align-items:start;padding:45px 0 80px}.panel{background:white;border:1px solid var(--border);border-radius:18px;padding:27px;box-shadow:0 5px 25px #122a3710}.panel h2{margin:0 0 17px;color:var(--dark);font-size:23px}.panel h3{margin:5px 0 10px;font-size:17px}.panel p{font-size:13px;color:#78868c;line-height:1.65}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.full{grid-column:1/-1}.field-label{display:flex;flex-direction:column;gap:7px;font-size:12px;font-weight:750;color:#40525a}.field-label input,.field-label select,.field-label textarea,.admin-input{border:1px solid #dfe6e8;border-radius:10px;padding:12px 13px;outline:none;background:white;min-width:0;color:#263b45;font-size:14px;width:100%}.field-label textarea{min-height:110px;resize:vertical}.field-label input:focus,.field-label select:focus,.field-label textarea:focus,.admin-input:focus{border-color:var(--primary);box-shadow:0 0 0 2px #e96c5830}.checkbox-row{display:flex;align-items:flex-start;gap:11px;font-size:13px;color:#50616a;line-height:1.6;margin:9px 0}.checkbox-row input{margin-top:4px;accent-color:var(--primary)}.form-help{color:#829097;font-size:12px;line-height:1.6}.msg{padding:14px 16px;border-radius:10px;background:#f4f7f7;color:#567078;font-size:13px;line-height:1.6;margin-top:17px}.msg.error{background:#fff0ee;color:#aa3f35}.msg.success{background:#eaf9ee;color:#347953}.info-card{padding:20px;border-radius:13px;background:#f7f9f7;border:1px solid #e8eeec;margin-bottom:16px}.info-card b{color:var(--dark)}.info-card p{margin:6px 0 0}.side-checks{padding-left:20px;line-height:1.8;color:#667983;font-size:13px}.inline-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.admin-shell{display:grid;grid-template-columns:240px 1fr;min-height:100vh;background:#f6f8f9}.admin-side{background:var(--dark);color:white;padding:27px 18px}.admin-side .brand{color:white;font-size:24px}.admin-side .brand-icon{width:32px;height:32px;font-size:26px}.admin-menu{margin-top:44px;display:grid;gap:6px}.admin-menu button,.admin-menu a{border:0;background:transparent;color:#aec2c9;font-weight:650;text-align:left;width:100%;padding:13px 14px;border-radius:11px;font-size:13px}.admin-menu button.active,.admin-menu button:hover{background:#ffffff1b;color:#fff}.admin-main{padding:32px 35px;min-width:0}.admin-top{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:23px}.admin-top h1{color:var(--dark);font-size:30px;letter-spacing:-1px;margin:5px 0}.admin-user{color:#85929b;font-size:12px}.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:13px;margin-bottom:25px}.stat{border:1px solid #e7ecee;background:#fff;border-radius:14px;padding:21px}.stat span{display:block;color:#7e9099;font-size:12px}.stat b{font-size:30px;color:var(--dark);display:block;margin:9px 0 2px}.admin-view{display:none}.admin-view.active{display:block}.table-scroll{overflow:auto;max-width:100%}.data-table{width:100%;border-collapse:collapse;min-width:700px;font-size:12px}.data-table th{background:#f8faf9;text-align:left;color:#64757d;padding:14px 12px;font-size:11px}.data-table td{padding:15px 12px;border-top:1px solid #eff1f2;vertical-align:top;color:#54656d}.data-table td b{color:var(--dark);display:block;margin-bottom:4px}.action{border:1px solid #dce5e7;border-radius:9px;background:#fff;padding:8px 10px;font-weight:700;font-size:11px;color:#4c6572;margin:2px}.action.danger{color:#a23d35;border-color:#f0cecb}.status{font-size:11px;background:#edf5ef;color:#3b8060;border-radius:99px;padding:5px 9px;display:inline-block}.status.pending{background:#fff4e5;color:#956327}.status.hidden-status{background:#f2f2f2;color:#677}.admin-overlay{position:fixed;inset:0;background:#f7f9f9;display:grid;place-items:center;padding:20px;z-index:200}.login-card{width:min(465px,100%);background:white;border:1px solid #e7eceb;border-radius:20px;padding:30px;box-shadow:var(--shadow)}.login-card h1{font-size:28px;color:var(--dark);margin-bottom:4px}.login-card .field-label{margin:15px 0}.admin-form-modal{position:fixed;inset:0;z-index:180;background:#102736a8;display:grid;place-items:center;padding:15px}.form-modal-inner{background:white;border-radius:18px;padding:27px;max-height:95vh;overflow:auto;width:min(720px,100%);position:relative}.form-modal-inner .field-label{margin-bottom:12px}.form-modal-inner h2{color:var(--dark)}.settings-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.settings-grid .panel{height:100%}.color-row{display:flex;gap:12px;align-items:center}.color-row input[type=color]{width:68px;height:46px;cursor:pointer;border:1px solid #eee;border-radius:9px;background:white;padding:4px}.empty-small{padding:32px 14px;text-align:center;color:#8d9a9f;font-size:13px}.small-note{font-size:11px;color:#87959b;line-height:1.6}.loading-note{color:#7a858b;font-size:13px}
@media(max-width:1080px){.desktop-nav{gap:15px}.hero-layout{gap:35px}.hero h1{font-size:55px}.hero-visual{height:455px}.search-fields{grid-template-columns:1fr 1fr}.search-button{grid-column:1/-1}.navline{gap:10px}.nav-actions .outline{display:none}}
@media(max-width:820px){.hero-layout{grid-template-columns:1fr}.hero-visual{height:360px;max-width:680px}.hero h1{max-width:720px}.float-note{left:12px;bottom:17px}.desktop-nav{display:none}.features-inline{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.property-grid{grid-template-columns:repeat(2,1fr)}.form-layout{grid-template-columns:1fr}.footer-content{grid-template-columns:1.5fr 1fr 1fr}.admin-shell{grid-template-columns:1fr}.admin-side{padding:15px;display:flex;gap:18px;align-items:center;overflow:auto}.admin-side .brand{font-size:20px}.admin-menu{display:flex;gap:4px;margin:0}.admin-menu button,.admin-menu a{white-space:nowrap;width:auto}.admin-main{padding:25px}.stat-grid{grid-template-columns:repeat(2,1fr)}.settings-grid{grid-template-columns:1fr}}
@media(max-width:550px){.wrap{width:calc(100% - 32px)}.announcement{font-size:10px}.navline{min-height:70px}.brand{font-size:23px}.nav-actions .btn{padding:10px 12px}.hero{padding:45px 0}.hero h1{font-size:clamp(39px,10vw,52px);letter-spacing:-2px}.hero-copy>p{font-size:14px}.hero-visual{height:300px;gap:8px}.hero-photo{border-radius:17px}.hero-overlay{padding:22px 10px 13px}.hero-overlay b{font-size:13px}.hero-overlay span{font-size:8px}.float-note{padding:10px;bottom:12px}.features-inline{gap:17px}.features-inline>div{font-size:19px}.features-inline b{font-size:11px}.features-inline small{font-size:10px}.section,.how-section{padding:60px 0}.section-head{align-items:flex-start}.result-count{display:none}.filter-strip{display:block}.sort{margin-top:14px}.property-grid,.how-grid{grid-template-columns:1fr}.prop-cover{height:245px}.cta-section{padding:45px 0}.cta{padding:37px 25px}.cta-mark{display:none}.footer-content{grid-template-columns:1fr 1fr;gap:26px}.footer-content>div:first-child{grid-column:1/-1}.footer-bottom{display:block;line-height:1.7}.footer-bottom span:last-child{display:block}.wa-bubble{width:52px;height:52px;right:15px;bottom:15px}.form-grid{grid-template-columns:1fr}.panel{padding:20px}.page-banner{padding:40px 0}.admin-main{padding:18px 12px}.admin-top{align-items:flex-start}.stat{padding:15px}.stat b{font-size:25px}.settings-grid{grid-template-columns:1fr}.admin-side{flex-wrap:wrap}.admin-menu{overflow-x:auto;width:100%}.admin-form-modal{padding:7px}.form-modal-inner{padding:20px}}

/* Versión 2: acceso de administración en el mismo sitio y colores sincronizados */
.admin-shortcut {display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:9px 13px;min-height:39px;border:1px solid #dce4e5;border-radius:11px;color:var(--dark);font-size:12px;font-weight:800;white-space:nowrap;background:#f8faf9;transition:background .15s,border-color .15s;}
.admin-shortcut:hover {background:#eaf1f0;border-color:var(--primary)}
.btn.primary:hover {background:color-mix(in srgb, var(--primary) 85%, black)}
.search-tabs button.active {background:color-mix(in srgb, var(--primary) 12%, white);color:color-mix(in srgb, var(--primary) 77%, black)}
.admin-menu button:focus-visible,.admin-shortcut:focus-visible,.btn:focus-visible{outline:3px solid var(--primary);outline-offset:2px}
@media(max-width:550px){.admin-shortcut{padding:9px 10px;min-height:38px;gap:4px}.admin-shortcut span{font-size:11px}.nav-actions{gap:6px}.nav-actions .btn{padding:9px 11px}.navline{gap:8px}}

/* Nay Inmobiliaria · Reservas, visitas y QR */
.booking-actions{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0 4px}
.booking-actions .btn{flex:1;min-width:170px}
.reserved-alert{background:#fff3e4;border:1px solid #edd8b4;border-radius:11px;padding:15px;color:#80522b;margin:17px 0;font-size:14px;line-height:1.6}
.success-ticket{background:#ecf8f2;border:1px solid #c1e6d1;padding:15px;border-radius:12px;margin:16px 0}
.success-ticket strong{font-size:16px;color:#235e45}
.success-ticket p{margin-bottom:0}
.qr-payment{background:#f8fafb;border:1px solid #e0e9ed;border-radius:14px;padding:17px;margin:20px 0;text-align:center}
.qr-payment img{max-width:290px;max-height:300px;width:100%;object-fit:contain;margin:16px auto;background:#fff;padding:12px;border:1px solid #dfe8e9;border-radius:10px}
.qr-payment p{font-size:13px;color:#445c67;line-height:1.55}
.report-payment{margin:20px 0;border-top:1px solid #e3e9e9;padding-top:16px}
.report-payment form{display:grid;gap:10px}
#booking-complete .btn{width:100%;text-align:center}
#booking-form .checkbox-row input{width:auto}
@media(max-width:550px){.booking-actions .btn{width:100%}.booking-actions{display:grid}.modal-price{flex-wrap:wrap}.modal-price .btn{width:100%}}
