:root{--brand-color:#ff6f00;--glass-bg:rgba(255,255,255,.05);--glass-border:rgba(255,255,255,.2);--glass-shadow:rgba(0,0,0,.15)}
body.orange{--brand-color:#ff6f00}body.green{--brand-color:#28a745}body.blue{--brand-color:#0d6efd}body.purple{--brand-color:#6f42c1}
body{font-family:'Inter',sans-serif;scroll-behavior:smooth;background:#121212;color:#fff;overflow-x:hidden}
body::-webkit-scrollbar{width:0;background:transparent}
h1,h2,h3,h4,h5{font-weight:700}
a{color:inherit!important;text-decoration:none!important;transition:color .3s}
a:hover,a:focus{color:var(--brand-color)!important}
aside{position:sticky;top:90px;height:fit-content}
aside ul li a{display:block;padding:6px 0;transition:.3s}
aside ul li a:hover{color:var(--brand-color);padding-left:6px}
aside ul li:last-child{border-bottom:none}
aside a:hover{color:var(--brand-color)}
footer{display:flex;justify-content:center;align-items:center;padding:1rem;background:var(--glass-bg)}
footer p{margin:0}
footer a{color:var(--brand-color);margin:0 .5rem}
footer a:hover{color:#fff}
footer i{font-size:1.5rem}

#lightbox-overlay {position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: rgba(0,0,0,0.9); display: flex; justify-content: center; align-items: center; z-index: 1000; opacity: 0; transition: opacity 0.3s ease;}
#lightbox-overlay.show {opacity: 1;}
#lightbox-img {max-width: 90%; max-height: 80%; border-radius: 8px; box-shadow: 0 0 20px rgba(0,0,0,0.5); transition: transform 0.3s ease;}
#lightbox-close, #lightbox-prev, #lightbox-next {position: absolute; color: #fff; font-size: 40px; cursor: pointer; user-select: none;}
#lightbox-close {top: 20px; right: 30px;}
#lightbox-prev {left: 30px; top: 50%; transform: translateY(-50%);}
#lightbox-next {right: 30px; top: 50%; transform: translateY(-50%);}
#lightbox-prev:hover, #lightbox-next:hover, #lightbox-close:hover {color: #f0f0f0;}

.body {background:radial-gradient(circle at 20% 30%, color-mix(in srgb, var(--brand-color) 25%, transparent), transparent 40%),radial-gradient(circle at 80% 70%, color-mix(in srgb, var(--brand-color) 15%, transparent), transparent 50%),linear-gradient(135deg, #010101 0%, #050505 40%, #010101 100%);}
.container-custom{max-width:1500px;margin:0 auto;padding:0 20px}
.text-brand {color:var(--brand-color);}
/* >>>>>>>>>>>>>>>>>> BOTON LOAD MORE >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> */
.three-dots-spinner{display:inline-flex;justify-content:center;align-items:center;gap:6px;height:24px;}
.three-dots-spinner div{width:8px;height:8px;background-color:currentColor;border-radius:50%;animation:wave 1s infinite ease-in-out;}
.three-dots-spinner div:nth-child(1) {animation-delay: 0s;}
.three-dots-spinner div:nth-child(2) {animation-delay: 0.2s;}
.three-dots-spinner div:nth-child(3) {animation-delay: 0.4s;}
@keyframes wave {0%, 60%, 100% {transform: scale(1);}30% {transform: scale(1.5);}}
/* >>>>>>>>>>>>>>>>>> SECTION GENERAL >>>>>>>>>>>>>>>>>>>>>>>>>>>>>> */
.section{padding:6rem 1rem}
.section-gradient{padding:6rem 1rem;background:linear-gradient(135deg,var(--brand-color) 0%,#555 50%,#111 100%)}
.section-title-line{width:80px;height:3px;background:var(--brand-color);margin:15px auto 40px}
/* >>>>>>>>>>>>>>>>>> GLASS GENERAL >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> */
.glass-card-bounce{border-radius:15px;padding:1.5rem;background:var(--glass-bg);border:1px solid var(--glass-border);box-shadow:0 4px 16px var(--glass-shadow);backdrop-filter:blur(5px);transition:.3s}
.glass-card-bounce:hover{transform:translateY(-5px)}
.glass-card-shadow{border-radius:20px;border:1px solid rgba(255,255,255,.2);box-shadow:0 0 15px 5px var(--brand-color);transition:.3s}
.glass-card-shadow:hover{transform:translateY(-5px)}
.glass-card-static{border-radius:20px;padding:2rem;background:var(--glass-bg);border:1px solid var(--glass-border);box-shadow:0 4px 16px var(--glass-shadow);backdrop-filter:blur(5px);transition:.3s}
/* >>>>>>>>>>>>>>>>>> BOTON BRAND >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> */
.btn-brand{background:var(--brand-color);color:#fff !important;transition:.3s}
.btn-brand:hover{background:#fff;color:var(--brand-color) !important;transform:scale(1.05)}
.btn-brand.dropdown-toggle:hover span,.btn-brand.dropdown-toggle:hover i{color:var(--brand-color)!important}
/* >>>>>>>>>>>>>>>>>> BOTON FILTRAR >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> */
.box-btn-filter{display:flex;justify-content:center;flex-wrap:wrap;gap:10px}
.btn-filter{background:var(--glass-bg);border:1px solid var(--glass-border);color:#fff;border-radius:30px;padding:8px 18px;transition:.3s}
.btn-filter:hover{background:var(--brand-color);transform:translateY(-2px);color: white !important;}
.btn-filter.active{background:var(--brand-color);border-color:var(--brand-color)}
/* >>>>>>>>>>>>>>>>>> BOTON COMPARTIR >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> */
.box-btn-share{display:flex;justify-content:center;gap:12px}
.btn-share{width:45px;height:45px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.15);font-size:1.2rem;transition:.3s}
.btn-share:hover{background:var(--brand-color);transform:translateY(-3px);color:#fff!important}
/* >>>>>>>>>>>>>>>>>> NAVBAR >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> */
.navbar{backdrop-filter:blur(5px);background:var(--glass-bg)!important;box-shadow:0 2px 10px var(--glass-shadow);border-bottom:2px solid var(--brand-color)}
/* >>>>>>>>>>>>>>>>>> HERO >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> */
.hero{min-height:94vh;position:relative;padding-top:55px}
.hero-img{height:94vh;object-fit:cover;filter:brightness(.6)}
.hero-caption {bottom: 35%;text-align: center;}
.hero-caption p {color: #262525;text-shadow: 0 0 5px #fff, 0 0 10px #fff, 0 0 15px #fff; /* resplandor blanco */}
.hero-caption h1 {font-size: 3rem;color: #262525;text-shadow: 0 0 2px #fff, 0 0 4px #fff, 0 0 6px #fff; /* resplandor blanco */}
.hero-progress{position:absolute;bottom:0;left:0;width:100%;height:4px;background:rgba(255,255,255,.2)}
.hero-progress .progress-bar{background:var(--brand-color);width:0;transition:width linear}
/* >>>>>>>>>>>>>>>>>> HERO INNER >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> */
.hero-inner {margin-top:55px;height:450px;position:relative;display:flex;align-items:center;}
.hero-inner img {position:absolute;width:100%;height:100%;object-fit:cover;filter:brightness(.5);}
.hero-inner .content {position:relative;z-index:2;text-align:center;}
.hero-inner::after{content:"";position:absolute;left:0;bottom:0;width:100%;height:50%;background:linear-gradient(to bottom,rgba(0,0,0,0) 0%,#000 100%);z-index:1}
/* >>>>>>>>>>>>>>>>>> NOSOTROS >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> */
.box-img-nosotros {height:auto;overflow:hidden;border-radius:15px;border:3px solid var(--brand-color);display:flex;align-items:center;justify-content:center;}
.img-nosotros {width:100%;height:auto;object-fit:cover;border-radius:15px;transition:transform .3s;}
.img-nosotros:hover {transform:scale(1.05);}
/* >>>>>>>>>>>>>>>>>> CONTACTENOS >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> */
.box-img-contacto {height:auto;overflow:hidden;display:flex;align-items:center;justify-content:center;}
.img-contacto {width: 100%;height: 500px;object-fit: cover;border-radius: 15px 15px 0 0 !important;transition: transform 0.3s;}
.contact-item{background:rgba(255,255,255,.05);border-radius:15px;padding:1rem;text-align:center;transition:.3s}
.contact-item:hover{transform:translateY(-3px);box-shadow:0 4px 12px rgba(0,0,0,.25)}
.icon-circle{width:60px;height:60px;background:var(--brand-color);color:#fff;border-radius:50%;margin:auto;display:flex;align-items:center;justify-content:center;font-size:1.5rem;margin-bottom:.5rem}
/* >>>>>>>>>>>>>>>>>> CALL TO ACTION >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> */
.cta-btn{border-radius:50px;transition:.3s}
.cta-btn:hover{transform:scale(1.05)}
/* >>>>>>>>>>>>>>>>>> SERVICIOS >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> */
.border-box-servicios{border-top:5px solid var(--brand-color);border-radius: 10px;overflow: hidden;}
.img-servicios {width:100%;height:250px;object-fit:cover;border-radius: 5px 5px 0 0;display:block;margin-bottom:1rem;}
.title-servicios {font-size: 18px;}
/* >>>>>>>>>>>>>>>>>> PRODUCTOS >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> */
.border-box-productos{border-top:5px solid var(--brand-color);border-radius: 10px;overflow: hidden;}
.img-productos {width:100%;height:250px;object-fit:cover;border-radius: 5px 5px 0 0;display:block;margin-bottom:1rem;}
.title-productos {font-size: 18px;}
/* >>>>>>>>>>>>>>>>>> ALBUM >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> */
.box-img-album{aspect-ratio:1/1;overflow:hidden;border-radius:15px;border:3px solid var(--brand-color);display:flex;align-items:center;justify-content:center}
.img-album{width:100%;height:100%;object-fit:cover;border-radius:15px;transition:transform .3s}
.img-album:hover{transform:scale(1.05)}
/* >>>>>>>>>>>>>>>>>> INTERESES >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> */
.box-img-intereses {height:200px;overflow:hidden;border-radius:15px;display:flex;align-items:center;justify-content:center;}
.img-intereses {width:100%;height:200px;object-fit:cover;border-radius:15px;transition:transform .3s;}
.img-intereses:hover {transform:scale(1.05);}
/* >>>>>>>>>>>>>>>>>> DETALLES IMAGENES >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> */
.box-img-detail {height:350px;overflow:hidden;border-radius:15px;display:flex;align-items:center;justify-content:center;cursor: pointer;}
.img-detail{width: 100%; height: 350px; object-fit: cover; border-radius:15px;transition:transform .3s;}
.img-detail:hover {transform:scale(1.05);}
/* >>>>>>>>>>>>>>>>>> WIDGET >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> */
.widget-title{background:var(--brand-color);color:#fff;text-align:center;padding:.6rem 1rem;font-weight:600;margin:-1.5rem -1.5rem 1rem -1.5rem;border-radius:15px 15px 0 0;}
/* >>>>>>>>>>>>>>>>>> RECIENTES >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> */
.recent-item{display:flex;gap:10px;align-items:center;margin-bottom:12px;transition:.3s}
.recent-item img{width:60px;height:60px;object-fit:cover;border-radius:10px}
.recent-item p{margin:0;font-size:.9rem}
.recent-item small{color:#aaa;font-size:.75rem}
.recent-item:hover{transform:translateX(4px)}
/* >>>>>>>>>>>>>>>>>> WIDGET CATEGORIAS >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> */
.widget-list li {border-bottom: 1px dotted rgba(255, 255, 255, 0.3);}
.widget-list li:last-child {border-bottom: none;}
/* >>>>>>>>>>>>>>>>>> WIDGET PROMOCIONES >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> */
.box-img-promocion {overflow: hidden;border-radius: 10px;animation: glowPulse 2s infinite ease-in-out;}
.img-promocion {width: 100%;height: auto;border-radius: 10px;position: relative;transition: transform 0.5s ease;} 
.img-promocion:hover {transform:scale(1.05);}
@keyframes glowPulse{0%{box-shadow:0 0 0 transparent}50%{box-shadow:0 0 5px #fff,0 0 10px var(--brand-color),0 0 15px var(--brand-color)}100%{box-shadow:0 0 0 transparent}}
/* >>>>>>>>>>>>>>>>>> BLOG >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> */
.blog-post{max-width:720px;margin:40px auto;}
.post-title{font-size:2rem;font-weight:700;line-height:1.3;margin-bottom:10px;}
.post-meta{font-size:.85rem;display:flex;align-items:center;gap:10px;color:#6c757d;margin-bottom:25px;}
.post-meta .dot{font-size:1rem;opacity:.6;}
.post-content{font-size:1.1rem;line-height:1.8;color:white;}
.post-content p{margin-bottom:1.2em;}

/* >>>>>>>>>>>>>>>>>> MODAL >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> */

.modal-custom{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.6);display:flex;align-items:flex-start;justify-content:center;opacity:0;visibility:hidden;transition:all .3s ease;z-index:1100;overflow-y:auto;padding:2rem 1rem}
.modal-custom.active{opacity:1;visibility:visible}
.modal-box{background:#2c3e50;color:#fff;border-radius:1rem;padding:1.5rem;max-width:500px;width:90%;box-shadow:0 10px 25px #000a;transform:scale(.8);transition:transform .3s ease}
.modal-custom.active .modal-box{transform:scale(1)}
.modal-lg{max-width:800px}
.modal-custom::-webkit-scrollbar{width:0;background:transparent}
.modal-custom{scrollbar-width:none;-ms-overflow-style:none}