/* v20260223-011 */
/* TRV Review Stars Styles - v1.3 (2026-02-23) */
/*  
TRV Visitors Template trv-001
Path: /templates/visitors/trv-001/css/style.css
Scope: Header (top nav + slider)
Compatibility: Bootstrap 5 + Font Awesome
*/   
.active_icon{
	opacity: 1;	
} 
.inactive_icon{
	opacity: 0.8;	
}
.border-0{
	border-width: 0px;
}
.border-1{
	border-width: 1px;
}
.border-2{
	border-width: 2px;
}
.border-3{
	border-width: 3px;
}
.border-4{
	border-width: 4px;
}
.border-5{
	border-width: 5px;
}

.border-color-0{
	border-color: #000000;
	opacity: 0.1;
}
.border-color-1{
	border-color: #000000;
	opacity: 0.1;
}
.border-color-2{
	border-color: #000000;
	opacity: 0.2;
}
.border-color-3{
	border-color: #000000;
	opacity: 0.3;
}
.border-color-4{
	border-color: #000000;
	opacity: 0.4;
}
.border-color-5{
	border-color: #000000;
	opacity: 0.5;
}
.border-color-6{
	border-color: #000000;
	opacity: 0.6;
}
.border-color-7{
	border-color: #000000;
	opacity: 0.7;
}
.border-color-8{
	border-color: #000000;
	opacity: 0.8;
}
.border-color-9{
	border-color: #000000;
	opacity: 0.9;
}
.border-color-10{
	border-color: #000000;
	opacity: 1;
}
/* Subrayado por opacidad (DOM siempre presente) */
.lineActive{
	color: black;
	line-height: 5px;
	height: 5px; 
	margin-top: 0px;
	opacity: 1;
	padding: 0px; 
	width: 100%; 
}
.lineInactive{ 
	color: transparent;
	line-height: 5px;
	height: 5px; 
	margin-top: 0px; 
	opacity: 0; 
	padding: 0px;
	width: 100%; 
}
.textLight{
	font-weight: 200;
}
:root{
    --trv-nav-height: 88px;
    --trv-slider-height: 25vw;
    --trv-searchBox-height: 200px;

    --trv-text: #111;
    --trv-border: rgba(0,0,0,.08);

    --trv-link: #111;
    --trv-link-hover: #000;

    --trv-bg: #fff;
}

#trv-header{
    width: 100%;
}

#trv-top-nav{
    height: var(--trv-nav-height);
    width: 100%;
    background: var(--trv-bg);
    border-bottom: 1px solid var(--trv-border);
    position: relative;
    z-index: 50;
}

#trv-topmenu-container{
    height: var(--trv-nav-height);
}

#trv-logo img{
    display: block;
    width: auto;
}
.line{height: 1px;}
.line-1{height: 1px;}
.line-2{height: 2px;}
.line-3{height: 3px;}
.line-4{height: 4px;}
.line-5{height: 5px;}
.line-6{height: 6px;}
.line-7{height: 7px;}
.line-8{height: 8px;}
.line-9{height: 9px;}
.line-10{height: 10px;}


