:root{--brand:#E60023;--muted:#f4f4f4;--dark:#111;--cyber-black:#000000;--cyber-carbon:#0f0f0f;--cyber-dark:#1a1a1a;--cyber-red:#E60000;--cyber-red-hover:#ff1a1a;--cyber-red-glow:rgba(230, 0, 0, 0.4);--cyber-text:#F5F5F5;--cyber-text-muted:#888888;--cyber-text-dark:#CCCCCC;--cyber-border:#333333}*{box-sizing:border-box}body{margin:0;font-family:Montserrat,'Segoe UI',Arial,Helvetica,sans-serif;background:var(--cyber-carbon);color:var(--cyber-text);min-height:100vh;animation:fadeIn .8s ease-out}@keyframes fadeIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.header{height:75px;display:flex;align-items:center;justify-content:space-between;padding:0 20px;background:var(--cyber-black);color:var(--cyber-text);border-bottom:2px solid var(--cyber-border);position:fixed;width:100%;top:0;z-index:1000}.logo{font-weight:700;font-size:20px;text-transform:uppercase;letter-spacing:2px;color:var(--cyber-text);flex:1;text-align:center;text-decoration:none;display:flex;justify-content:center;align-items:center}.hamburger{font-size:28px;background:0 0;border:none;color:var(--cyber-red);cursor:pointer;transition:transform .2s,color .3s;order:2}.hamburger:hover{transform:scale(1.1);color:var(--cyber-red-hover)}@keyframes subtle-pulse{0%,100%{text-shadow:0 0 5px rgba(230,0,0,.2)}50%{text-shadow:0 0 10px rgba(230,0,0,.4)}}.logo span{display:inline-block;animation:subtle-pulse 3s ease-in-out infinite}.sidebar{width:300px;background:var(--cyber-black);color:var(--cyber-text);position:fixed;top:0;right:-300px;height:100%;padding-top:80px;transition:right .3s ease;z-index:2000;border-left:2px solid var(--cyber-red);box-shadow:-4px 0 20px rgba(230,0,0,.3)}.sidebar.open{right:0}.sidebar a{display:block;color:var(--cyber-text);padding:18px 24px;text-decoration:none;border-bottom:1px solid var(--cyber-border);transition:all .3s;position:relative;font-weight:500;letter-spacing:.5px}.sidebar a::before{content:'';position:absolute;left:0;top:0;height:100%;width:3px;background:var(--cyber-red);transform:scaleY(0);transition:transform .3s ease}.sidebar a:hover{color:var(--cyber-red);background:rgba(230,0,0,.1);box-shadow:0 0 15px var(--cyber-red-glow)}.sidebar a:hover::before{transform:scaleY(1)}@media (max-width:768px){.sidebar{width:85vw;max-width:350px;right:-85vw}.sidebar.open{right:0}}.overlay{position:fixed;inset:0;background:rgba(0,0,0,.45);display:none;z-index:1500}.overlay.show{display:block}.hero{height:100vh;min-height:500px;background:radial-gradient(circle at center,#2a0a0a 0,var(--cyber-carbon) 70%);display:flex;align-items:center;justify-content:center;position:relative;margin-top:64px}.hero-content{position:relative;z-index:1;color:var(--cyber-text);text-align:center;padding:20px}.hero-content h1{font-size:3rem;margin-bottom:1rem;line-height:1.2;text-transform:uppercase;font-weight:700;letter-spacing:3px}.hero-content p{font-size:1.2rem;color:var(--cyber-text-muted);margin-bottom:3rem;font-weight:300;letter-spacing:1px}.scroll-indicator{position:absolute;bottom:30px;left:50%;transform:translateX(-50%);animation:bounce 2s infinite;color:var(--cyber-text-muted);font-size:24px;cursor:pointer;opacity:.7}@keyframes bounce{0%,100%,20%,50%,80%{transform:translate(-50%,0)}40%{transform:translate(-50%,-10px)}60%{transform:translate(-50%,-5px)}}.hero-welcome{position:relative;width:100%;min-height:100vh;background:linear-gradient(135deg,#f05,#301);overflow:hidden;display:flex;align-items:center;justify-content:center;margin-top:75px}.hero-background{position:absolute;inset:0;background:url('../img/hero-bokeh.webp') center/cover;opacity:.7;z-index:0}.hero-content-wrapper{position:relative;z-index:2;max-width:1400px;width:100%;display:flex;align-items:center;justify-content:center;gap:30px;padding:0 80px}.hero-text{text-align:left;color:#000;flex:0 0 auto}.hero-text h1{font-family:'Great Vibes',cursive;font-size:clamp(3.5rem, 7vw, 6rem);line-height:1.2;margin:0;font-weight:400;text-shadow:2px 2px 4px rgba(0,0,0,.1)}.hero-silhouette{height:auto;max-height:400px;width:auto;object-fit:contain;flex-shrink:0}@media (max-width:1200px){.hero-content-wrapper{padding:0 60px;gap:25px}.hero-silhouette{max-height:350px}}@media (max-width:1024px){.hero-content-wrapper{padding:0 40px;gap:20px}.hero-silhouette{max-height:300px}.hero-text h1{font-size:clamp(3rem, 8vw, 5rem)}}@media (max-width:768px){.hero-welcome{min-height:90vh}.hero-content-wrapper{flex-direction:column;padding:40px 20px;gap:30px}.hero-text{text-align:center}.hero-silhouette{max-height:280px}.hero-text h1{font-size:clamp(2.8rem, 12vw, 4.5rem)}}@media (max-width:480px){.hero-content-wrapper{padding:30px 15px}.hero-silhouette{max-height:220px}.hero-text h1{font-size:clamp(2.2rem, 12vw, 3.2rem)}}.btn{display:inline-block;padding:18px 50px;background:var(--cyber-red);color:var(--cyber-text);border-radius:4px;text-decoration:none;margin:8px;cursor:pointer;transition:all .3s ease;font-weight:700;font-size:1rem;text-transform:uppercase;letter-spacing:1px;border:1px solid var(--cyber-red);box-shadow:0 0 15px var(--cyber-red-glow)}.btn:hover{background:var(--cyber-red-hover);box-shadow:0 0 25px rgba(230,0,0,.7);transform:translateY(-3px)}.carousel-section{padding:60px 20px;text-align:center;max-width:1400px;margin:0 auto;background:var(--cyber-carbon)}.carousel-section h2{color:var(--cyber-text);font-size:2rem;margin-bottom:2rem;text-transform:uppercase;letter-spacing:2px}.carousel-wrapper{position:relative;max-width:1200px;margin:0 auto}.carousel-container{display:flex;gap:16px;overflow-x:hidden;padding:12px 0;scroll-behavior:smooth;-ms-overflow-style:none;scrollbar-width:none}.carousel-container::-webkit-scrollbar{display:none}.carousel-card{width:260px;flex-shrink:0;border-radius:8px;background:var(--cyber-dark);border:1px solid var(--cyber-border);border-top:3px solid var(--cyber-red);overflow:hidden;transition:transform .3s,box-shadow .3s;display:flex;flex-direction:column}.carousel-card:hover{transform:translateY(-5px);box-shadow:0 0 20px rgba(230,0,0,.3),0 10px 30px rgba(0,0,0,.5)}.carousel-card img{width:100%;height:280px;object-fit:cover;background:#f1f1f1;aspect-ratio:9/16;flex-shrink:0}.carousel-card .info{padding:20px 24px;text-align:left;flex-grow:1;display:flex;flex-direction:column;gap:6px}.carousel-card .info h3{margin:0 0 8px 0;font-size:17px;font-weight:600;color:var(--cyber-text)}.carousel-card .info p{margin:0;font-size:14px;line-height:1.5;color:var(--cyber-text-dark)}.carousel-card .info p strong{color:var(--cyber-text);font-weight:600}.carousel-card .info .desc{margin-top:8px;font-size:13px;color:var(--cyber-text-muted);line-height:1.5;display:-webkit-box;-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.carousel-btn{position:absolute;top:50%;transform:translateY(-50%);background:var(--cyber-red);color:var(--cyber-text);border:1px solid var(--cyber-red);padding:12px;border-radius:50%;cursor:pointer;z-index:10;transition:all .3s;box-shadow:0 0 10px var(--cyber-red-glow)}.carousel-btn.left{left:-20px}.carousel-btn.right{right:-20px}.carousel-btn:hover{background:var(--cyber-red-hover);transform:translateY(-50%) scale(1.1);box-shadow:0 0 20px rgba(230,0,0,.6)}.grid-section{padding:60px 20px;max-width:1400px;margin:0 auto;background:var(--cyber-carbon)}.grid-section h2{color:var(--cyber-text);font-size:2rem;margin-bottom:2rem;text-transform:uppercase;letter-spacing:2px;text-align:center}.grid{display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}.grid-card,.profile-card{background:var(--cyber-dark);border:1px solid var(--cyber-border);border-top:3px solid var(--cyber-red);border-radius:8px;overflow:hidden;cursor:pointer;transition:transform .3s ease,box-shadow .3s ease;box-shadow:0 2px 8px rgba(0,0,0,.3)}.grid-card:hover,.profile-card:hover{transform:translateY(-5px);box-shadow:0 0 20px rgba(230,0,0,.3),0 10px 30px rgba(0,0,0,.5)}.grid-card img,.profile-card img{width:100%;height:280px;object-fit:cover;background:#f1f1f1;transition:transform .3s ease;aspect-ratio:9/16}.grid-card:hover img,.profile-card:hover img{transform:scale(1.05)}.grid-card .info,.profile-card .info{padding:20px 24px}.grid-card h3,.profile-card h3{margin:0 0 8px 0;font-size:17px;font-weight:600;color:var(--cyber-text)}.grid-card p,.profile-card p{margin:4px 0;font-size:14px;color:var(--cyber-text-dark);line-height:1.5}.grid-card .desc,.profile-card .desc{margin-top:8px;font-size:14px;color:var(--cyber-text-muted);line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.footer{text-align:center;padding:20px;color:#666}.admin-main{padding:100px 30px 30px 30px}.admin-panel{max-width:1000px;margin:0 auto}.admin-actions{margin:12px 0;display:flex;gap:12px}#btnNew:hover,#btnNewCiudad:hover,#btnRefresh:hover,#btnRefreshCiudades:hover{transform:translateY(-2px);box-shadow:0 6px 20px rgba(0,0,0,.25)}.modal-overlay{background:rgba(0,0,0,.85);backdrop-filter:blur(4px);position:fixed;top:0;left:0;right:0;bottom:0;z-index:9999;display:flex;align-items:center;justify-content:center}.modal-overlay.hidden{display:none}.modal-content{background:var(--cyber-dark)!important;border:none;box-shadow:0 10px 40px rgba(0,0,0,.6);color:var(--cyber-text);border-radius:12px;max-width:600px;width:90%;max-height:85vh;overflow-y:auto;position:relative;padding:24px}.close-modal{position:absolute;top:16px;right:16px;background:var(--cyber-red);color:#fff;border:none;width:32px;height:32px;border-radius:50%;font-size:24px;line-height:1;cursor:pointer;transition:all .3s;z-index:10}.close-modal:hover{background:var(--cyber-red-hover);transform:rotate(90deg);box-shadow:0 0 15px var(--cyber-red-glow)}.form-card{background:0 0!important;border:none!important;padding:0!important;margin:0!important}.form-card h3{color:var(--cyber-red)!important;text-transform:uppercase;letter-spacing:1px;border-bottom:none;padding-bottom:12px;margin-bottom:20px;font-size:20px;font-weight:700}.form-card label{color:var(--cyber-text)!important;font-weight:600;display:block;margin-bottom:8px;font-size:14px}.form-card small{color:var(--cyber-text-muted)!important;font-size:12px;display:block;margin-top:4px}.form-card input[type=email],.form-card input[type=file],.form-card input[type=number],.form-card input[type=password],.form-card input[type=tel],.form-card input[type=text],.form-card select,.form-card textarea{background:var(--cyber-carbon)!important;color:var(--cyber-text)!important;border:1px solid rgba(255,255,255,.08)!important;padding:12px!important;width:100%;border-radius:6px;font-family:Montserrat,sans-serif;font-size:14px;transition:all .3s}.form-card input:focus,.form-card select:focus,.form-card textarea:focus{border-color:var(--cyber-red)!important;outline:0;box-shadow:0 0 8px var(--cyber-red-glow)}.form-card input[type=file]{padding:8px!important}.form-card .small-btn,.small-btn{background:var(--cyber-red);color:#fff;border:1px solid var(--cyber-red);padding:10px 20px;border-radius:6px;cursor:pointer;transition:all .3s;text-transform:uppercase;font-weight:600;font-size:13px;letter-spacing:.5px}.form-card .small-btn:hover,.small-btn:hover{background:var(--cyber-red-hover);box-shadow:0 0 15px var(--cyber-red-glow);transform:translateY(-2px)}.form-card button[style*="background: #666"],.form-card button[style*="background:#666"]{background:var(--cyber-carbon)!important;border:1px solid var(--cyber-border)!important;color:var(--cyber-text)!important}.form-card button[style*="background: #666"]:hover,.form-card button[style*="background:#666"]:hover{background:var(--cyber-dark)!important;border-color:var(--cyber-text-muted)!important;box-shadow:none!important;transform:translateY(-1px)}.small-btn[data-action=delete-ciudad],.small-btn[data-action=delete],.small-btn[style*="background:#c33"]{background:#8b0000!important;border-color:#8b0000!important}.small-btn[data-action=delete-ciudad]:hover,.small-btn[data-action=delete]:hover,.small-btn[style*="background:#c33"]:hover{background:#a00000!important;box-shadow:0 0 15px rgba(139,0,0,.6)!important}.admin-actions a:hover{transform:translateY(-2px);box-shadow:0 6px 16px rgba(17,153,142,.4)!important}#btnNew:active,#btnNewCiudad:active,#btnRefresh:active,#btnRefreshCiudades:active{transform:translateY(0)}.profile-row{display:flex;align-items:center;gap:12px;padding:10px;border:1px solid #eee;margin-bottom:8px}.profile-row img{width:72px;height:72px;object-fit:cover;border-radius:6px}.small-btn{padding:8px 10px;background:var(--brand);color:#fff;border:none;border-radius:6px;cursor:pointer;transition:background .3s,transform .2s}.small-btn:hover{background:#b8001c;transform:translateY(-2px)}.contact-info,.form-card,.form-section{background:var(--cyber-dark)!important;color:var(--cyber-text)!important}.contact-item{background:var(--cyber-carbon)!important;border:1px solid var(--cyber-border)}.contact-header h1,.contact-info h2,.form-section h2{color:var(--cyber-red)!important}.contact-item h3{color:var(--cyber-text)!important}.contact-header p,.contact-item p,.form-section p{color:var(--cyber-text-muted)!important}.form-group label{color:var(--cyber-text)!important}.form-card input[type=number],.form-card input[type=password],.form-card input[type=text],.form-card select,.form-card textarea,.form-group input,.form-group select,.form-group textarea{background:var(--cyber-carbon);color:var(--cyber-text);border:1px solid rgba(255,255,255,.08);padding:12px;width:100%;border-radius:4px}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--cyber-red);outline:0;box-shadow:0 0 8px var(--cyber-red-glow)}.submit-btn{background:var(--cyber-red)!important;color:#fff!important;text-transform:uppercase;font-weight:700;letter-spacing:1px;box-shadow:0 0 15px var(--cyber-red-glow);transition:all .3s ease}.submit-btn:hover{background:var(--cyber-red-hover)!important;transform:translateY(-2px);box-shadow:0 0 25px rgba(230,0,0,.6)}.skeleton{background:linear-gradient(90deg,#1a1a1a 25%,#222 50%,#1a1a1a 75%);background-size:200% 100%;animation:loading 1.5s infinite;border-radius:4px}@keyframes loading{0%{background-position:200% 0}100%{background-position:-200% 0}}.modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.5);display:flex;justify-content:center;align-items:center;z-index:2000;opacity:1;transition:opacity .3s ease}.modal-overlay.hidden{display:none;opacity:0;pointer-events:none}.modal-content{background:#fff;padding:24px;border-radius:8px;width:90%;max-width:500px;max-height:90vh;overflow-y:auto;position:relative;box-shadow:0 4px 20px rgba(0,0,0,.2);animation:slideIn .3s ease}@keyframes slideIn{from{transform:translateY(-20px);opacity:0}to{transform:translateY(0);opacity:1}}.close-modal{position:absolute;top:12px;right:16px;background:0 0;border:none;font-size:28px;cursor:pointer;color:#666}.close-modal:hover{color:#000}@media (min-width:1400px){.grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:24px}.carousel-section,.grid-section{padding:50px 40px}}@media (min-width:768px) and (max-width:1399px){.grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:20px}.carousel-section,.grid-section{padding:40px 24px}}@media (max-width:767px){.grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:16px}.carousel-section,.grid-section{padding:30px 16px}.carousel-card img,.grid-card img,.profile-card img{height:240px}.hero{height:80vh;min-height:400px}.hero-content h1{font-size:2rem}.hero-content p{font-size:1rem}.carousel-btn.left{left:6px}.carousel-btn.right{right:6px}}@media (max-width:480px){.grid{grid-template-columns:1fr 1fr;gap:12px}.carousel-card img,.grid-card img,.profile-card img{height:220px}.carousel-card{width:200px}.carousel-card .info,.grid-card .info,.profile-card .info{padding:16px 18px}.hero{height:70vh;min-height:350px}.hero-content h1{font-size:1.8rem;letter-spacing:2px}.hero-content p{font-size:.9rem}.btn{padding:14px 40px;font-size:.9rem}}.footer{background:var(--cyber-black);color:var(--cyber-text);padding:32px 24px 16px;margin-top:60px;border-top:2px solid var(--cyber-red)}.footer-content{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:32px;margin-bottom:20px}.footer-section h3{font-size:24px;margin:0 0 12px 0;font-weight:700;color:var(--cyber-text)}.footer-section h3 span{color:var(--cyber-red)}.footer-section h4{font-size:18px;margin:0 0 16px 0;font-weight:600;color:var(--cyber-text);text-transform:uppercase;letter-spacing:1px}.footer-section p{margin:0;color:var(--cyber-text-muted);font-size:14px}.footer-contact,.footer-links{list-style:none;padding:0;margin:0}.footer-contact li,.footer-links li{margin-bottom:12px}.footer-contact a,.footer-links a{color:var(--cyber-text-dark);text-decoration:none;transition:all .3s;display:inline-block}.footer-contact a:hover,.footer-links a:hover{color:var(--cyber-red);transform:translateX(5px);text-shadow:0 0 10px var(--cyber-red-glow)}.footer-bottom{border-top:1px solid var(--cyber-border);padding-top:16px;text-align:center}.footer-bottom p{margin:0;font-size:14px;color:var(--cyber-text-muted)}@media (max-width:768px){.footer{padding:20px 16px 12px}.footer-content{grid-template-columns:1fr;gap:20px}.footer-section{text-align:center}.footer-section h3{font-size:20px;margin-bottom:10px}.footer-section h4{font-size:16px;margin-bottom:12px}.footer-contact a:hover,.footer-links a:hover{transform:translateX(0)}}.pagination{display:flex;justify-content:center;align-items:center;gap:8px;margin:40px 0 20px;flex-wrap:wrap}.page-btn{min-width:44px;height:44px;padding:8px 12px;background:#fff;border:2px solid #ddd;border-radius:8px;font-size:16px;font-weight:600;color:#333;cursor:pointer;transition:all .3s}.page-btn:hover{border-color:#e60023;color:#e60023;transform:translateY(-2px);box-shadow:0 4px 8px rgba(230,0,35,.2)}.page-btn.active{background:linear-gradient(135deg,#e60023 0,#c9001f 100%);border-color:#e60023;color:#fff;cursor:default;box-shadow:0 4px 12px rgba(230,0,35,.3)}.page-btn.active:hover{transform:translateY(0)}@media (max-width:768px){.page-btn{min-width:40px;height:40px;font-size:14px;padding:6px 10px}.pagination{gap:6px;margin:30px 0 15px}}.breadcrumbs{background:#f9f9f9;padding:12px 20px;border-bottom:1px solid #e0e0e0}.breadcrumb-list{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;align-items:center;max-width:1200px;margin:0 auto}.breadcrumb-item{display:flex;align-items:center;font-size:14px;color:#666}.breadcrumb-item a{color:#e60023;text-decoration:none;transition:color .3s}.breadcrumb-item a:hover{color:#c9001f;text-decoration:underline}.breadcrumb-item.active{color:#333;font-weight:500}.breadcrumb-item:not(:last-child)::after{content:"›";margin:0 8px;color:#999;font-size:16px}@media (max-width:768px){.breadcrumbs{padding:10px 16px}.breadcrumb-item{font-size:13px}.breadcrumb-item:not(:last-child)::after{margin:0 6px}}.skip-link{position:absolute;top:-40px;left:0;background:#000;color:#fff;padding:8px 16px;text-decoration:none;z-index:100;font-weight:700}.skip-link:focus{top:0}