:root{--gris-piedra:#393A3A;--gris-dark:#252626;--gris-mid:#4d4e4e;--beige:#E8E1CF;--beige-dark:#d4c9b0;--beige-light:#f7f4ee;--terracota:#C16B39;--terracota-dark:#a85a2e;--terracota-light:#d4845a;--white:#ffffff;--bg-body:#fdfcf9;--bg-section:#f9f6f0;--text-main:#393A3A;--text-muted:#6b6b6b;--text-light:#9ca3af;--border:#ede8de;--border-dark:#d9d0be;--nav-h:76px;--container-w:1320px;--shadow-sm:0 2px 8px rgba(0,0,0,0.06);--shadow:0 8px 32px rgba(0,0,0,0.08);--shadow-lg:0 20px 60px rgba(0,0,0,0.13);--shadow-xl:0 32px 80px rgba(0,0,0,0.18);--ease:all 0.35s cubic-bezier(0.16,1,0.3,1);--ease-fast:all 0.2s ease;--radius:0px}*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}:focus-visible{outline:2px solid var(--terracota);outline-offset:2px}:focus:not(:focus-visible){outline:none}html{scroll-behavior:smooth;font-size:16px}body{font-family:'Lato',sans-serif;background:var(--bg-body);color:var(--text-main);line-height:1.6;overflow-x:hidden;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.container{width:92%;max-width:var(--container-w);margin:0 auto}a{text-decoration:none;color:inherit;transition:var(--ease)}ul{list-style:none}button,input,select,textarea{font-family:inherit;font-size:inherit}img{max-width:100%;display:block}h1,h2,h3,h4,h5{font-weight:900;text-transform:uppercase;letter-spacing:0.08em;line-height:1.1}.main-header{height:var(--nav-h);background:var(--gris-piedra);position:fixed;top:0;width:100%;z-index:1000;display:flex;align-items:center;border-bottom:1px solid rgba(255,255,255,0.04);transition:box-shadow 0.3s ease}.main-header.scrolled{box-shadow:0 4px 30px rgba(0,0,0,0.3)}.header-inner{display:flex;justify-content:space-between;align-items:center;width:100%}.logo-img{height:70px;width:auto;transition:opacity 0.2s}.logo:hover .logo-img{opacity:0.85}.nav-list{display:flex;gap:0}.nav-link{color:rgba(232,225,207,0.85);font-weight:700;font-size:0.68rem;letter-spacing:0.18em;text-transform:uppercase;padding:0.6rem 1.1rem;position:relative;transition:color 0.25s}.nav-link::after{content:'';position:absolute;bottom:0;left:50%;right:50%;height:2px;background:var(--terracota);transition:left 0.3s ease,right 0.3s ease}.nav-link:hover{color:var(--white)}.nav-link:hover::after{left:1.1rem;right:1.1rem}.nav-link.active{color:var(--white)}.nav-link.active::after{left:1.1rem;right:1.1rem}.mobile-toggle{display:none;background:none;border:none;color:var(--beige);font-size:1.4rem;cursor:pointer;padding:0.4rem;transition:color 0.2s}.mobile-toggle:hover{color:var(--terracota)}.header-spacer{height:var(--nav-h)}.mobile-nav-overlay{position:fixed;top:0;right:-100%;width:min(360px,100%);height:100dvh;background:var(--gris-dark);z-index:1100;display:flex;flex-direction:column;padding:0;transition:right 0.45s cubic-bezier(0.16,1,0.3,1);box-shadow:-10px 0 60px rgba(0,0,0,0.4)}.mobile-nav-overlay.active{right:0}.mobile-nav-backdrop{position:fixed;inset:0;background:rgba(0,0,0,0.5);z-index:1099;opacity:0;pointer-events:none;transition:opacity 0.3s ease}.mobile-nav-backdrop.active{opacity:1;pointer-events:all}.mobile-nav-top{display:flex;justify-content:space-between;align-items:center;padding:1.5rem 2rem;border-bottom:1px solid rgba(255,255,255,0.07)}.mobile-nav-links{display:flex;flex-direction:column;padding:2.5rem 2rem;gap:0;flex:1}.mobile-nav-link{font-size:1.1rem;color:rgba(232,225,207,0.75);font-weight:700;letter-spacing:0.12em;text-transform:uppercase;padding:1.2rem 0;border-bottom:1px solid rgba(255,255,255,0.05);display:flex;align-items:center;gap:1rem;transition:color 0.2s,padding-left 0.2s}.mobile-nav-link i{font-size:0.9rem;color:var(--terracota);width:20px}.mobile-nav-link:hover{color:var(--white);padding-left:0.5rem}.prop-card{background:white;border:1px solid var(--border);transition:transform 0.35s ease,box-shadow 0.35s ease;display:flex;flex-direction:column;position:relative;overflow:hidden}.prop-card::before{content:'';position:absolute;bottom:0;left:0;right:0;height:3px;background:var(--terracota);transform:scaleX(0);transform-origin:left;transition:transform 0.4s ease;z-index:2}.prop-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-lg)}.prop-card:hover::before{transform:scaleX(1)}.prop-img-wrap{position:relative;height:240px;overflow:hidden;background:var(--gris-piedra);flex-shrink:0}.prop-img-wrap::before{content:'';position:absolute;inset:0;background:linear-gradient(110deg,transparent 30%,rgba(255,255,255,0.08) 50%,transparent 70%);background-size:200% 100%;animation:shimmer 1.5s ease-in-out infinite;z-index:1;pointer-events:none}.prop-img-wrap img,.prop-img-wrap .swiper{position:relative;z-index:2}@keyframes shimmer{0%{background-position:200% 0}100%{background-position:-200% 0}}.prop-img-wrap img,.prop-img-wrap .swiper,.prop-img-wrap .swiper-wrapper,.prop-img-wrap .swiper-slide{width:100%;height:100%}.prop-img-wrap img{object-fit:cover;transition:transform 0.7s ease}.prop-card:hover .prop-img-wrap>img{transform:scale(1.05)}.prop-tag{position:absolute;top:1rem;left:0;z-index:5;padding:5px 14px;font-size:0.58rem;font-weight:900;text-transform:uppercase;letter-spacing:0.15em;color:white}.tag-venta{background:#C16B39}.tag-alquiler{background:#393A3A}.tag-alquiler-temporal{background:#7a6040}.prop-badge-area{position:absolute;top:1rem;right:1rem;z-index:5;background:rgba(0,0,0,0.55);backdrop-filter:blur(4px);color:white;font-size:0.58rem;font-weight:700;letter-spacing:0.1em;text-transform:uppercase;padding:4px 10px}.prop-info{padding:1.6rem 1.8rem 1.8rem;flex:1;display:flex;flex-direction:column}.prop-ref{font-size:0.58rem;color:var(--text-muted);font-weight:700;text-transform:uppercase;letter-spacing:0.18em;margin-bottom:0.7rem}.prop-addr{font-size:1rem;font-weight:900;text-transform:uppercase;letter-spacing:0.04em;line-height:1.3;color:var(--gris-piedra);margin-bottom:0.25rem;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.prop-city{font-size:0.72rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:0.1em;margin-bottom:1rem;font-weight:300}.prop-price{font-size:1.55rem;font-weight:900;color:var(--terracota);margin-bottom:0;line-height:1}.prop-price .cur{font-size:0.85rem;font-weight:400;color:var(--text-muted);margin-right:4px;vertical-align:middle}.prop-feats{display:flex;gap:1rem;flex-wrap:wrap;font-size:0.7rem;color:var(--text-muted);padding:1rem 0;border-top:1px solid var(--beige-light);margin-top:1rem;margin-bottom:1.2rem}.prop-feats span{display:flex;align-items:center;gap:5px;font-weight:700}.prop-feats i{color:var(--terracota);font-size:0.68rem}.prop-feats-empty{margin-top:auto;padding-top:1rem}.prop-actions{display:grid;grid-template-columns:1fr 1fr;gap:0.6rem;margin-top:auto}.pa-btn{display:flex;align-items:center;justify-content:center;gap:6px;padding:0.8rem 0.5rem;font-weight:900;font-size:0.62rem;letter-spacing:0.12em;text-transform:uppercase;border:none;cursor:pointer;text-decoration:none;transition:background 0.25s,transform 0.15s}.pa-btn:active{transform:scale(0.98)}.pa-dark{background:var(--gris-piedra);color:var(--beige)}.pa-dark:hover{background:var(--gris-dark)}.pa-green{background:#25d366;color:white}.pa-green:hover{background:#1ebe5d}.pa-btn i{font-size:0.75rem}.property-swiper{height:100% !important}.property-swiper .swiper-slide img{width:100%;height:100%;object-fit:cover}.swiper-button-next,.swiper-button-prev{--swiper-navigation-size:16px;color:white !important;filter:drop-shadow(0 1px 4px rgba(0,0,0,0.8));background:rgba(0,0,0,0.3);width:34px !important;height:34px !important;border-radius:50%}.swiper-button-next::after,.swiper-button-prev::after{font-size:14px !important}.swiper-pagination-bullet-active{background:var(--terracota) !important}.swiper-pagination-bullet{background:rgba(255,255,255,0.7) !important;opacity:1 !important}.detail-wrap{padding:3rem 0 8rem}.detail-topbar{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem;margin-bottom:2.5rem;padding-bottom:1.5rem;border-bottom:1px solid var(--border)}.detail-back{display:inline-flex;align-items:center;gap:8px;font-size:0.65rem;font-weight:900;text-transform:uppercase;letter-spacing:0.18em;color:var(--text-muted);transition:color 0.2s,gap 0.2s}.detail-back:hover{color:var(--terracota);gap:12px}.detail-back i{font-size:0.6rem}.detail-topbar-actions{display:flex;gap:0.7rem;flex-wrap:wrap}.detail-grid{display:grid;grid-template-columns:1fr;gap:3rem}.detail-grid>div{min-width:0}@media (min-width:1024px){.detail-grid{grid-template-columns:1.6fr 1fr;gap:4rem;align-items:start}}.gallery-wrap{position:relative;background:var(--gris-dark)}.gallery-main{position:relative;width:100%;height:520px;overflow:hidden;cursor:zoom-in;background:var(--gris-dark)}.gallery-main .swiper-wrapper{height:100% !important}.gallery-main .swiper-slide{height:100% !important;overflow:hidden}.gallery-main .swiper-slide img{width:100%;height:100%;object-fit:cover;display:block}.gallery-thumbs{margin-top:10px;padding:6px;background:#1a1a1a;border-top:1px solid rgba(255,255,255,0.07)}.gallery-thumbs .swiper-slide{width:88px !important;height:64px !important;opacity:0.4;cursor:pointer;transition:opacity 0.25s;overflow:hidden}.gallery-thumbs .swiper-slide img,.thumb-img{width:100%;height:100%;object-fit:cover;display:block;cursor:pointer}.gallery-thumbs .swiper-slide-thumb-active{opacity:1;outline:2px solid var(--terracota);outline-offset:-2px}.gallery-thumbs .swiper-slide:hover{opacity:0.75}.detail-sidebar-top{background:var(--gris-piedra);background:linear-gradient(160deg,var(--gris-dark) 0%,var(--gris-piedra) 100%);color:white;padding:2.5rem;margin-bottom:1.5rem;position:relative;overflow:hidden}.detail-sidebar-top::before{content:'';position:absolute;top:-40px;right:-40px;width:200px;height:200px;border-radius:50%;background:rgba(193,107,57,0.08)}.sidebar-op{display:inline-flex;padding:4px 14px;background:var(--terracota);color:white;font-size:0.58rem;font-weight:900;letter-spacing:0.14em;text-transform:uppercase;margin-bottom:1.5rem}.sidebar-addr{font-size:1.6rem;color:var(--beige);letter-spacing:0.02em;line-height:1.25;margin:1.5rem 0 0.5rem;font-weight:400}.sidebar-city{font-size:0.8rem;color:#9ca3af;letter-spacing:0.05em;margin-bottom:2rem;font-weight:400}.sidebar-price-label{font-size:0.6rem;color:#9ca3af;text-transform:uppercase;letter-spacing:0.2em;font-weight:900;margin-bottom:0.8rem}.sidebar-price{font-size:2.6rem;font-weight:900;color:white;line-height:1;margin-bottom:0}.sidebar-cur{font-size:1rem;color:var(--terracota);vertical-align:middle;margin-right:6px}.sidebar-feats{display:grid;grid-template-columns:1fr 1fr;gap:2rem;margin-top:3rem;padding-top:2rem;border-top:1px solid rgba(255,255,255,0.1)}.sf-item{font-size:0.62rem;color:rgba(232,225,207,0.5);text-transform:uppercase;letter-spacing:0.1em;font-weight:700}.sf-item strong{display:block;color:var(--beige);font-size:1rem;margin-bottom:2px;font-weight:900}.sf-item i{color:var(--terracota);margin-right:5px}.sf-item span{display:block;font-size:0.55rem;color:rgba(232,225,207,0.7);margin-top:4px}.detail-desc{background:white;border:1px solid var(--border);padding:2.5rem;margin-top:1.5rem;font-size:0.95rem;color:#555;line-height:2}.detail-desc h3{font-size:0.62rem;letter-spacing:0.28em;color:var(--terracota);margin-bottom:1.5rem}.detail-actions{display:flex;gap:1rem;margin:1.5rem 0}.da-btn{display:flex;flex:1;align-items:center;justify-content:center;gap:8px;padding:1.2rem;font-weight:900;font-size:0.7rem;letter-spacing:0.1em;text-transform:uppercase;text-decoration:none;border:none;cursor:pointer;transition:background 0.25s,transform 0.15s}.da-btn:active{transform:scale(0.98)}.da-wa{background:#25d366;color:white}.da-wa:hover{background:#1ebe5d}.da-print{background:var(--gris-piedra);color:var(--beige)}.da-print:hover{background:var(--gris-dark)}.map-container{border:1px solid var(--border);padding:1rem}.map-header{font-size:0.62rem;font-weight:900;text-transform:uppercase;letter-spacing:0.15em;color:var(--text-muted);margin-bottom:1rem;display:flex;align-items:center;gap:8px}.map-header i{color:var(--terracota)}#propMap{height:350px;width:100%;background:#f0f0f0;position:relative}#mapSpinner{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:1}#lightbox{position:fixed;z-index:9999;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,0.97);display:none;align-items:center;justify-content:center;cursor:zoom-out}#lightbox.active{display:flex}#lightbox img{max-width:94%;max-height:92vh;object-fit:contain;animation:lbIn 0.25s ease}@keyframes lbIn{from{opacity:0;transform:scale(0.94)}to{opacity:1;transform:scale(1)}}.lightbox-close{position:fixed;top:1.5rem;right:1.5rem;background:rgba(255,255,255,0.1);border:1px solid rgba(255,255,255,0.15);color:white;width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.1rem;cursor:pointer;transition:background 0.2s;z-index:10000}.lightbox-close:hover{background:rgba(255,255,255,0.2)}.lightbox-counter{position:fixed;bottom:1.5rem;left:50%;transform:translateX(-50%);background:rgba(255,255,255,0.1);border:1px solid rgba(255,255,255,0.12);color:rgba(255,255,255,0.7);font-size:0.7rem;font-weight:700;letter-spacing:0.15em;padding:6px 16px;z-index:10000}@media (max-width:600px){.lightbox-counter{bottom:max(0.8rem,env(safe-area-inset-bottom));font-size:0.65rem;padding:4px 12px}}.site-footer{background:var(--gris-dark);color:var(--beige);padding:5rem 0 0;border-top:3px solid var(--terracota)}.footer-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:3.5rem;margin-bottom:4rem}.footer-brand img{height:200px;margin-bottom:1.4rem}.footer-brand p{font-size:0.8rem;color:rgba(232,225,207,0.45);line-height:2;font-weight:300;max-width:240px}.footer-section h4{font-size:0.58rem;font-weight:900;letter-spacing:0.28em;text-transform:uppercase;color:var(--terracota);margin-bottom:1.4rem}.footer-section ul{display:flex;flex-direction:column;gap:0.8rem}.footer-section ul li a{font-size:0.8rem;color:rgba(232,225,207,0.45);transition:color 0.2s,padding-left 0.2s;font-weight:300;display:block}.footer-section ul li a:hover{color:var(--terracota);padding-left:4px}.footer-contact span{display:flex;align-items:flex-start;gap:10px;font-size:0.8rem;color:rgba(232,225,207,0.45);margin-bottom:0.8rem;font-weight:300}.footer-contact i{color:var(--terracota);margin-top:2px;width:16px;flex-shrink:0}.footer-bottom{border-top:1px solid rgba(255,255,255,0.05);padding:1.5rem 0;text-align:center;font-size:0.6rem;color:rgba(232,225,207,0.55);letter-spacing:0.14em;text-transform:uppercase}.breadcrumb{font-size:0.65rem;font-weight:700;text-transform:uppercase;letter-spacing:0.12em;margin-bottom:1rem;color:var(--text-muted)}.breadcrumb a{color:var(--text-muted);text-decoration:none}.breadcrumb a:hover{color:var(--terracota)}.breadcrumb span{margin:0 8px;color:var(--text-muted)}.breadcrumb .current{color:var(--gris-piedra)}.hero-section{background:var(--gris-piedra);padding:13rem 0 11rem;text-align:center;position:relative;overflow:hidden}.hero-section::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 30% 60%,rgba(193,107,57,0.12) 0%,transparent 60%),radial-gradient(ellipse at 70% 30%,rgba(193,107,57,0.07) 0%,transparent 55%)}.hero-section::after{content:'';position:absolute;bottom:0;left:0;right:0;height:120px;background:linear-gradient(to bottom,transparent 0%,rgba(57,58,58,0.4) 100%)}.hero-overline{display:block;font-size:0.62rem;font-weight:900;letter-spacing:0.5em;text-transform:uppercase;color:var(--terracota);margin-bottom:2rem;position:relative;z-index:2}.hero-title{font-size:clamp(2.8rem,8vw,6rem);letter-spacing:0.1em;color:var(--beige);margin-bottom:0;line-height:1.0;position:relative;z-index:2}.hero-title span{color:var(--terracota)}.hero-divider{width:80px;height:2px;background:var(--terracota);margin:2.5rem auto;position:relative;z-index:2}.hero-subtitle{font-size:clamp(0.9rem,2vw,1.1rem);font-weight:300;color:rgba(232,225,207,0.65);max-width:620px;margin:0 auto 4rem;line-height:2;letter-spacing:0.04em;position:relative;z-index:2}.hero-cta{display:inline-flex;align-items:center;gap:14px;padding:1.2rem 3.5rem;background:var(--terracota);color:white;font-weight:900;font-size:0.7rem;letter-spacing:0.28em;text-transform:uppercase;text-decoration:none;transition:background 0.3s,transform 0.2s,gap 0.3s;position:relative;z-index:2}.hero-cta:hover{background:var(--terracota-dark);gap:20px}.hero-cta i{font-size:0.6rem}.hero-content{position:relative;z-index:2}.hero-divider-lg{width:100px;margin:3rem auto}.services-wrap{position:relative;z-index:10;margin-top:-4rem}.services-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:0}.service-card{background:white;border:1px solid var(--border);padding:3rem 2.5rem;text-align:center;transition:box-shadow 0.3s,transform 0.3s;position:relative;overflow:hidden}.service-card::after{content:'';position:absolute;bottom:0;left:0;right:0;height:3px;background:var(--terracota);transform:scaleX(0);transform-origin:left;transition:transform 0.4s ease}.service-card:hover::after{transform:scaleX(1)}.service-card:hover{box-shadow:var(--shadow);transform:translateY(-3px)}.service-icon{width:64px;height:64px;background:var(--beige-light);border:1px solid var(--border);border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 1.8rem;transition:background 0.3s}.service-card:hover .service-icon{background:var(--terracota);border-color:var(--terracota)}.service-icon i{font-size:1.4rem;color:var(--terracota);transition:color 0.3s}.service-card:hover .service-icon i{color:white}.service-card h3{font-size:0.82rem;letter-spacing:0.22em;margin-bottom:1rem;color:var(--gris-piedra)}.service-card p{font-size:0.85rem;color:var(--text-muted);line-height:1.9;font-weight:300}.about-section{padding:10rem 0;text-align:center}.about-cta{margin-top:5rem}.service-icon-wrap{width:70px;height:70px;background:#fdfcf9;border:1px solid #f0ede6;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 2rem}.service-icon-wrap i{font-size:1.5rem;color:var(--terracota)}.section-overline{display:block;font-size:0.6rem;font-weight:900;letter-spacing:0.42em;text-transform:uppercase;color:var(--terracota);margin-bottom:1.8rem}.section-title{font-size:clamp(1.6rem,4vw,2.6rem);letter-spacing:0.12em;color:var(--gris-piedra);margin-bottom:0}.section-divider{width:50px;height:2px;background:var(--terracota);margin:2rem auto}.about-text{max-width:800px;margin:0 auto;color:var(--text-muted);line-height:2.2;font-size:1rem;font-weight:300}.about-text strong{color:var(--gris-piedra);font-weight:900}.about-stats{display:flex;justify-content:center;gap:5rem;margin-top:5rem;flex-wrap:wrap}.stat-item{text-align:center}.stat-num{display:block;font-size:3rem;font-weight:900;color:var(--terracota);line-height:1;margin-bottom:0.5rem}.stat-label{font-size:0.62rem;text-transform:uppercase;letter-spacing:0.22em;color:var(--text-muted);font-weight:700}.btn-outline{display:inline-flex;align-items:center;gap:10px;padding:1rem 2.8rem;border:2px solid var(--terracota);color:var(--terracota);font-weight:900;font-size:0.68rem;letter-spacing:0.22em;text-transform:uppercase;text-decoration:none;transition:background 0.3s,color 0.3s,gap 0.3s;margin-top:4rem;display:inline-flex}.btn-outline:hover{background:var(--terracota);color:white;gap:16px}.cat-hero{padding:6rem 0 3.5rem;text-align:center;border-bottom:1px solid var(--border);background:white}.cat-hero h1{font-size:clamp(2rem,5vw,3.5rem);letter-spacing:0.15em;color:var(--gris-piedra)}.cat-hr{width:60px;height:2px;background:var(--terracota);margin:1.2rem auto}.cat-sub{font-size:0.68rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:0.28em;font-weight:300}.sbar{background:white;border:1px solid var(--border);box-shadow:var(--shadow-sm);padding:2rem 2.5rem;margin-top:3rem;margin-bottom:3.5rem}.srow{display:flex;flex-wrap:wrap;gap:1rem;align-items:flex-end;margin-bottom:1.4rem}.sfg{display:flex;flex-direction:column;gap:0.45rem;flex:1;min-width:140px}.sfg.wide{flex:2}.slabel{font-size:0.58rem;font-weight:900;text-transform:uppercase;letter-spacing:0.18em;color:var(--text-muted)}.sinput{padding:0.85rem 1rem;border:1px solid var(--border);background:var(--bg-body);font-family:inherit;font-size:0.875rem;color:var(--gris-piedra);transition:border-color 0.3s,background 0.3s;width:100%}.sinput:focus{outline:none;border-color:var(--terracota);background:white}.sbtn{display:inline-flex;align-items:center;gap:8px;padding:0.85rem 1.8rem;background:var(--gris-piedra);color:var(--beige);font-weight:900;font-size:0.68rem;letter-spacing:0.18em;text-transform:uppercase;border:none;cursor:pointer;white-space:nowrap;transition:background 0.3s;flex:0;height:100%}.sbtn:hover{background:var(--terracota)}.sops{display:flex;flex-wrap:wrap;gap:1.5rem;padding-top:1.2rem;border-top:1px solid var(--beige-light);align-items:center}.sop-lbl{font-size:0.58rem;font-weight:900;text-transform:uppercase;letter-spacing:0.18em;color:var(--text-muted);margin-right:0.3rem}.op-check-lbl{display:inline-flex;align-items:center;gap:8px;font-size:0.72rem;font-weight:700;text-transform:uppercase;letter-spacing:0.1em;cursor:pointer;transition:color 0.2s;padding:8px 8px}.op-check-lbl input{accent-color:var(--terracota);width:18px;height:18px;flex-shrink:0}.op-check-lbl:hover{color:var(--gris-piedra)}.op-check-lbl input{accent-color:var(--terracota);width:15px;height:15px}.pgrid{display:grid;grid-template-columns:repeat(2,1fr);gap:2rem;margin-bottom:5rem}@media (min-width:1100px){.pgrid{grid-template-columns:repeat(3,1fr)}}@media (max-width:700px){.pgrid{grid-template-columns:1fr;gap:1.5rem}}.pagination{display:flex;justify-content:center;gap:0.6rem;margin-bottom:6rem}.page-link{width:40px;height:40px;display:flex;align-items:center;justify-content:center;font-weight:900;font-size:0.75rem;text-decoration:none;border:2px solid var(--border);background:white;color:var(--gris-piedra);transition:background 0.2s,border-color 0.2s,color 0.2s}.page-link:hover{border-color:var(--terracota);color:var(--terracota)}.page-link.active{background:var(--terracota);border-color:var(--terracota);color:white}.login-page{min-height:calc(100vh - var(--nav-h));display:grid;grid-template-columns:1fr 1fr;overflow:hidden}.login-visual{background:linear-gradient(145deg,var(--gris-dark) 0%,var(--gris-piedra) 100%);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 3rem;position:relative;overflow:hidden}.login-visual::before{content:'';position:absolute;top:-100px;right:-100px;width:400px;height:400px;border-radius:50%;background:rgba(193,107,57,0.08)}.login-visual::after{content:'';position:absolute;bottom:-80px;left:-80px;width:300px;height:300px;border-radius:50%;background:rgba(193,107,57,0.05)}.login-visual-logo{height:55px;margin-bottom:3rem;position:relative;z-index:1}.login-visual-quote{text-align:center;position:relative;z-index:1}.login-visual-quote blockquote{font-size:1.3rem;font-weight:900;letter-spacing:0.1em;text-transform:uppercase;color:var(--beige);line-height:1.4;margin-bottom:1rem}.login-visual-quote blockquote span{color:var(--terracota)}.login-visual-quote cite{font-size:0.62rem;color:rgba(232,225,207,0.4);text-transform:uppercase;letter-spacing:0.3em;font-style:normal;font-weight:700}.login-form-side{background:var(--bg-body);display:flex;align-items:center;justify-content:center;padding:4rem 3rem}.login-card{width:100%;max-width:400px}.login-title{font-size:0.82rem;font-weight:900;letter-spacing:0.28em;text-transform:uppercase;color:var(--gris-piedra);margin-bottom:0.4rem}.login-sub-title{font-size:0.75rem;color:var(--text-muted);font-weight:300;margin-bottom:2.5rem}.login-divider{width:40px;height:2px;background:var(--terracota);margin-bottom:2.5rem}.lfield{margin-bottom:1.6rem}.lfield label{display:block;font-size:0.6rem;font-weight:900;text-transform:uppercase;letter-spacing:0.18em;color:var(--text-muted);margin-bottom:0.5rem}.lfield input{display:block;width:100%;padding:0.95rem 1rem;border:1px solid var(--border);background:white;font-family:inherit;font-size:0.9rem;color:var(--gris-piedra);transition:border-color 0.3s,box-shadow 0.3s}.lfield input:focus{outline:none;border-color:var(--terracota);box-shadow:0 0 0 3px rgba(193,107,57,0.08)}.pwd-wrap{position:relative}.pwd-toggle{position:absolute;right:1rem;top:50%;transform:translateY(-50%);background:none;border:none;cursor:pointer;color:var(--text-light);font-size:0.9rem;padding:0.3rem;transition:color 0.2s}.pwd-toggle:hover{color:var(--terracota)}.login-error{background:#fef2f2;border-left:3px solid #dc2626;color:#991b1b;padding:0.8rem 1rem;font-size:0.72rem;font-weight:700;margin-bottom:1.5rem;display:flex;align-items:center;gap:8px}.btn-login{display:block;width:100%;padding:1.1rem;background:var(--gris-piedra);color:var(--beige);font-weight:900;font-size:0.72rem;letter-spacing:0.22em;text-transform:uppercase;border:none;cursor:pointer;margin-top:2rem;transition:background 0.3s}.btn-login:hover{background:var(--terracota)}.dash{padding:3.5rem 0 8rem}.dash-header{background:linear-gradient(135deg,var(--gris-dark) 0%,var(--gris-piedra) 100%);padding:4rem 0;margin-bottom:3.5rem;position:relative;overflow:hidden}.dash-header::before{content:'';position:absolute;top:-60px;right:-60px;width:300px;height:300px;border-radius:50%;background:rgba(193,107,57,0.1)}.dash-header .container{display:flex;justify-content:space-between;align-items:flex-end;flex-wrap:wrap;gap:2rem;position:relative;z-index:1}.dash-welcome .label{font-size:0.6rem;font-weight:900;letter-spacing:0.38em;text-transform:uppercase;color:var(--terracota);margin-bottom:0.6rem}.dash-welcome h1{font-size:clamp(1.8rem,4vw,2.8rem);color:var(--beige);letter-spacing:0.08em;text-transform:uppercase}.add-btn{display:inline-flex;align-items:center;gap:8px;padding:0.9rem 1.8rem;background:var(--terracota);color:white;font-weight:900;font-size:0.68rem;letter-spacing:0.18em;text-transform:uppercase;text-decoration:none;transition:background 0.25s,gap 0.25s}.add-btn:hover{background:var(--terracota-dark);gap:12px}.dash-search{background:white;border:1px solid var(--border);padding:1.4rem 2rem;display:flex;flex-wrap:wrap;gap:1rem;align-items:flex-end;margin-bottom:2rem;box-shadow:var(--shadow-sm)}.dash-search input{flex:1;min-width:160px;padding:0.8rem 1rem;border:1px solid var(--border);font-family:inherit;font-size:0.85rem;color:var(--gris-piedra);background:var(--bg-body);transition:border-color 0.3s}.dash-search input:focus{outline:none;border-color:var(--terracota)}.dash-search button{padding:0.8rem 1.6rem;background:var(--gris-piedra);color:var(--beige);border:none;font-weight:900;font-size:0.68rem;letter-spacing:0.18em;cursor:pointer;white-space:nowrap;transition:background 0.25s}.dash-search button:hover{background:var(--terracota)}.prop-table{width:100%;border-collapse:collapse;background:white;box-shadow:var(--shadow-sm);border:1px solid var(--border)}.prop-table th{padding:1rem 1.2rem;text-align:left;font-size:0.6rem;font-weight:900;text-transform:uppercase;letter-spacing:0.18em;color:var(--text-muted);border-bottom:2px solid var(--border);background:var(--beige-light);white-space:nowrap}.prop-table td{padding:0.95rem 1.2rem;border-bottom:1px solid var(--beige-light);vertical-align:middle;font-size:0.85rem}.prop-table tbody tr{transition:background 0.15s}.prop-table tbody tr:hover td{background:var(--bg-section)}.prop-table tbody tr:last-child td{border-bottom:none}.thumb-box{width:72px;height:54px;overflow:hidden;background:var(--beige-light)}.thumb-box img{width:100%;height:100%;object-fit:cover;display:block}.badge{display:inline-flex;padding:3px 10px;font-size:0.58rem;font-weight:900;text-transform:uppercase;letter-spacing:0.1em;white-space:nowrap}.badge-v{background:var(--terracota);color:white}.badge-a{background:var(--gris-piedra);color:var(--beige)}.badge-t{background:#7a6040;color:white}.badge-dis{background:#dcfce7;color:#166534}.badge-ven{background:#fee2e2;color:#991b1b}.act{display:flex;gap:0.4rem;align-items:center}.act-btn{background:none;border:1px solid var(--border);cursor:pointer;font-size:0.8rem;padding:6px 10px;color:var(--text-muted);transition:border-color 0.2s,color 0.2s,background 0.2s;text-decoration:none;display:inline-flex;align-items:center;justify-content:center}.act-btn:hover{color:var(--gris-piedra);border-color:var(--gris-piedra);background:var(--beige-light)}.act-btn.danger:hover{color:#dc2626;border-color:#dc2626;background:#fef2f2}.empty-state{text-align:center;padding:6rem 2rem;grid-column:1 / -1}.empty-state .emoji{font-size:3.5rem;margin-bottom:1.5rem;opacity:0.25}.empty-state h3{text-transform:uppercase;letter-spacing:0.12em;color:var(--gris-piedra);margin-bottom:0.8rem;font-size:1rem}.empty-state p{color:var(--text-muted);margin-bottom:2rem;font-size:0.9rem}.empty-state a{padding:0.8rem 2rem;background:var(--gris-piedra);color:var(--beige);font-weight:900;font-size:0.68rem;letter-spacing:0.18em;text-transform:uppercase;text-decoration:none;display:inline-block;transition:background 0.25s}.empty-state a:hover{background:var(--terracota)}@keyframes fadeUp{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{from{opacity:0}to{opacity:1}}.fade-up{animation:fadeUp 0.7s ease forwards}.fade-up-d1{animation:fadeUp 0.7s 0.1s ease both}.fade-up-d2{animation:fadeUp 0.7s 0.22s ease both}.fade-up-d3{animation:fadeUp 0.7s 0.34s ease both}@media (max-width:1024px){.login-page{grid-template-columns:1fr}.login-visual{display:none}.login-form-side{padding:3rem 2rem;min-height:calc(100vh - var(--nav-h))}}@media (max-width:992px){.nav-list{display:none}.mobile-toggle{display:block}.gallery-main{height:auto;aspect-ratio:16 / 9}}@media (max-width:600px){.gallery-main{height:auto;aspect-ratio:4 / 3}.detail-actions{flex-direction:column}.sidebar-price{font-size:2rem}.detail-sidebar-top{padding:2rem}.detail-desc{padding:2rem}.hero-section{padding:10rem 0 8rem}.about-stats{gap:3rem}.sbar{padding:1.5rem}.services-wrap{margin-top:0}.dash-search{padding:1.2rem}}@media (max-width:480px){.detail-topbar{flex-direction:column;align-items:flex-start}.detail-topbar-actions{width:100%}.da-btn,.detail-topbar-actions .da-btn{flex:1;justify-content:center}}@media print{.main-header,.mobile-nav-overlay,.site-footer,.detail-topbar-actions,.detail-actions,#lightbox,.gallery-thumbs{display:none !important}.detail-grid{grid-template-columns:1fr !important}.gallery-main{height:auto;aspect-ratio:16 / 9}body{background:white}}@media (hover:none){.pa-dark:active{background:var(--gris-dark)}.pa-green:active{background:#1ebe5d}.da-wa:active{background:#1ebe5d}.da-print:active{background:#252626}.btn-outline:active{background:var(--terracota);color:white}.btn-login:active{background:var(--terracota)}.sbtn:active{background:var(--terracota)}.add-btn:active{background:#a85a2e}.dash-search button:active{background:var(--terracota)}.hero-cta:active{background:#a85a2e}.page-link:active{background:var(--gris-piedra);color:white}.op-check-lbl:active{border-color:var(--terracota)}.footer-section ul li a:active{color:var(--terracota)}.prop-card:active{transform:translateY(-2px);box-shadow:var(--shadow)}.lightbox-close:active{background:rgba(255,255,255,0.2)}.mobile-nav-link:active{background:rgba(255,255,255,0.06)}}@keyframes spin{to{transform:translate(-50%,-50%) rotate(360deg)}}.spinner{width:30px;height:30px;border:3px solid #ddd;border-top-color:var(--terracota);border-radius:50%;animation:spin 0.8s linear infinite}@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:0.01ms!important;animation-iteration-count:1!important;transition-duration:0.01ms!important;scroll-behavior:auto!important}}
/* ============================================================ OVIEDO PROPIEDADES — Mobile Overrides Complementa styles.css para pantallas pequeñas ============================================================ */ .skip-link { position:fixed; top:-100%; left:1rem; z-index:9999; padding:0.8rem 1.5rem; background:var(--gris-piedra); color:var(--beige); font-weight:900; font-size:0.75rem; text-transform:uppercase; letter-spacing:0.15em; text-decoration:none; transition:top 0.25s; } .skip-link:focus { top:1rem; } .nav-badge{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:var(--terracota);color:#fff;font-size:0.6rem;font-weight:900;line-height:1;vertical-align:middle;margin-left:4px} .contact-section{padding:6rem 0;text-align:center;border-top:1px solid var(--border);margin-top:2rem;background:var(--bg-section)} .contact-wrapper{max-width:36rem;margin:0 auto} .contact-desc{color:var(--text-muted);font-size:0.95rem;font-weight:300;margin-bottom:0} .btn{display:inline-flex;align-items:center;justify-content:center;padding:1rem 2.5rem;background:var(--gris-piedra);color:var(--beige);font-weight:900;font-size:0.7rem;letter-spacing:0.22em;text-transform:uppercase;text-decoration:none;border:none;cursor:pointer;transition:background 0.3s} .btn:hover{background:var(--terracota);color:var(--beige)} .contact-form{text-align:left;margin-top:3rem;background:white;padding:2.5rem;border:1px solid var(--border);box-shadow:var(--shadow-sm)} .contact-form .form-group{margin-bottom:1.4rem} .contact-form label{display:block;font-size:0.6rem;font-weight:900;text-transform:uppercase;letter-spacing:0.18em;color:var(--text-muted);margin-bottom:0.5rem} .contact-form input,.contact-form textarea{width:100%;padding:0.85rem 1rem;border:1px solid var(--border);background:var(--bg-body);font-family:inherit;font-size:0.9rem;color:var(--gris-piedra);transition:border-color 0.3s;border-radius:2px} .contact-form input:focus,.contact-form textarea:focus{outline:none;border-color:var(--terracota);background:white} .contact-form textarea{min-height:120px;resize:vertical} .contact-form .btn{margin-top:0.5rem;background:var(--terracota);gap:16px} .contact-form .btn:hover{background:var(--terracota-dark);gap:22px} @media (max-width:768px){.contact-section{padding:4rem 0} .contact-wrapper{padding:0 1.1rem} .contact-form{padding:1.5rem} } .form-error{color:#dc2626;font-size:0.85rem;font-weight:700;margin-bottom:1.2rem;text-align:center} .form-success{color:#166534;font-size:1rem;font-weight:700;margin-bottom:1.5rem;text-align:center;padding:1rem;background:#dcfce7} .admin-header{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem;margin-bottom:2rem;padding-bottom:1.5rem;border-bottom:2px solid var(--terracota)} .admin-header h1{font-size:clamp(1.4rem,3vw,2rem);letter-spacing:0.1em;color:var(--gris-piedra)} .admin-header-actions{display:flex;gap:0.6rem;flex-wrap:wrap} .dashboard-msg-unread{background:var(--bg-section)!important;border-left:3px solid var(--terracota)!important} .dashboard-msg-top{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;flex-wrap:wrap} .dashboard-msg-actions{display:flex;gap:0.4rem;flex-shrink:0} .btn-sm{display:inline-flex;align-items:center;justify-content:center;padding:6px 10px;border:1px solid var(--border);background:white;color:var(--text-muted);font-size:0.75rem;cursor:pointer;text-decoration:none;transition:all 0.2s} .btn-sm:hover{border-color:var(--gris-piedra);color:var(--gris-piedra)} .btn-sm-danger:hover{border-color:#dc2626!important;color:#dc2626!important} .dashboard-main{padding:3.5rem 0 8rem} .dashboard-main h1{font-size:clamp(1.4rem,3vw,2rem);letter-spacing:0.1em;color:var(--gris-piedra);margin-bottom:2rem} .dashboard-empty{text-align:center;padding:4rem 2rem;color:var(--text-muted);font-size:0.95rem} .admin-breadcrumb { font-size:0.65rem; font-weight:700; text-transform:uppercase; letter-spacing:0.12em; color:var(--text-muted); margin-bottom:0.5rem; } .admin-breadcrumb a { color:var(--text-muted); text-decoration:none; } .admin-breadcrumb span { color:var(--gris-piedra); } .toast { position: fixed; bottom: 2rem; right: 2rem; padding: 1rem 1.5rem; color: white; font-weight: 700; font-size: 0.8rem; border-radius: 4px; z-index: 9999; box-shadow: 0 8px 30px rgba(0,0,0,0.2); animation: fadeIn 0.3s ease; } .toast-error { background: #dc2626; } .toast-success { background: #166534; } .clear-filters { margin-left: auto; font-size: 0.70rem; color: var(--text-muted); text-decoration: underline; } .footer-contact-missing { color: rgba(232,225,207,0.7); font-size: 0.8rem; font-weight: 300; } .mobile-nav-logo { height: 32px; } .mobile-nav-close { background: none; border: none; color: var(--beige); font-size: 1.6rem; cursor: pointer; } @media (max-width: 768px) { .container { padding-left: 1.1rem; padding-right: 1.1rem; } .hero-section { padding: 9rem 0 7rem; } .hero-title { font-size: clamp(2.2rem, 10vw, 3.8rem); } .services-wrap { margin-top: 0; } .services-grid { grid-template-columns: 1fr; } .service-card { padding: 2.2rem 2rem; } .service-card+.service-card { border-top: 1px solid var(--border); } .about-section { padding: 6rem 0; } .about-stats { gap: 2.5rem; } .stat-num { font-size: 2.2rem; } .pgrid { grid-template-columns: 1fr; gap: 1.2rem; } .prop-img-wrap { height: 220px; } .cat-hero { padding: 4rem 0 2.5rem; } .cat-hero h1 { font-size: 2rem; } .sbar { padding: 1.3rem; } .srow { flex-direction: column; } .sfg { min-width: 100%; } .sbtn { width: 100%; justify-content: center; } .gallery-main { height: auto; aspect-ratio: 4 / 3; } .gallery-thumbs .swiper-slide { width: 60px !important; height: 44px !important; } .detail-sidebar-top { padding: 1.8rem; } .detail-desc { padding: 1.8rem; } .sidebar-price { font-size: 2rem; } .sidebar-feats { grid-template-columns: 1fr 1fr; gap: 1.2rem; } .detail-actions { flex-direction: column; } .login-visual { display: none; } .login-form-side { padding: 3rem 1.5rem; } .dash-header { padding: 2.5rem 0; } .dash-welcome h1 { font-size: 1.8rem; } .dash-top { flex-direction: column; align-items: flex-start; } .dash-top h1 { font-size: 1.6rem; } .footer-grid { grid-template-columns: 1fr; gap: 2rem; } .footer-brand img { height: 100px; } .footer-brand p { max-width: 100%; } } @media (max-width: 600px) { .prop-table thead { display: none; } .prop-table, .prop-table tbody, .prop-table tr, .prop-table td { display: block; width: 100%; } .prop-table tr { padding: 1rem 0; border-bottom: 2px solid var(--border); } .prop-table td { padding: 0.4rem 1rem; border: none; display: flex; align-items: center; gap: 0.5rem; font-size: 0.82rem; } .prop-table td::before { content: attr(data-label); font-weight: 700; font-size: 0.6rem; text-transform: uppercase; letter-spacing: 0.1em; color: var(--text-muted); min-width: 70px; flex-shrink: 0; } .prop-table td:first-child { justify-content: center; padding-top: 0; } .prop-table td:first-child::before { display: none; } .thumb-box { width: 100%; height: 160px; } .act { justify-content: flex-end; gap: 1.2rem; padding-top: 0.5rem; } .act a, .act button { font-size: 1.1rem; padding: 10px; min-width: 44px; min-height: 44px; display: flex; align-items: center; justify-content: center; } } @media (max-width: 400px) { .hero-cta { padding: 1rem 2rem; } .prop-actions { grid-template-columns: 1fr 1fr; } .pa-btn { font-size: 0.6rem; padding: 0.7rem 0.3rem; } .sidebar-price { font-size: 1.8rem; } .login-card { padding: 0; } .gallery-main { height: auto; aspect-ratio: 1 / 1; } .drop-zone { padding: 1.5rem !important; } .form-card { padding: 1rem !important; } .lfield input { border-width: 2px; } } @media (min-width: 769px) and (max-width: 1023px) { .pgrid { grid-template-columns: repeat(2, 1fr); } .hero-section { padding: 11rem 0 9rem; } .detail-grid { grid-template-columns: 1fr; } .gallery-main { height: 440px; } .login-visual { display: flex; } }