#header .logo{border-left:8px solid #5fbb7c!important}
#header.header-scrolled{background:rgba(0,0,0,0.7);padding:8px 0}
#footer .footer-top .footer-info h3{font-weight:700;color:yellow!important;border-left:8px solid #5fbb7c!important}
#footer .footer-top .footer-info h3 a{color:#fff}a{color:#5fbb7c}.back-to-top{background:#5fbb7c}
#intro .btn-get-started{text-shadow:1px 1px 1px #555;background:#5fbb7c}
#intro .btn-get-started:hover{text-shadow:none;color:#5fbb7c!important}
#featured-services p{margin-top:40px;font-size:16px}
#portfolio .portfolio-item{min-height:710px!important}
#portfolio .portfolio-info{min-height:440px!important}
#portfolio .portfolio-item .portfolio-info h4{white-space:wrap;color:red!important;line-height:20px}
#portfolio .portfolio-item .portfolio-info p,
#portfolio .portfolio-item .portfolio-info div,
#portfolio .portfolio-item .portfolio-info ul li{padding:0;margin:0;color:Gray;font-weight:500;font-size:14px!important;text-align:left!important}
#portfolio .portfolio-item .portfolio-info ul li{font-size:90%;margin-top:6px}
#portfolio::before{content:'';position:absolute;left:0;right:0;top:0;bottom:0;background:rgba(255,255,255,0.88);z-index:9}
#facts{background:url("../res/bg/facts.png") center top no-repeat fixed;background-size:cover;padding:60px 0 0 0;position:relative}
#facts .img-fluid{border-radius:25px;margin-bottom:20px;box-shadow:0 0 10px #555}
#facts::before{content:'';position:absolute;left:0;right:0;top:0;bottom:0;background:rgba(255,255,255,0.78);z-index:9}
#portfolio{background:url("../res/bg/product.png") center top no-repeat fixed;background-size:cover;padding:60px 0 0 0;position:relative}
#portfolio::before{content:'';position:absolute;left:0;right:0;top:0;bottom:0;background:rgba(255,255,255,0.80);z-index:9}
#portfolio .container{position:relative;z-index:10;font-size:14px}
#call-to-action{border-top:1px solid #333;border-bottom:1px solid black;background:linear-gradient(rgba(0,142,99,0.9),rgba(0,0,0,0.1)),url(../res/bg/break1.png) fixed center center;background-size:cover;padding:100px 0;text-shadow:1px 1px 3px #333}
#contact{background:linear-gradient(rgba(0,142,99,0.9),rgba(0,0,0,0.1)),url(../res/bg/contact.png) fixed center center;background-size:cover;padding:60px 0}
#contact .container{box-shadow:0 0 10px 0 #333;border-radius:25px;padding:50px;background:rgba(255,255,255,0.80);position:relative;z-index:10}div.vbox-title{font-weight:bold!important}
#skills{background:white}
#clients{background:white}

#tv-video-gallery {
	background: black;
	padding: 60px 0;
}
#tv-video-gallery .tv-video-gallery-row {
	min-height: 270px!important;
	text-align: center;
	width: 100%;
}
#tv-video-gallery .tv-video-gallery-item {
	min-width: 440px!important; 
	min-height: 270px!important;
	padding: 30px 30px 30px 30px;
}
#tv-video-gallery h3{color:#fff;margin-bottom:30px;}
#tv-video-gallery p{width:80%;margin:0 auto 30px auto;color:#fff}


/* ===============================
   Banner cookies
================================= */

#cookie-banner {
  position: fixed;
  bottom: 0;
  left: 0;
  width: 100%;
  background: rgba(0,0,0,0.95);
  color: #fff;
  padding: 20px;
  z-index: 9999;
  display: none;
}

#cookie-banner a {
  color: #5fbb7c;
  text-decoration: underline;
}

#cookie-banner .cookie-content {
  max-width: 900px;
  margin: 0 auto;
  text-align: center;
}