.bg-gray	{background-color: #d1d3d4;}
/*
.bg-red		{background-color: #e42c0d;}
.bg-orange{background-color: #ff8800;}
.bg-yellow{background-color: #0077FF;}
.bg-green	{background-color: #00aa00;}
.bg-gold	{background-color: #bdaf7f;}
.bg-darkgreen{background-color: #3a952e;}
*/

.bg-red				{background-color: #eb4a34;}
.bg-orange		{background-color: #ef8c3e;}
.bg-yellow		{background-color: #f7d045;}
.bg-green			{background-color: #89cd41;}
.bg-darkgreen	{background-color: #51b380;}

.bg-0	{background-color: #ebebeb;}
/*
.bg-1			{background-color: #e42c0d;}
.bg-2			{background-color: #ff8800;}
.bg-3			{background-color: #0077FF;}
.bg-4			{background-color: #00aa00;}
.bg-5			{background-color: #bdaf7f;}
*/
.bg-1	{background-color: #eb4a34;}
.bg-2	{background-color: #ef8c3e;}
.bg-3	{background-color: #f7d045;}
.bg-4	{background-color: #89cd41;}
.bg-5	{background-color: #51b380;}

.bg-6	{background-color: #3a952e;}



/*
.icon-bg-1	{background-color: #e42c0d; color: #ffffff!important;}
.icon-bg-2	{background-color: #ff8800; color: #ffffff!important;}
.icon-bg-3	{background-color: #0077FF; color: #ffffff!important;}
.icon-bg-4	{background-color: #00aa00; color: #ffffff!important;}
.icon-bg-5	{background-color: #bdaf7f; color: #ffffff!important;}
*/

.icon-bg-1	{background-color: #eb4a34; color: #ffffff!important;}
.icon-bg-2	{background-color: #ef8c3e; color: #ffffff!important;}
.icon-bg-3	{background-color: #f7d045; color: #ffffff!important;}
.icon-bg-4	{background-color: #89cd41; color: #ffffff!important;}
.icon-bg-5	{background-color: #51b380; color: #ffffff!important;}

.bg-label-0	{background-color: #ebebeb; color: #ffffff!important;}
/*
.bg-label-1	{background-color: #e42c0d; color: #ffffff!important;}
.bg-label-2	{background-color: #ff8800; color: #ffffff!important;}
.bg-label-3	{background-color: #0077FF; color: #ffffff!important;}
.bg-label-4	{background-color: #00aa00; color: #ffffff!important;}
.bg-label-5	{background-color: #bdaf7f; color: #ffffff!important;}
*/
.bg-label-6	{background-color: #3a952e; color: #ffffff!important;}


.bg-label-1	{background-color: #eb4a34; color: #ffffff!important;}
.bg-label-2	{background-color: #ef8c3e; color: #ffffff!important;}
.bg-label-3	{background-color: #f7d045; color: #ffffff!important;}
.bg-label-4	{background-color: #89cd41; color: #ffffff!important;}
.bg-label-5	{background-color: #51b380; color: #ffffff!important;}


.label-0	{background-color: #ebebeb; color: #ffffff!important;}
.label-1	{background-color: #e42c0d; color: #ffffff!important;}
.label-2	{background-color: #ff8800; color: #ffffff!important;}
.label-3	{background-color: #0077FF; color: #ffffff!important;}
.label-4	{background-color: #00aa00; color: #ffffff!important;}
.label-5	{background-color: #bdaf7f; color: #ffffff!important;}
.label-6	{background-color: #3a952e; color: #ffffff!important;}

.bg-gold	{background-color: #bdaf7f;}
.bg-gray-0{background-color: #f1f2f2;}
.bg-gray-1{background-color: #e6e7e8;}
.bg-gray-2{background-color: #d1d3d4;}
.bg-gray-3{background-color: #9da0a2;}
.bg-gray-4{background-color: #8b8e91;}
.bg-gray-5{background-color: #7a7d80;}
.bg-gray-6{background-color: #6a6d6f;}
.bg-gray-7{background-color: #595c5e;}
.bg-gray-8{background-color: #47494b;}
.bg-gray-9{background-color: #323335;}
.bg-black {background-color: #000000;}

.size-1{font-size: 1px;}
.size-2{font-size: 2px;}
.size-3{font-size: 3px;}
.size-4{font-size: 4px;}
.size-5{font-size: 5px;}
.size-6{font-size: 6px;}
.size-7{font-size: 7px;}
.size-8{font-size: 8px;}
.size-9{font-size: 9px;}
.size-10{font-size: 10px;}

.gold	 {color: #bdaf7f;}
.gray-0{color: #f1f2f2;}
.gray-1{color: #e6e7e8;}
.gray-2{color: #d1d3d4;}
.gray-3{color: #9da0a2;}
.gray-4{color: #8b8e91;} 
.gray-5{color: #7a7d80;}
.gray-6{color: #6a6d6f;}
.gray-7{color: #595c5e;}
.gray-8{color: #47494b;}
.gray-9{color: #323335;}
.gray-10{color: #222222;}

.red			{color: #eb4a34;}
.orange		{color: #ef8c3e;}
.yellow		{color: #f7d045;}
.green		{color: #89cd41;}
.darkgreen{color: #51b380;}


/* ====== Paleta requerida: black-5, black-7, black-10 ====== */
/* Si estas clases ya existen en tu template, puedes omitir este bloque. */
.black		{color: #000000;}
.black-05 { color: rgba(0, 0, 0, 0.05); }
.black-1 { color: rgba(0, 0, 0, 0.1); }
.black-15 { color: rgba(0, 0, 0, 0.15); }
.black-2 { color: rgba(0, 0, 0, 0.2); }
.black-25 { color: rgba(0, 0, 0, 0.25); }
.black-3 { color: rgba(0, 0, 0, 0.3); }
.black-35 { color: rgba(0, 0, 0, 0.35); }
.black-4 { color: rgba(0, 0, 0, 0.4); }
.black-45 { color: rgba(0, 0, 0, 0.45); }
.black-5 { color: rgba(0, 0, 0, 0.5); }
.black-55 { color: rgba(0, 0, 0, 0.55); }
.black-6 { color: rgba(0, 0, 0, 0.6); }
.black-65 { color: rgba(0, 0, 0, 0.65); }
.black-7 { color: rgba(0, 0, 0, 0.7); }
.black-75 { color: rgba(0, 0, 0, 0.75); }
.black-8 { color: rgba(0, 0, 0, 0.8); }
.black-85 { color: rgba(0, 0, 0, 0.85); }
.black-9 { color: rgba(0, 0, 0, 0.9); }
.black-95 { color: rgba(0, 0, 0, 0.95); }
.black-10 { color: rgba(0, 0, 0, 1); }

.strong{font-weight:bold !important;}
.stronger{font-weight:bolder !important;}
.bold{font-weight:bold !important;}
.bolder{font-weight:bolder !important;}
.lighter{font-weight: lighter !important;}
.light{font-weight:300 !important;}

.trv-top-link{
    color: var(--trv-link);
    text-decoration: none;
		margin-left: 15px;
		margin-right: 15px;
    font-weight: 500;
    letter-spacing: .4px;
    line-height: 1;
    display: inline-flex;
    align-items: center;
    min-height: 38px;
}

.trv-top-link:hover,
.trv-top-link:focus{
    color: var(--trv-link-hover);
		font-weight: 500 !important;
    letter-spacing: .025px !important;
    text-decoration: underline;
    text-underline-offset: 6px;
}

#trv-mobile-links{
    background: var(--trv-bg);
    border-bottom: 1px solid var(--trv-border);
}

.trv-burger-btn{
    height: 38px;
    width: 44px;
    padding: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 8px;
}

#trv-searchBox{
    width: 100%;
    height: var(--trv-searchBox-height);
    overflow: hidden;
    position: relative;
		display: flex;
		align-items: center;
		justify-content: center;
}

#trv-slider{
    width: 100%;
    height: var(--trv-slider-height);
    overflow: hidden;
    position: relative;
}

#trv-slider > *{
    height: 100%;
}

.trv-nav-scrolled #trv-top-nav{
    box-shadow: 0 10px 22px rgba(0,0,0,.08);
}
.w-100{width: 100%;}
@media (max-width: 991.98px){
    #trv-topmenu-container{
        padding-left: 16px !important;
        padding-right: 16px !important;
    }
}
/* SLIDER: clases requeridas por slider.php (extraidas del style.css original) */
.image-cover{
  background-position:center;
  background-size:cover;
  background-repeat:no-repeat;
}

.link{
  cursor:pointer;
}

.text-active{
  color:#0b5582;
}

.text-white{
  color:#ffffff;
}

.white{
  color:#ffffff;
}

.text-shadow{
  text-shadow:0px 0px 3px #000000;
}

/* Si el carousel llegara a usar <img>, evita deformaciones */
.carousel img{
  width:100% !important;
  min-width:100 !important;
  height:auto;
}

.profileHeader{
	width: 100%;
}

.profileHeaderText{
	width: 100%;
}

.profilePicture{  
	padding-bottom: 100% !important;

	/* redonda */
	border-radius: 50% !important;

	/* imagen como background */
	background-position: center !important;
	background-size: cover !important;
	background-repeat: no-repeat !important;

	/* aire blanco alrededor */
	background-color: #ffffff !important;
	box-sizing: border-box !important;

	/* borde gris */
	border: 1px solid #c6c6c6 !important;

	/* sombra */
	box-shadow: 0 0 10px rgba(0,0,0,0.25) !important;

	/* evita que el “aire” se salga del círculo */
	overflow: hidden !important;
}

/* PROPORCIONES DEL SLIDER (ancho 100%, alto segun ratio) */
/* Desktop: 1:4 => height = 25vw */
@media (min-width: 992px){
  .slider{
    height:25vw;
  }
	
	.profilePicture{
		width: 25% !important;
		padding: 10px !important;
	}
}

/* Tablets: 1:3 => height = 33.333vw */
@media (min-width: 576px) and (max-width: 991px){
  .slider{
    height:33.333vw;
  }
	
	
	
	.profileHeaderText{
		text-align: center;
	}
	
	.profilePicture{
		width: 30% !important;
		padding: 7px !important;
	}
	:root{
    --trv-slider-height:33.333vw;
	}
}

/* Mobiles: 1:2 => height = 50vw */
@media (max-width: 575px){
  .slider{
    height:50vw;
  }
	
	.profileHeaderText{
		text-align: center;
	}
	
	.profilePicture{
		width: 100% !important;
		padding: 6px !important;
	}
	
	:root{
    --trv-slider-height:50vw;
	}
}

/* ====== Contenedor principal ====== */
.trv-boxNews {
	width: 100%;
	border-radius: 10px;
	display: block;
}

/* Hover sobre el box: afecta imagen y textos, sin JS */
.trv-boxNews:hover .trv-boxNews-img {
	transform: scale(1.06);
}

.trv-boxNews:hover .trv-boxNews-title,
.trv-boxNews:hover .trv-boxNews-titleLink,
.trv-boxNews:hover .trv-boxNews-preview {
	color: rgba(0, 0, 0, 1);
}

/* ====== Imagen 4:3, 100% ancho, zoom suave 1.5s ====== */
.trv-boxNews-imgLink {
	display: block;
	text-decoration: none;
}

.trv-boxNews-imgFrame {
	position: relative;
	display: block;
	width: 100%;
	overflow: hidden;
}

/* Ratio 4:3 sin style inline */
.trv-boxNews-imgFrame::before {
	content: "";
	display: block;
	padding-top: 75%;
}

.trv-boxNews-img {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	display: block;
	object-fit: cover;
	transform: scale(1);
	border-radius: 10px;
	transition: transform 1.5s ease;
}

/* ====== Título: <h3>, 3 líneas, elipsis multilínea real ====== */
.trv-boxNews-header {
	margin-top: 0.5rem;
}

.trv-boxNews-title {
	margin: 0;
	font-size: 1.15rem;
	line-height: 1.25;
	transition: color 0.35s ease;
}

.trv-boxNews-titleLink {
	color: inherit;
	text-decoration: none;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
	overflow: hidden;
}

.trv-boxNews-titleLink:focus,
.trv-boxNews-titleLink:hover {
	text-decoration: none;
}

/* ====== Fecha y Área: <h5>, 1 línea, elipsis ====== */
.trv-boxNews-meta {
	margin: 0.35rem 0 0 0;
	font-size: 0.75rem;
	line-height: 1.2;
}

.trv-boxNews-metaText {
	display: block;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

/* ====== Preview: 90 chars lógico, 3 líneas, elipsis multilínea real, padding-right ====== */
.trv-boxNews-preview {
	margin: 0.45rem 0 0 0;
	font-size: 0.98rem;
	line-height: 1.35;
	padding-right: 0.75rem; /* requerido: margen interno derecho vía CSS */
	transition: color 0.35s ease;

	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
	overflow: hidden;
}
/* =========================
   HEADINGS – MOBILE / TABLET / DESKTOP
   ========================= */

h1 {
    font-size: 2.0rem;
    line-height: 1.25;
    font-weight: 700;
}

h2 {
    font-size: 1.7rem;
    line-height: 1.3;
    font-weight: 700;
}

h3 {
    font-size: 1.45rem;
    line-height: 1.35;
    font-weight: 600;
}

h4 {
    font-size: 1.25rem;
    line-height: 1.4;
    font-weight: 600;
}

h5 {
    font-size: 1.1rem;
    line-height: 1.45;
    font-weight: 500;
}

h6 {
    font-size: 1.0rem;
    line-height: 1.5;
    font-weight: 500;
}

h7 {
    font-size: 0.8rem;
    line-height: 1.0;
    font-weight: 500;
}

h8 {
    font-size: 0.6rem;
    line-height: 0.9;
    font-weight: 300;
}

@media (min-width: 768px) {
    h1 { font-size: 2.4rem; }
    h2 { font-size: 2.0rem; }
    h3 { font-size: 1.7rem; }
    h4 { font-size: 1.45rem; }
    h5 { font-size: 1.2rem; }
    h6 { font-size: 1.05rem; }
    h7 { font-size: 1.0rem; }
    h8 { font-size: 0.9rem; }
}

@media (min-width: 1200px) {
    h1 { font-size: 2.8rem; }
    h2 { font-size: 2.3rem; }
    h3 { font-size: 1.9rem; }
    h4 { font-size: 1.6rem; }
    h5 { font-size: 1.3rem; }
    h6 { font-size: 1.1rem; }
    h7 { font-size: 1.05rem; }
    h8 { font-size: 1.0rem; }
}


/* TRV - Review (Write a Review) - módulo específico
   Ubicación: templates/visitors/trv-001/css/review.css
   Reglas: sin estilos inline, sin <style> embebido.
*/

.trv-review-wrap{
	padding-left: 0;
	padding-right: 0;
}

.trv-review-header p{
	margin-top: 0;
}

.trv-entity-card{
	border-radius: 14px;
	border: 1px solid rgba(0,0,0,0.08);
	box-shadow: 0 6px 18px rgba(0,0,0,0.05);
}

.trv-entity-title{
	font-size: 1.1rem;
	font-weight: 600;
	line-height: 1.3;
}

.trv-entity-subtitle{
	color: #6c757d;
	margin-top: 0.15rem;
}

.trv-entity-meta{
	margin-top: 0.5rem;
	color: #495057;
}

.trv-entity-meta-k{
	color: #6c757d;
}

.trv-entity-photo{
	max-height: 140px;
	object-fit: cover;
	border: 1px solid rgba(0,0,0,0.08);
}

.trv-entity-logo{
	max-height: 90px;
	object-fit: cover;
	border: 1px solid rgba(0,0,0,0.08);
	background: #fff;
	padding: 0.25rem;
}

.trv-entity-placeholder{
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	min-height: 90px;
	border-radius: 10px;
	background: rgba(0,0,0,0.04);
	color: #6c757d;
	font-size: 0.9rem;
}

.trv-rating-group{
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 0.65rem 0;
	border-bottom: 1px solid rgba(0,0,0,0.06);
}

.trv-rating-label{
	font-size: 0.95rem;
	color: #212529;
	margin-right: 0.75rem;
}

.trv-rating-stars{
	display: flex;
	flex-direction: row-reverse;
	justify-content: flex-start;
	align-items: center;
	gap: 6px;
}

.trv-rating-input{
	position: absolute;
	opacity: 0;
	width: 1px;
	height: 1px;
	overflow: hidden;
}

.trv-star{
	display: inline-block;
	width: 30px;
	height: 30px;
	cursor: pointer;
	background-color: rgba(0,0,0,0.18);

	-webkit-mask-image: url("/images/icons/star/star.png");
	-webkit-mask-repeat: no-repeat;
	-webkit-mask-position: center;
	-webkit-mask-size: contain;

	mask-image: url("/images/icons/star/star.png");
	mask-repeat: no-repeat;
	mask-position: center;
	mask-size: contain;

	transition: background-color 120ms ease-in-out;
}

.trv-rating-stars .trv-star:hover,
.trv-rating-stars .trv-star:hover ~ .trv-star{
	background-color: #00b67a;
}

.trv-rating-stars .trv-rating-input:checked ~ .trv-star{
	background-color: #00b67a;
}

.trv-zero{
	font-size: 0.9rem;
	color: #6c757d;
	cursor: pointer;
	padding: 0 0.25rem;
	user-select: none;
}

.trv-review-actions{
	display: flex;
	align-items: center;
	justify-content: flex-start;
}
.ranking-label	{
	vertical-align: middle !important;
	/*background-color: #bdaf7f !important;*/
	height: 30px !important;
	width: 110px !important;
	padding-top: 6px !important;
	font-size: 1.0rem !important;
}
.form-group{
	
	width: 100% !important;	
	
}

.trv-rank-field{
	
	width: 100% !important;	
	
}

/* opcional para marcar inválidos sin cambiar layout */
.trv-invalid {
	outline: 2px solid #dc3545;
	outline-offset: 2px;
}

.no-resize{
	resize: none;
}

.border-none{
	border: none !important;	
}

.trv-searchbox{
    width:100%;
}

.trv-searchbox__inner{
    width:100%;
}

.trv-searchbox__control{
    display:flex;
    flex-wrap:nowrap; /* bullet-proof: evita saltos de línea dentro del control */
    align-items:stretch;
    width:100%;
    max-width: 980px; /* Ajuste visual (solo aplica si el contenedor es mas ancho) */
    margin: 0 auto;
    background:#ffffff;
    border-radius:10px;
    box-shadow: 0 10px 25px rgba(0,0,0,.10);
    overflow:hidden; /* redondeo real en edges internos */
}

/* Dropdown (Bootstrap 4 custom-select) */
.trv-searchbox__select{
    border:0;
    border-right:1px solid rgba(0,0,0,.08);
    border-radius:0;
    height:56px;
    min-width: 180px;
    padding-left: 18px;
    padding-right: 42px;
    background-color:#fff;

    /* Bootstrap (.custom-select) impone width:100%: en un flex-row eso oculta input/boton por overflow:hidden */
    width:auto !important;
    max-width:none !important;

    /* Permitir shrink en nav estrecho */
    flex: 0 1 auto;
}

/* Input */
.trv-searchbox__input{
    border:0;
    border-radius:0;
    height:56px;
    padding-left: 18px;
    padding-right: 18px;
    font-size: 16px;

    /* Bullet-proof: anula col-7 / col-md-8 y hace que el input tome el espacio restante */
    flex: 1 1 auto !important;
    min-width: 0;
    width: auto !important;
    max-width: none !important;
}

.trv-searchbox__input:focus{
    box-shadow:none;
}

/* Submit button (square area, same height) */
.trv-searchbox__btn{
    width:56px;
    min-width:56px;
    height:56px;
    border:0;
    border-radius:0;
    /* background:#2f47c7; /* azul similar al ejemplo */
    color:#ffffff;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:0;
}

.trv-searchbox__btn:focus{
    box-shadow:none;
    outline: none;
}

.trv-searchbox__btn:hover{
    filter: brightness(0.95);
}

/* Responsive */
@media (max-width: 767.98px){
    .trv-searchbox__control{
        max-width: 100%;
    }
    .trv-searchbox__select{
        min-width: 140px;
        padding-left: 14px;
    }
}
/* =========================
   TOP NAV: SearchBox dentro de #trv-topmenu-container (bullet-proof)
   Objetivo: que se vean select + input + boton sin comprimir logo/menu,
   y que el searchBox ocupe el espacio disponible entre ambos.
   ========================= */

#trv-topmenu-container{
    display:flex; /* refuerzo (ya viene por Bootstrap .d-flex) */
    align-items:center;
    justify-content:space-between;
    flex-wrap:nowrap;
}

/* Evita que logo y menu se “aprieten” por el buscador */
#trv-logo,
#trv-topmenu-links,
#trv-mobile-menu{
    flex: 0 0 auto;
    flex-shrink: 0;
}

/* El buscador debe absorber el espacio restante, no imponer width:100% como tamaño base */
#topSearchBoxDiv{
    flex: 0.75 1 0%;
    min-width: 0;
    width: auto;
    max-width: none;
    margin-left: 18px;
    margin-right: 18px;
} 

/* En el nav, el control no debe tener tope 980px: debe ocupar todo el espacio disponible */
#topSearchBoxDiv .trv-searchbox__control{
    max-width: none;
    width: 100%;
    margin: 0;
}

/* Asegura que el form y wrappers no fuerzan min-width extra */
#topSearchBoxDiv .trv-searchbox,
#topSearchBoxDiv .trv-searchbox__form,
#topSearchBoxDiv .trv-searchbox__inner{
    width: 100%;
    min-width: 0;
}

/* Layout del footer (estructura) */
.footer{
	position: relative;        /* Contexto de posicionamiento para hijos si aplica */
	display: flex;             /* Layout flex para columnas internas */
	flex-wrap: wrap;           /* Permite wrap cuando falte ancho */
	width: 100%;               /* Equivalente práctico a col-12 */
	justify-content: center;   /* Equivalente a justify-content-center */
	align-items: stretch;      /* Columnas pueden variar de alto sin romper el layout */
	column-gap: 30px;          /* Separación horizontal uniforme entre columnas */
	row-gap: 16px;             /* Separación vertical al wrappear */
	color: #ffffff;            /* Texto blanco global del footer */
}

/* Columnas internas: soporta .footer-col o cualquier col-* de Bootstrap */
.footer > .footer-col,
.footer > [class*="col-"]{
	display: flex;             /* Alineación interna consistente */
	flex-direction: column;    /* Apila contenido dentro de la columna */
	color: inherit;            /* Hereda blanco del footer */
	text-align: left;          /* Texto a la izquierda */
	padding-left: 20px;        /* Margen visual izquierdo */
	padding-right: 20px;       /* Compensación simétrica */
	box-sizing: border-box;    /* Evita desbordes por padding */
}

/* Links legibles */
.footer a{
	color: inherit;            /* Mantiene blanco */
	text-decoration: none;     /* Sin subrayado por defecto */
}

/* Mobile: apila columnas */ 
@media (max-width: 575.98px){
	.footer{
		justify-content: flex-start; /* Evita centrado raro en una sola columna */
	}
	.footer > .footer-col,
	.footer > [class*="col-"]{
		flex: 1 1 100%;         /* Cada columna al 100% */
	}
}

  

/* style.css - TRV Rank Mobile Nav (updated) */
.trv-star-img{
	width: 30px;
	height: 30px;
	padding: 5px;
}
@media (max-width: 767.98px){
		 
		.form-check-label{
			font-size: 3vw !important;	
		}
	
		.ranking-label	{ 
			vertical-align: middle !important;
			/*background-color: #bdaf7f !important;*/
			height: 35px !important;
			width: 110px !important;
			padding-top: 9px !important;
			font-size: 1.0rem !important;
		}
		.trv-star-img{
			width: 35px;
			height: 35px;
			padding: 5px;
		}
    #trv-rank-fields {
        position: relative;
        overflow: hidden;
        transition: height 0.3s ease;
    }

    .trv-rank-field {
        position: absolute;
        top: 0; left: 0; width: 100%;
        opacity: 0;
        visibility: hidden;
        pointer-events: none;
        transition: opacity 0.50s ease, visibility 0.50s;
        z-index: 1;
    }

    .trv-rank-field.trv-rank-active {
        display: block;
        z-index: 2;
    }

    .trv-rank-field.trv-rank-visible {
        opacity: 1;
        visibility: visible;
        pointer-events: auto;
    }

    .trv-rank-mobile-nav {
        width: 100%;
        display: flex;
        justify-content: center;
        margin-top: 20px;
    }

    .trv-rank-mobile-nav-inner {
        display: flex;
        gap: 10px;
        padding: 8px;
    }

    /* Agrupa button + subrayado como un único item flex (evita desalineación) */
    .trv-rank-mobile-nav-item{
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: flex-start;
        width: 52px;
    }

    .trv-rank-mobile-nav-btn {
        width: 52px; 
				height: 52px;
				border-radius:50%;
				border-color: #000000 !important;
				border-width: 2px !important;
				cursor:pointer;
				user-select:none;
				line-height:0;
				font-size:0;
				vertical-align:middle;
        background: transparent;
        transition: background 0.3s ease;
    }

    .trv-rank-mobile-nav-btn.trv-rank-mobile-nav-active {
        background: rgba(0,0,0,0.08);
    }
    
    .trv-rank-mobile-nav-btn svg {
        width: 26px; height: 26px;
    }

    /*
     * Colores persistentes para los íconos de navegación en función del rating asignado a cada tab.
     * Estas clases se aplican dinámicamente desde postForm.php. Para cada rating (1 a 5) se define
     * un color idéntico al utilizado por las etiquetas (label-1..label-5). Aplicamos el color
     * directamente a todos los elementos dentro del SVG para sobrescribir los atributos fill
     * definidos en el ícono. Se usa !important para garantizar precedencia sobre el atributo fill.
     */
    .trv-rank-mobile-nav-btn.trv-rank-nav-color-1 svg * {
        fill: #ffffff !important;
				background-color: #e42c0d;
    }
    .trv-rank-mobile-nav-btn.trv-rank-nav-color-2 svg * {
        fill: #ffffff !important;
				background-color: #ff8800;
    }
    .trv-rank-mobile-nav-btn.trv-rank-nav-color-3 svg * {
        fill: #ffffff !important;
				background-color: #0077FF;
    }
    .trv-rank-mobile-nav-btn.trv-rank-nav-color-4 svg * {
        fill: #ffffff !important;
				background-color: #00aa00;
    }
    .trv-rank-mobile-nav-btn.trv-rank-nav-color-5 svg * {
        fill: #ffffff !important;
				background-color: #bdaf7f;
    }
	
		.trv-rank-mobile-nav-btn.trv-rank-nav-color-1 {
        fill: #ffffff !important;
				background-color: #e42c0d;
    }
    .trv-rank-mobile-nav-btn.trv-rank-nav-color-2 {
        fill: #ffffff !important;
				background-color: #ff8800;
    }
    .trv-rank-mobile-nav-btn.trv-rank-nav-color-3 {
        fill: #ffffff !important;
				background-color: #0077FF;
    }
    .trv-rank-mobile-nav-btn.trv-rank-nav-color-4 {
        fill: #ffffff !important;
				background-color: #00aa00;
    }
    .trv-rank-mobile-nav-btn.trv-rank-nav-color-5 {
        fill: #ffffff !important;
				background-color: #bdaf7f;
    }
}

.review-collapsed {
    height: 80px;
    transition: height 0.2s ease;
}
.review-expanded {
    height: 180px;
}

/* =========================
   Review Start Transition (mobile)
   ========================= */

.trv-fade-anim{
	transition: opacity 0.5s ease;
}

.trv-fade-hidden{
	opacity: 0;
	pointer-events: none;
}

.trv-fade-shown{
	opacity: 1;
	pointer-events: auto;
}

/* Colapso real (quita espacio) + fade: para profileDiv */
.trv-collapse-anim{
	overflow: hidden;
	max-height: 2000px;
	transition: opacity 0.5s ease, max-height 0.5s ease, margin 0.5s ease, padding 0.5s ease;
}

.trv-collapse-hidden{
	opacity: 0;
	max-height: 0;
	pointer-events: none;

	margin-top: 0 !important;
	margin-bottom: 0 !important;
	padding-top: 0 !important;
	padding-bottom: 0 !important;
}

.trv-collapse-shown{
	opacity: 1;
	max-height: 2000px;
	pointer-events: auto;
}
.form-check-label{
	font-size: 14px;	
}