.cookie-buttons {
  margin-top: 15px;
  display: flex;
  justify-content: center;
  gap: 15px;
}

.cookie-btn {
  padding: 8px 20px;
  border-radius: 4px;
  border: none;
  cursor: pointer;
  font-size: 0.95rem;
  min-width: 110px;
}

.cookie-btn.accept {
  background-color: #5fbb7c;
  color: #fff;
}

.cookie-btn.reject {
  background-color: #777;
  color: #fff;
}

/* Botón flotante configuración */
#open-cookie-settings {
  position: fixed;
  bottom: 15px;
  left: 15px;  
  background: #5fbb7c;
  color: #fff;
  border: none;
  padding: 8px 15px;
  border-radius: 4px;
  cursor: pointer;
  font-size: 0.85rem;
  z-index: 9998;
  display: none;
}


#open-cookie-settings:hover {
  background: #4ea76b;
}


/* ===============================
   GALERÍA BLOQUEADA
================================= */

.video-gallery-wrapper {
  position: relative;
  transition: all 0.4s ease;
}

.video-gallery-wrapper.collapsed {
  height: 220px;
  overflow: hidden;
}

/* Overlay interno */
.video-consent-overlay {
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,0.85);
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  color: #fff;
  text-align: center;
  font-size: 24px;
  z-index: 10;
  padding: 20px;
}

.video-consent-overlay button {
  margin-top: 15px;
  background: #5fbb7c;
  border: none;
  padding: 8px 20px;
  color: #fff;
  border-radius: 4px;
  cursor: pointer;
}

.video-consent-overlay button:hover {
  background: #4ea76b;
}

/* Cuando está aceptado */
.video-gallery-wrapper:not(.collapsed) .video-consent-overlay {
  display: none;
}

/* ===============================
   Modal Política Cookies
================================= */

#cookie-policy-modal {
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,0.75);
  display: none;
  justify-content: center;
  align-items: center;
  z-index: 10000;
  padding: 20px;
}

.cookie-policy-content {
  background: #fff;
  max-width: 700px;
  width: 100%;
  max-height: 80vh;
  overflow-y: auto;
  padding: 30px;
  border-radius: 6px;
  position: relative;
}

#close-cookie-policy {
  position: absolute;
  top: 10px;
  right: 15px;
  font-size: 24px;
  cursor: pointer;
}

/* ===============================
   Modal Política Privacidad
================================= */

#privacy-policy-modal {
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,0.75);
  display: none;
  justify-content: center;
  align-items: center;
  z-index: 10000;
  padding: 20px;
}

.privacy-policy-content {
  background: #fff;
  max-width: 700px;
  width: 100%;
  max-height: 80vh;
  overflow-y: auto;
  padding: 30px;
  border-radius: 6px;
  position: relative;
}

#close-privacy-policy {
  position: absolute;
  top: 10px;
  right: 15px;
  font-size: 24px;
  cursor: pointer;
}

/* ===============================
   Modal Aviso Legal
================================= */

#legal-notice-modal {
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,0.75);
  display: none;
  justify-content: center;
  align-items: center;
  z-index: 10000;
  padding: 20px;
}

.legal-notice-content {
  background: #fff;
  max-width: 700px;
  width: 100%;
  max-height: 80vh;
  overflow-y: auto;
  padding: 30px;
  border-radius: 6px;
  position: relative;
}

#close-legal-notice {
  position: absolute;
  top: 10px;
  right: 15px;
  font-size: 24px;
  cursor: pointer;
}

/* ===============================
   Lista con letras y cierre parentesis
================================= */

.lista-letras {
  list-style: none;
  counter-reset: letra;
  padding-left: 0;
}

.lista-letras li {
  counter-increment: letra;
  margin-bottom: 5px;
}

.lista-letras li::before {
  content: "(" counter(letra, lower-alpha) ") ";
  font-weight: bold;
}